diff --git a/project/hardware/t_data/gen-data.ipynb b/project/hardware/t_data/gen-data.ipynb new file mode 100644 index 0000000..864f039 --- /dev/null +++ b/project/hardware/t_data/gen-data.ipynb @@ -0,0 +1,126 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "50f27832-a7b1-4fac-b9b8-988606608b84", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "80a10edc-520c-4b05-af86-29dbb440717e", + "metadata": {}, + "outputs": [], + "source": [ + "l = 51\n", + "t = np.linspace(0, 50e-9, l)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "70c787d1-fa7a-4d43-95ec-73f9929f357b", + "metadata": {}, + "outputs": [], + "source": [ + "omega1 = 2e8\n", + "phi1 = 1\n", + "a1 = 0.6\n", + "omega2 = 2e8\n", + "phi2 = 2\n", + "a2 = 0.4" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "8730fd74-6b30-4b92-87af-7205d5732ac9", + "metadata": {}, + "outputs": [], + "source": [ + "V1 = a1*np.sin(omega1*t + phi1)\n", + "V2 = a2*np.sin(omega2*t + phi2)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "b66882de-6ed3-4931-8049-33c27da52528", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEFCAYAAADgylzDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABIHklEQVR4nO3dd3xX1f348df5fLI32YsQCAEyIIywQdlDQMSJe9M6Wq21Vav1q21trVt/tbVo3XsisociS0bYJGEHSELIICSE7HF+f9zQogZI8rmfez/jPB+PPMi4uecd/eSde9/3nPcRUkoURVEU12cxOwBFURTFGCrhK4qiuAmV8BVFUdyESviKoihuQiV8RVEUN+FhdgDnEh4eLhMTE80OQ1EUxals2bKlTEoZ0dbXHDbhJyYmkpWVZXYYiqIoTkUIceRcX1MlHUVRFDehEr6iKIqbUAlfURTFTaiEryiK4iZUwlcURXETuiR8IcQUIcReIcQBIcTD5zjmaiFEjhAiWwjxoR7jKoqiKO1n87RMIYQVeBWYCBQAm4UQ86WUOWcdkww8AoyUUp4UQkTaOq6iKIrSMXrMwx8CHJBSHgIQQnwMzARyzjrmTuBVKeVJAClliQ7j2k1Tcws5RafYdrSCiEBvJqZG4WlV1S/FtdU1NrMytwQ/bys9wv2JC/HFQ73uXYoeCT8OyD/r4wJg6E+O6QUghFgHWIEnpJRLfnoiIcQcYA5AQkKCDqG1z+n6JrIOl7PlyEmyDp9ke34FtY3N//16ZKA31w5J4LqhCUQF+RgWl6IYoa6xmQ83HuW17w9SUlX/3897WgXdwvzpHu5Pjwh/Zg9OoHu4v4mRKrYyaqWtB5AMjAHigdVCiL5SyoqzD5JSzgXmAmRmZhqyM8uWI+Xc+e4WyqsbsFoEqTFBXDO4K4O6dWFgty7sPX6Kd384wssr9/PqdweYnBbNjcO7MbR7KEIII0JUFLuoa2zmg9ZEX1pVz7AeoTx/dQa+nlYOlVWTV1bNodLT5JVV8/3eUj7ccJQXrunPxNQos0NXOkmPhF8IdD3r4/jWz52tANgopWwE8oQQ+9D+AGzWYfxOW7iziN98up24EF9ent2fgQld8Pf+8X+SuBBfxvWJ4siJat7fcIRPswpYuKuI0cnhvH5TJj6eVpOiV5TOaW6RvL3+MP9adZCy0/UM7xHG/7t2AMN6hP33mMzE0B99T2FFLXe9v4U7383i1+N6ct+EXlgt6oLH2QhbtzgUQngA+4DxaIl+M3CdlDL7rGOmANdKKW8WQoQD24D+UsoT5zpvZmamtFcvHSklc1cf4m+L95DZrQuv35RJF3+vdn1vbUMzH2w8wlOLcrm4VwRzb8zEy0PVORXnIKXkifnZvPPDEUYkhXHf+GSGnpXoz6eusZk/ztvNZ1sKGNM7gpevGUCwn6edI1Y6SgixRUqZ2dbXbM5UUsom4F5gKZALfCqlzBZC/EkIcWnrYUuBE0KIHOA74HfnS/b21NTcwmPzdvO3xXuY3i+G9+8Y2u5kD+DrZeWO0T3426y+rNpbyn0fb6OpucWOESuKfv69+hDv/HCEO0d358M7h7U72QP4eFp55sp+PDUrnXUHypjxj7XkFp2yY7SK3my+wrcXe1zhn65v4lcfbuW7vaXcNSaJ303qjcWG29L/rM3jzwtyuHxAHM9dlWHTuRTF3uZtK+T+T7YzIyOWl6/pb9PrdevRk9z1/hYqaxv55/UDGddH1fUdhV2v8J1FXWMz172+gdX7y/jrrL48NKWPzQn69lHdeXBSL77cVshjX+/GUf94Ksra/WX87vMdDO8RxnNX9bP5tT8woQsLfjWapIgA7v94O4UVtTpFqtiT2yT855ftZWdBJf+8fiDXDdVvyuc9Y3ty15gkPtx4lKcW5qqkrzic7GOV/PL9LSRFBPDajYPw9tBnokFEoDf/vH4gzS2S33yyneYW9dp3dG6R8DfllfPG2jxuGJbA5LRoXc8thOD3k3tzy4hE3libx//79oCu51cUW+SX13DLW5sJ8vHg7VuHEOyr70PWbmH+PDkznU155bz2/UFdz63oz+UTfnV9Ew9+toOuXfx4ZGqKXcYQQvD49FRmDYjjpRX72FVQaZdxFKUjKmsbueWtTdQ3NvP2bUOIDrbPosErBsYxvV8MLy7fx/b8CruMoejD5RP+3xbnkn+yhueuyvjZHHs9WSyCJ2emEervzWPzdqnbW8V0zy/bS15ZNa/flEmvqEC7jSOE4KlZfYkK8uG+j7dxur7JbmMptnHphL96XynvbzjKHaO6M6R76IW/wUZBPp78cXoKOwoq+WjTUbuPpyjnklt0ivc3HOHGYd06NPWys4J9PXnxmv7kl9fwxPzsC3+DYgqXTfiVtY38/vOd9IwM4LeTehs27qUZsYxICuOZJXsoPasviaIY5cziqmBfT34zsZdh4w7pHso9Y3vy+ZYCFuw8Zti4Svu5bMJ/8ptsSk/X8/xVGYa2PxBC8KeZ6dQ2NvO3xbmGjasoZyzcVcTGvHIenNybEL/2LyrUw6/HJ9O/awiPfLlLTdV0QC6Z8JdmH+fLrYXcMyaJjK4hho/fMzKAORf14MuthWw4ZMqCYsVN1TQ08deFuaTGBDF7sHEdZ8/wtFp4eXZ/Wlokj8/bbfj4yvm5XMI/cbqeR7/aRWpMEPeOSzYtjnvHJhPfxZc/zttNQ5NqvaAY47VVBzlWWceTM9NMa27WLcyfu8f2ZOWeErYePWlKDErbXC7hW4RgRFI4L1yTYWpTM18vK09emsb+ktO8uS7PtDgU93H0RA2vrT7EzP6xDE60/ySF87llRCKh/l68uHyfqXEoP+ZyCb+LvxevXDuAPtFBZofC+JQoJqZG8fKK/aqeqdjdXxbm4GERdltv0hH+3h7cdXESa/aXsSmv3OxwlFYul/Adzf/NSAXgT9+oqWqK/azeV8qynGLuHdfTbgusOuqGYd2ICPTmuWV7VcsRB6ESvp3Fd/Hj7jFJLM0uZnehWoGr6K+xuYUnv8mmW5gft4/qbnY4/+XrZeWeMUlsyitn3QE1ecERqIRvgJtGJBLg7cHc1YfMDkVxQZ9m5XOwtJo/TkvVrTGaXmYPSSAm2Ifnl6urfEegEr4Bgn09uX5oAgt2HiO/vMbscBQX0tIieWNNHhnxwYxPiTQ7nJ/x8bRy77iebDtawaq9pWaH4/ZUwjfIrSO7Y7UI3lijrvIV/azILSavrJo7RvdACMfcgOeqQV3pGurLC8v3qat8k6mEb5DoYB9mDYjjk6x8TpxWLRcUfbyxJo+4EF+mpuvb9ltPXh4Wfj0umV2FlSzLKTY7HLemEr6B5lzUg7rGFt794YjZoSguYHt+BZsOl3PbqO54WB37V3nWgDh6hPvz4vJ9tKhOsqZx7FeJi+kZGcjE1Cje+eEwNQ2qhaxim9fXHCLQx4NrBnc1O5QL8rBauG9CMnuOV7Fod5HZ4bgtlfAN9suLe1BR08inm/PNDkVxYvnlNSzeVcR1QxMIsOM+D3qa3i+W5MgA/vHtAVXLN4lK+AYb1C2UwYldeH1NHo3NqseO0jlvrTuMRQhuGZFodijtZrUIbh3ZnT3Hq1SPHZOohG+CX1yURGFFLYt2qVtbpeMqaxv5ZPNRZmTEEhPsa3Y4HTKzfywB3h68v0FtEGQGlfBNMK5PJMmRAbz2/SF1a6t02EebjlLd0Mwdox1nVW17+Xt7cMXAOBbuLFKz1UygS8IXQkwRQuwVQhwQQjx8nuOuEEJIIUSmHuM6K4tFMOeiHuQWnWL1/jKzw1GcSENTC2+vO8zInmGkxQabHU6nXD+sGw3NLXy2pcDsUNyOzQlfCGEFXgWmAqnAtUKI1DaOCwTuAzbaOqYrmNk/juggH15bddDsUBQnsmDnMY6fquOO0T3MDqXTekUFMrR7KB9sPKKmaBpMjyv8IcABKeUhKWUD8DEws43j/gz8HajTYUyn5+Vh4daRifxw6AT7i6vMDkdxFI11sGchrHkBtr0PB1bA8d1QfQLZ0sLra/JIjgxgTK8IsyO1yQ3DupFfXsv3+1W7BSPpMZ8rDjh7jmEBMPTsA4QQA4GuUsqFQojfnetEQog5wByAhATjt2cz2pWD4nlu2V4+zcrn0Wk/uylS3EVjrZbYs+fBviXQcLrNw6TFkxeboqkYeA9CjgYHbaXQHpPTogkP8OaDDUcY29vxegC5KrtP4BVCWIAXgFsudKyUci4wFyAzM9Pl7/XCAryZkBLFl1sL+d3kPqbu0KWYIH8zbPgn7FsKjdXgGwrpV0DaZRA/GKrL4HQxVBVBVTHLN+4g8eQ6hm1/GI69B+P/CL2mOGXi9/KwMHtwV15ddYCCkzXEd/EzOyS3oEeGKQTOXuoX3/q5MwKBdGCVEOIwMAyY7+4Pbs+4OrMrJ6ob+HZPidmhKEZpaYG1L8Kbk+HQKuh3Fdw4Dx7cD5e+AknjwDsQQrtDwjBIm0VFv9v4VcmlfDzwA7jyTWiqg49mw38mQd4as3+iTrl2aAICbdaRYgw9Ev5mIFkI0V0I4QXMBuaf+aKUslJKGS6lTJRSJgIbgEullFk6jO30LuoVQXSQD59mqZW3bqH6BHx4Nax4AlJmwH07YMbLkDQWrOe+4f56+zEamlu4KrObdhdwz0bt+yoL4J3p8P4V2h2BE4kL8WVcnyg+2ZxPQ5NahGgEmxO+lLIJuBdYCuQCn0ops4UQfxJCXGrr+V2d1SK4YlAcq/aWcLxSPc92aUd+gNdGQd73MO15uOpt8Gnf3sufbcknNSaI1NjW462eMOgW+PVWmPQXOLwW3poKlYXnPY+juWFYAmWnG1iSfdzsUNyCLkVjKeUiKWUvKWWSlPKp1s89LqWc38axY+x6dd9QDZ/fBsXOs4fsVYO60iLhi61qXrJLamnRZt28PQ08feCOFTD4jnbX3nOLTrG78BRXZcb//IuevjDiV3DDF3CqSCsTnXCeqb4XJUeQEOrH+xtUB1kjuN5TwtqTcGQ9vHc5nDxsdjTtkhjuz9DuoXyWla9W3rqalmb44jZY+SSkzoQ530NMRodO8fmWAjytgpn94859UOIouGUBNNZoSf/4LhsDN4bFIrh+aAKb8srZe1xNT7Y310v4wfFw41faQ633ZsFp55jne83grhw+UcOmvHKzQ1H0IiUs/QNkfwUTntAetrazhHNGY3ML87YVMiElilB/r/MfHNsfbl0CVi94axoc3dDp0I10VWZXvDws6irfAK6X8AEiU+C6T7Vb3Pcvh7pTZkd0QVPTYwj09uAT9fDWdfzwKmx8DYbfC6N+06npk9/uKeFEdQNXDmqjnNOWiF5w2xLwD4d3L4P9Kzo8ptFC/b24JD2aedsLqWtsNjscl+aaCR8gYShc8x6U5MDH12krGB2Yr5eVGf1jWbSriKq6RrPDUWyV/RUsexRSL4OJf+70aT7LKiAi0JuLO7KyNiQBblsK4T21qZuH13V6fKPMGhhPVV0Tq/aq6cn25LoJHyB5Ilz2Lzi8Br68Q6unOrCrM7tS19jCNztU22SnduQH+PIXkDAcZv0bLJ37NSutque7vSVcPiCu41sYBkTAzQugSzf4/Faocuy9ZEcmhREe4MW8bcfMDsWluXbCB+h3NUx5GnK/gQW/0eqqDiojPpjeUYFqTr4zK92nXVWHJMDsD7VZOZ309fZCmltk27Nz2sM3BK5+Vytpfn4bNDvutpoeVgvT+8Xy7Z4SKmvVHa69uH7CBxh2F4z+LWx9B9a9ZHY05ySE4KrMeLbnV7BPNVRzPlXF8MEV2kPTGz4Hv9BOn0pKyWdZBfTvGkLPyMDOxxSVBtNfhCNr4bu/dP48Bpg1II6G5haWqD1v7cY9Ej7AuD9q9dRv/wJFO8yO5pxmDYjD0yrUnrfOprkJPrleW+163SfQJdGm0+0qrGRvcVX7H9aeT/9rtUVaa1+EPYtsP5+d9IsPpnu4vyrr2JH7JHwhtCsdv3D4co7WodAB/beh2rZCtdzcmax7CQo2w8x/QNxAm0/3WVYB3h4WZmTE2h4bwJS/a/P/v/ollOfpc06dCSGY2T+WDXknKKp0zN9PZ+c+CR+0W+zLXoXSPbDyT2ZHc05XDoqnvLqBtQecYw2B2zu+G1Y9DWmztD43NqprbGb+jmNMTosm2NdThwDRniVc/S4I4NObHHbW2mX945AS5m9XV/n24F4JH6DnBBgyR2tLe2iV2dG0aXRyBMG+nmq2jjNoaoB5v9QekF7yvC6nXJFbTGVtY+cf1p5Ll0SYNReO74TF59yWwlSJ4f707xrCPJXw7cL9Ej7AhCchLBnm3Q21FWZH8zNeHhampEWzPKdYLURxdGue09oYzHgZ/MN0OeW8bceIDvJhRFK4Luf7kd5TYNQDsPVdba2AA7qsfyy5RafUxAU7cM+E7+UHl/8bqo7DIse80pmeEcPp+iZW7VVlHYd1bBusfg76zYY+03Q5ZWVtI6v3lTKtXwxWi502Nhn7KET3g8UPO+Qq9OkZsVgtgnnbnKvzpzNwz4QPEDcILn4Idn0Ku78wO5qfGd4jjDB/L77ZqW5tHVJTPXx1FwREwtSndTvtipxiGppbmNYvRrdz/ozVA6a/pO2m9d1T9hunk8IDvBnVM5yvtx9Tm5zrzH0TPmhz8+MGwYIH4JRjJVYPq4WpfaP5NreEmgbHXTDjtr77K5TmwqX/AN8uup124a4i4kJ8GdA1RLdztil+EAy+HTbN1e5UHMysAXEUVtSy5ehJs0NxKe6d8K0e2kOs5gaHLO1M7xdLbWMzK3NVfxGHkr8J1r8CA2+C5Am6nbayppE1+7VyjjBin9rxj4N/hLYC3cHajkxMjcLX08pXqqyjK/dO+KA1mBr9W9izwOFm7QxODCUy0JtvdjjW3Ydba2rQHvYHxcEkfcshS3OO09gsmdbXjuWcs/kEw+S/alf4WW8aM2Y7+Xt7MCktikW7itR6FB2phA9a+9qQBFjyiEP1G7FaBNP6xbBqXymnVAdNx7D5DTixHy55rsO97S9k4c4iuob60i8+WNfznlf6FdBjrLYupcqxthm8rH8cFTWNfL9PTVzQi0r4oC1KmfSU1kp5y1tmR/Mj0/vF0tDUwvJsx+526BZqyuH7p7UE2Wuyrqc+Wd3AugNlTOsba0w55wwhtP11m+q1Cx4HMio5nDB/L+ZtV2UdvaiEf0bKDEgcrc1aqHGcXacGJoQQF+LLAjVbx3yrnob6Kq0MonNSXpp9nKYWyXR7zs45l7AkrayZ/SUccJwNUzytFqb1i2FFTrGauKATlfDPEEJro1xXqf1iOwghBNP7xbBmfxkVNQ1mh+O+Svdp5ZyBN0NUqu6nX7iriMQwP9Ji9S0Ttduo+yGsJyx80KH6TF3SN4b6pha1HkUnKuGfLTpd6yq4+Q0oyTU7mv+a3i+WphbJkt2OVWN1K8seAy9/bdGSzk6crmf9wRPGzc5pi4c3THsBTubBD/8wJ4Y2DE4MJTzAi0W7VJsRPaiE/1NjHwXvAK2e6SCbpaTHBdEtzI8FO9WL3hQHVsL+pXDRg9pOUjpbkn2c5hbJtL46dcbsrB4XQ+9psO4VhylrWi2CianRfLenRLUZ0YFK+D/lHw5jHoFD38G+JWZHA2hlnRn9Yll/sIzSqnqzw3EvzU2w9FGt8djQX9pliIU7i+gR4U9KjA0bnehl/B+h4TSs0acRnB6mpkdT3dDMmv1lZofi9HRJ+EKIKUKIvUKIA0KIh9v4+gNCiBwhxE4hxEohRDc9xrWbwXdAeC9Y+gdt9oIDmJ4RQ4tE7QZktK3vaCtqJ/5JK3vorLSqng2HTjC9r4nlnLNFpkDGtbDpdahwjE14hieFEezryWJV1rGZzQlfCGEFXgWmAqnAtUKInz7V2gZkSin7AZ8Dz9g6rl1ZPWHK36D8EGx8zexoAOgdFUjPyAC+UWUd49RVai0Uuo2ElEvtMsSS3UW0SK1hmMMY0zo900EmL3haLUxMjWJ5brFahGUjPa7whwAHpJSHpJQNwMfAzLMPkFJ+J6Wsaf1wA6Bzo2876DkBek6ENS9ov/gmO1PW2Xy4nOOVjrl5hctZ/RzUnIDJT+k+DfOMBTuLSI4MoFeUA5RzzgjpCkPuhB0fQskes6MBtLJOVV0T6w+qso4t9Ej4ccDZ934FrZ87l9uBxW19QQgxRwiRJYTIKi11gGlY4x6FugrY8C+zIwFgWr9opIRlOWq2jt1VFmh3dxnXQuwAuwxRfKqOTYfL7dsZs7NG/xa8AhxmZ7hRyeEEeHuweJd67dvC0Ie2QogbgEzg2ba+LqWcK6XMlFJmRkToPxuiw2IHQJ/p8MOrDjFroWdkID0i/NX0TCOseV6bpTXWfqtPF+8qQkrMWWx1IX6hMPLXsHchHN1odjR4e1gZnxLJspzjNDWrsk5n6ZHwC4GuZ30c3/q5HxFCTAAeBS6VUjrGk9D2GPMI1J9ymLnJU9Ki2ZhXzslqtQjLbiqOwtb3YOCNWo8lO1m0+3jrsxkHKuecbdjd4B8JK55wiCnKU9OjOVnTyKY88y++nJUeCX8zkCyE6C6E8AJmA/PPPkAIMQD4N1qyd65ev9Hp2ubUG16DavPrh5PTomlukazc41z/GZ3K6ue0mv3o39ptiBOn68k6XM7k9Gi7jWEzL3+4+PdwdD3sX252NFzcKxJfTyuL1Ey1TrM54Uspm4B7gaVALvCplDJbCPEnIcSZqQ3PAgHAZ0KI7UKI+ec4nWMa8wg01cK6l8yOhH7xwcQE+6iyjr2cPAzbP9BWXAfbb27BitxiWiRMSo2y2xi6GHQLdOkOK5+EFnNLKb5eVsb2iWBpdrHaCauTdKnhSykXSSl7SSmTpJRPtX7ucSnl/Nb3J0gpo6SU/Vvf7DPHzV4iekPfq2DTG1BlbtdKIQST06JZs79UNZSyh9XPgrBqG33b0dLsYuJCfM3rndNeVk8Y9xgU74bdn5sdDVPSYyitqlc7YXWSWmnbXhc/pO2MtfYFsyNhUloU9U0tfK8aSumr/BBs/wgyb4Mg+z1IPV3fxNoDZUxOi3aMxVYXknY5RKXD98+YvjPWuD6ReHlYVG+dTlIJv73CkqD/tdrOQJUFpoYyJDGULn6eLM1WZR1dff+sdkU76n77DrO3lIamFianOXg55wyLResjdGI/5MwzNZQAbw8uSo5g6e7jSAd4kOxsVMLviIt+r81WWP2cqWF4WC1MSIli5Z4StfJQL2UHYOfHWluNQPs+SF2afZxQfy8yE0PtOo6uUmZCeG/ttW9yLX9qejTHKuvYUWD+gkhnoxJ+R3Tppm1cve097eGeiSanaSsPfzh0wtQ4XMbqZ8DqDSPvs+swDU0tfLenhAkpkVgtTlDOOePMVX5JjjY330QTUqLwsAjVW6cTVMLvqIse1B7qrW5z7ZhhRiWH4+dlVWUdPZTug12fae0EAiLtOtT6g2VU1TcxOc2Bp2OeS9rlENpDq+WbWE4J9vNkRM9wFquyToephN9RQbHaVLUdH5vaTdDH08qY3hEsyy6mWU1Rs833fwcPX7tf3YM2O8ffy8rInuF2H0t3Vg9t9tLxnbB/mamhTE2P5mh5DXuOV5kah7NRCb8zRvxK+3f9/zM1jMlp0ZSdrmebmqLWeaX7YPcXMHSOtheCHTW3SJbnFDOmdyQ+nla7jmU3GbMhOMH0q/zxKZEIActzzJ0m7WxUwu+MkK7Qb7bWK/20eVMjx/aJxNMqVFnHFuteAg8fGH6v3Yfann+SstP1THKW2TltOTOLqTBL2yTIJJGBPgzoGqIaCXaQSvidNep+bXOUDf80LYQgH09GJIWzJFvVMjulIh92fgKDbrb71T1o5RxPq2BsH/s+J7C7ATdAYKw2jdVEk9Ki2V14imMVjrPpuqNTCb+zwpMhdaa24XlthWlhTEmPJr+8ltwiVcvssDMN8Qy4updSsjT7OMOTwgny8bT7eHbl0Tqb6eh6OLzWtDAmtralUGWd9lMJ3xajH9A6aW5+w7QQJqREIQSqrNNR1WWw5R3od41WorOzvcVVHDlR4zyLrS5k0M1aJ83vzdu8LikigKQIf1XW6QCV8G0Rk6HtirXhn9BQc+Hj7SAi0JvMbl1Uwu+oDf+CpjoYeb8hwy3dXYwQ/7sqdXqevtrkhbzvIX+TaWFMTI1m46FyKmsaTYvBmaiEb6vRv9W2wdv6rmkhTE6LZs/xKg6XVZsWg1OpO6Vt0p0yAyJ6GTLk0uzjDEzoQmSgjyHjGSLzNvAN1TaLMcmktCiaWiTf7VXtwttDJXxbdRsOCSNg/SvQZM6mJGcW8ahaZjtlvQn1lVpJzgD55TXkFJ1y/FbIHeUdAEN/CfuWQHGOKSH0jw8hItBbvfbbSSV8PYz+LZwq1GZ8mKBrqB99ogPVi749Guu0ElyPsXbbq/anlrX+f3HK1bUXMuRO8PSDdS+bMrzFIpiQEsWqvSXUN5nbydMZqISvh57jIbofrH3RtPaxE1OjyDpSTrna+vD8tn8Ap4sNu7oHWJatbWWYGO5v2JiG8QuFgTdrvfJNWnk+KS2K6oZm1h9UfaUuRCV8PZzZDq/8IOR8bUoIE1OjaJGwMldd5Z9Tc5N2JRo/GBJHGzJkeXUDmw+Xu87D2rYMv0f794dXTRl+RFIY/l5WlmWr1/6FqISvl5QZEJYMa14wZcl537hgooN8VFnnfLK/hIojWj8YgzYe+XZPCS3ShWbntCWkq7Yj3NZ3oMb4Dca9PayM6R2pbRup+kqdl0r4erFYtcUoxbvg4LeGDy+EYEJqJGv2l1HXqGqZP9PSopXcIlKg1xTDhl2ec5yoIG/6xgUbNqYpRt4HjTWwaa4pw09MjaK0qp7tBRWmjO8sVMLXU7+rITDGtM3OJ6ZGU9vYzNr9ZaaM79D2L9N6uY/6jdbb3QB1jc2s3lfGhJQoLM7U+74zIlOg11TY+G9oMH568NjekXhYhCrrXIBK+Hry8IZhd0Heaijcavjww3qEEuDtoco6bVn3stblMf1yw4Zcf7CM2sZm1y7nnG3U/VBbDlvfM3zoYD9PhvUIY7ladXteKuHrbdCt4B1kyjQ1bw8rF/eOYOUe1SP/R/I3aX1fht+jdXs0yPKcYgK8PRieFGbYmKZKGAYJw7UeRc3Gr3ydmBrFwdJqDpScNnxsZ6ESvt58grQViLnz4cRBw4eflBpF2ekGtuerHvn/te5l8O0CA280bMiWFsmK3BIu7hWBt4eT9r7vjJH3Q2U+7P7S8KFVM7ULUwnfHobdBRaP/3VjNNCYM7VM9aLXlO6DPQthyBzwMm4e/PaCCkqr6t2nnHNG8iSITNWeYxk8Wy02xJf0uCBV1jkPXRK+EGKKEGKvEOKAEOLhNr7uLYT4pPXrG4UQiXqM67ACo7WdgbZ9AKeN7fER7OvJ0B6h6irnjPWvaBucDJlj6LDLc4qxWgRjezt57/uOsli0GTslOaZsgzgpNZpt+RWUVNUZPrYzsDnhCyGswKvAVCAVuFYIkfqTw24HTkopewIvAn+3dVyHN+LX0NygzVow2MSUKA6VVnOw1M1rmaeKtHYXA24wZIOTsy3PKWZo91CC/Zy8931npF8BwV1h7UuGDz0xNQopYWWuaqbWFj2u8IcAB6SUh6SUDcDHwMyfHDMTeKf1/c+B8UIYtPLFLOHJ0GcabH4d6o1NvBNaywgr3P0qf+O/oKXpfytBDZJXpj04dLtyzhlWT+2/+dH1hrdO7hMdSHwXX3WHew56JPw44OwmGgWtn2vzGCllE1AJ/GzqghBijhAiSwiRVVpq3l6xuhn1G6ir1FYgGii+ix+pMUHu/aKvq4SstyBtFoR2N3ToMzVkt034AANv0h6UG3yVL4RgYmoUaw+UUV3fZOjYzsChHtpKKedKKTOllJkRERFmh2O7+EzoNkrrMWLwNLWJqVFsOaptmu2Wst7SdiMb8WvDh16eU0xKTBDxXfwMH9thePlrz032LoTSvYYOPSk1moamFlbvc4GLRp3pkfALgbP3iItv/VybxwghPIBgwD1a2428T2udvOtzQ4c9U8v81h1rmU312o5WPcZAbH9Dhz5xup4tR06699X9GUPmgIev9uDcQIMTuxDi5+ned7jnoEfC3wwkCyG6CyG8gNnA/J8cMx+4ufX9K4FvpTShw5gZkie2TlN7WevnYpC02CDiQnzdc3rmzk/g9HHDti8828rWZmkut9lJZ/iHaw/Md3wCp44ZNqyH1cK43pF8u7eEpmbjfuecgc0Jv7Umfy+wFMgFPpVSZgsh/iSEuLT1sP8AYUKIA8ADwM+mbrosIbTEU5pr6DQ1IQQTUiJZe6CU2gY3aqbW0gLrXtH2J+gxxvDhl+cUExvsQ1pskOFjO6QR94Js1jadMdDE1CgqahrZfFgtQDybLjV8KeUiKWUvKWWSlPKp1s89LqWc3/p+nZTyKillTynlECnlIT3GdRrpl2t9XNa+aOiwE1OjqWtsYfV+N6pl7l0IJ/ZrpTSDJ4LVNjSzZn8pE1KjcPVJaO3WJVF7cJ71NtRWGDbsRb0i8PKwqLLOTzjUQ1uXZfXUrnTyN8CRHwwbdmiPUIJ83KiZmpTaH9UuiZB6meHDrz1QRl1ji6rf/9TI+6ChSttL2CD+3h6MTApjee5x3KV63B4q4RtlwI3gF2Zo62RPq4VxfSJZmVvsHrXMw2ugcIuWYKwehg+/IqeYQG8PhnZ3k2Zp7RWTAUnjtAfpjcatgJ2UFk1+eS17jlcZNqajUwnfKF5+MPSXsG8JFGcbNuyktGhO1jSSdcQNaplrXoCAKMi4zvChm1skK3KLGdMnEi8P9Wv1MyPvg+oS2PGRYUOOT4lECNVM7WzqlWmkwXeAp7+hrZPP1DJdfmOIY9vg0Hcw7G7w9DF8+K1HT3KiuoHJaaqc06buF0NMf22KZosxkwgiA33o3zVEJfyzqIRvJL9QyLxVm5N/8oghQwZ4ezCqZzjLcly8lrn2RfAO1lpTm2BZ9nG8rBYu7uUCCwbtQQhtg5TyQ5D7jWHDTkyNYldhJUWVtYaN6chUwjfasLtBWAxtnTwpNYqCk7XkFrloLbPsAOTMh8G3a/sRGExKydLsYkb2DCPQxw2bpbVXyqUQ2kP742zQxcck1VfqR1TCN1pwHGRcA1vfhdPGTJccnxKFELDMVfuEr3vpf9tLmmBvcRVHy2uYlBZtyvhOw2LVavlF2+HgSkOGTIoIoEe4v3suQGyDSvhmGHGftvx/kzGtkyMCvRmU0MU1a5mnjsGOj7UVnQHm9J5fll2MENpDQuUCMq6FwFhY/bwhw51pprbh0AlO1Rm/7aKjUQnfDBG9IGU6bJoL9caUWSalRZF97BQFJ2sMGc8wP7wKsgVG/Mq0EJZmH2dgQhciA41/WOx0PLxh5K+11slH1hsy5MTUKBqbJav2utECxHNQCd8sI1tbJ29525DhJqZq5QaXusqvKde6YqZfoS22MkHByRqyj51Ss3M6YuDN4BcOq58zZLgBCV0I8/dyrdd+J6mEb5b4QZA4WrtCbbJ/C+Pu4f70igpwremZm9+Axmpt9odJziSRM39QlXbw8oPhd2t1/MKtdh/OahGMT4lk1Z4SGprcYAHieaiEb6bRv4WqItj2niHDTUqNZtPhck5WNxgynl01VGsrN3tNgag008JYll1Mr6gAuocbt0G6Sxh8J/gEwxpjavmTUqOpqm/ih0Pu0ZX9XFTCN1OPMRA/BNa8CE32T8KT0qJobpF8u8cFeuRveRtqy7VdxUxysrqBTYfLmaxm53ScTxAM+QXsWQAluXYfblRyOH5eVpZmu+hMtXZSCd9MQsCYh+BUAWz/wO7D9Y0LJjrIx/mnZzbWaquVu18ECcNMC2PlnhKaWySTVDmnc4bdpa08X/OC3Yfy8bQytk8ky7KLaW5x4QWIF6ASvtmSxkPcIO1Fb+dtEIUQTEqL4vt9Tt4jP+stOF0MF5u7rcKy7OPEBPuQHqd633fKmZXnuz/XVuDa2ZS0aMpO17P1qBv0lToHlfDNJoSWuCqPGtJYalJrj/y1B8rsPpZdNNZqC60SR0PiSNPCqG1oZvX+Uiap3ve2GfErsHgastn52D6ReFktLNnt5He4NlAJ3xEkT4TYAdo0NTtf5Q/tEUqgjwfLnLWWueVt7ep+jLlX96v3l1LX2KLq97YKjNYWzW3/ECp/uhW2vgK8PRidHM6S3S7eV+o8VMJ3BELAxQ9BxRHY+aldh/K0WhjfJ5IVztgjv7FW68OSOBoSR5kayrLsYoJ9PRncPdTUOFzCyPu0xXPr/5/dh5qcHk1hRS3Zx07ZfSxHpBK+o+g1RduHdc1z0Nxk16Empmo98rc4W4/8M1f3Fz9kahhNzS2s3FPM+D6ReFrVr5DNunTTWi5seQtOFdl1qAkpUVgtwm3LOurV6ijOXOWXH4LdX9h1qIt7az3yFzvTi76xVqvzJo6G7qNNDWXT4XIqahpVszQ9Xfw7rU/+6mftOkyovxdDu4eyxFlLmjZSCd+R9L4EotK1F70dN4kI8PbgouQIlmYfp8VZpqhteQdOHzf96h60co63h4WLeoWbHYrr6JIIA2+Cre9AeZ5dh5qSHs2BktMcKHHRduHnoRK+I7FY4KLfwYn9kP2VXYea1i+aoso6tuVX2HUcXTTWabX7bqNMv7qXUrI8p5jRyeH4eRm/b65Lu+h3YPGA7/9u12HOrJtY6kptRtpJJXxHk3IpRKTA98/Y9Sp/fEoUnlbB4l32rZnqYmvr1b3JM3MAtudXUFhRy9T0GLNDcT1BMdo2oDs/gdK9dhsmOtiHAQkhblnHVwnf0Vgs2urbsr12nbET5OPJ6OQIFjv6FLXGOm1RWreRpl/dAyzaVYSnVTAhVXXHtItRD4CnH3z3lF2HmZIWza7CStdrF34BNiV8IUSoEGK5EGJ/679d2jimvxDiByFEthBipxDiGlvGdAspM7V5+d/+RXtYaSeX9I2hsKKWnQWVdhvDZllvOszVvZSSRbuOMzo5gmBftZWhXfiHwfB7IOdrOLbdbsOcWT/hbmUdW6/wHwZWSimTgZWtH/9UDXCTlDINmAK8JIQIsXFc12axwMQ/aT12NtpvV6yJKVF4WASLHLWsU3sSVj+jNZlLNP/qfkdBJYUVtVzSV5Vz7Gr4PeATol3w2EliuD99ogNZ6mZlHVsT/kzgndb33wEu++kBUsp9Usr9re8fA0qACBvHdX3dL4LkyVo5o6bcLkME+3kysmc4i3YXOWZZZ83zUFsBE/+sTVs12cKdx/C0alvmKXbkE6ztcXBgORzdYLdhpqRHs/lIOaVV9t+PwlHYmvCjpJRnLg+PA+f9TRBCDAG8gIPn+PocIUSWECKrtFRtR8aEJ6Chyq49w6f1jSG/3AFXHp48ot3d9L8OYvqZHY0q5xhtyBzwj4SVfwY7XYxMSY9GShfbBe4CLpjwhRArhBC723ibefZxUrtEPOf/GSFEDPAecKuUss01/VLKuVLKTCllZkSEugkgKlVLeJvmwsnDdhliYqq28nCho5V1Vv4JhBXGPmp2JIAq5xjOyx8uehCOrIVD39lliN5RgSSG+TneIqwj66Fop11OfcGEL6WcIKVMb+Pta6C4NZGfSeht7qwhhAgCFgKPSintd4/misb8QUt8dqpndvH3YkRSGIt3OVBZp2CL1jJ3xL0QHGd2NMD/Zueoco6BBt0CwV21P/4t+vd9EkIwOT2a9QfKqKy1b9PCdmusg3l3wVe/sMudja0lnfnAza3v3wx8/dMDhBBewFfAu1LKz20cz/0Ex2kbRez6zG6zFi7pG8PhEzXkFjnAykMpYdlj4B+hNdVyAFJKFu4sYlTPcFXOMZKHN4x7DI5tgx0f2mWIqekxNLVIx+ke+8M/tLv5yU/Z5bmVrQn/aWCiEGI/MKH1Y4QQmUKIN1qPuRq4CLhFCLG99a2/jeO6l1H3g28oLP+jXf7qT0qNwiJwjNk6exbC0fUw9g/gHWh2NADsVOUc8/S9GroOheX/pz3A11lGfDBdQ32Zv+OY7ufusMoC7Xldn+mQNM4uQ9iU8KWUJ6SU46WUya2ln/LWz2dJKe9off99KaWnlLL/WW/bdYjdffgEaz1k8lbDgZW6nz4swJthPcJYZHZZp7kRlj8O4b1hwE3mxfETZ8o5aitDE1gscMmzUHMCVv1N99MLIZjRL5b1B09Qdtrk2TrLH9faRE/+q92GUCttnUXmbVqDqRX/Z5eWC5f0jeFQWTX7ik/rfu522/I2lB+ESX8Gq2P0qZFSsmBnESN7hhPsp8o5pojJ0LZC3PQ6FGfrfvpL+8fS3CLNbTNyeK3WJXfk/Vq7aDtRCd9ZeHjB+P+D4t3a6lOdTU6LRphZ1qmr1K7gEkdD8iRzYmjDmXLONFXOMde4P4JPECz6ve5lzT7RQfSKCjCvrNPcBIsf0h5Q2/m5lUr4ziRtFvQYCyue1H07uIhAb4YkhpqX8Ff9Xbttn/QXh1hkdYYq5zgIv1AY/7g2TdMO+0VcmhHL5sMnKaywXyuTc9rylnYhN/kp8PKz61Aq4TsTIWD6i9DSBIse1P1KZ1q/GPaXnGZ/scGzdQqyYOO/tLJVbH9jxz4PKSULd6lyjsMYeLNW3ln2R6jXt/Q4vV8sAAuMvsqvPqFNue5+kdYp185Uwnc2od21GSx7F2kNpnR0pqxj6CKspnr4+h4IjIUJTxo3bjto3RTV7ByHYbHC1Geh6pi2FaiOEsP9yYgPNr6s8+2fob4Kpj5jyJ2tSvjOaNjd2pXO4t9rDcZ0EhXkw9DuoXy9/Zhxs3VWPwule2DGS1qN1oEs3FWEh0UwSS22chwJQyHjOlj/Dyg7oOupZ2TEkn3sFAdLDZq4cGy7NlFh6C8gMsWQIVXCd0ZWD5jxClSXafOTdXT5gHjyyqrZbsROWMd3aTtZ9ZsNyRPtP14HaL1ztHJOiJ+X2eEoZ5vwBHj6wpKHdC1rTu8XixDwjRFX+c1NsPC34Bdm6LadKuE7q9j+WhvZre9oU7p0MrVvNN4eFr7cqu9D4Z9pbtJKOb6hMEX/+dW22nr0JPnltczIiDU7FOWnAqO0HksHVmhXyDqJDvZhSGIo83cYcIe7+hkozIJLngHfEPuOdRaV8J3ZmEe0ufnf3Kf14NBBoI8nE1Oj+GbnMRqa9O9f8l/rX4GiHTDtOW0GhoP5fEshvp5Wpqar2TkOacgcbcbakkegZI9up720fyyHSqvt2z32yA9aKTPjWki/wn7jtEElfGfm5afN2jlxQHsB6eTygXFU1DSyam+bvfBsV7oPVj2tzUpInXnh4w1W19jMgp3HmJoejb+3YywAU37CYoFZr2m/A1/crtsFzyXpMXhYhP3KOrUV8OUcCEnQVhAbTCV8Z5c0TrtSWPeSbs3VRidHEObvxVfb7FDWaWmG+fdqNdhL9J1poZcVucVU1TVxxaB4s0NRzicwGi77lzaHfYU+z7K6+HsxOjmcb3Yco6VF57KOlFrd/lQhXPEfU3pFqYTvCib/FQKi4ZMbtAe5NvK0WpiREcvK3BIqa3RuG7vhX5C/EaY8rdViHdAXWwqICfZhWI8ws0NRLqTXZBj6S9j4GuxbqsspZ2TEcqyyjq1H9ZsBB8DOT7S232MegfhMfc/dTirhuwK/UJj9PlSXwme3aE3IbHT5wDgamlv0nZN/YKXWIKrPdMiYrd95dVRSVcfq/WXMGhCH1eI4K36V85jwJET1hXl3Q5XtbY4npWkTF3Sdk1+eBwsfhIQRMPoB/c7bQSrhu4rYATDjZTi8Rusnb6O+ccH0jAzgq20FOgSHVrf/7FaI6KPVXh2ofcLZ5m8/RnOL5PKBqpzjNDx94Mr/QEM1fPVLmzdLCfD2YHxKJIt2FdHUrMPEheZG+PJOEBa4/N/aAjKTqITvSjJma4uyNr4G2z6w6VRCCGYNiGPz4ZMcPVFjW1w15fDRNVoDuOs+dpg+9235fEsBGV1D6BkZYHYoSkdE9Nam9x76TttExEaXZsRSdrqBdQdP2B7b93+Hgs0w/QXtYa2JVMJ3NRP/rPXlWPAbbatAG1w2QNte0KaHt82N8NnN2uYO13xg+gv+fHKOnWLP8SquGOgY2yoqHTToFkiZASuftLmeP6Z3JCF+nny6Od+2mLa8o82g63899L3StnPpQCV8V2P1gCvfhoAo7SFuVXGnTxUX4suwHqF8ta2gcwtRpIRFv9M2bpnxirYs3oF9sbUAT6u2IYbihISAma9CVDp8cqNNmwX5eFq5fEA8y3KOc6KzG6Ps/FRbI9NzgjZ92gGohO+K/MNg9gdan51Pb4Kmhk6f6vIB8Rw+UcO2zrRa2DRXa/066jfQ/9pOx2CEpuYWvt5eyPg+UXTxV60UnJZPMNz4FYQnw8fXQd6aTp/q2iFdaWyWfLG1E8+xcr/RnickjoJr3tf253UAKuG7qph+MPMfkL9Bq5/XdW7l4JlWC191tNXC/uWw5GHoPQ3GPd6psY20en8pZacbuFyVc5yfXyjc9LW2Cv3Da+Dohk6dJjkqkEHduvDxpvyO3eHuX65NUIgbCNd+pK05cRAq4buyvlfCpf8PDn0Pb07R6ugd1KlWC5vfgI9mQ1QaXD5XWxXp4L7YWkiovxdjekeaHYqiB/9wuGk+BMXA+1dqey50wuzBXTlUVs3GvPL2fUPeGq2UGpkC13/ucBMUHP83UbHNwJvg+s+g4ii8MQGKdnb4FO1utdDUAN/cr60mTBoPtywEb8ef7VJZ08jynGIuzYjFy0P9SriMwCi4+RutxPne5Z1aiT6tXwyB3h58vOnohQ/O36TdUXRJhBvnGdoUrb3Uq9sd9BwPty8FYYW3psK+ZR369tHJEYQHePFp1nnuEKrL4N2ZWs1+5P3araxPsG1xG2TBLu3u5Qo19971BMVqSd8nCN67DLK/6lBLZT8vDy4bEMei3cepqDnHs7CWFtj4b3j3Mu2PzE1fa39kHJBK+O4iKg3uWAGhPbSa/ub/tPtbPa0Wrs7syrd7iskvb2NOftFOmDsGjm2Fy9+AiU+auriko77cWkhyZADpcY61AYuik5AELekHd9VWon94jXbH206zh3Sloaml7enJpXvhrSnaZkTdhmt3tYGO22FVJXx3EhQDty7WpoktfEB74R9Z364rnhuGdQPg/Y1H/vfJxlrIegvenKw1Rbt1MfS7yl7R28X+4iq2HDnJFYPiEQ66+lfRQWh3uPM7mPSUthr91aHarlnNTRf81rTYYPrFB//44W1zI3z/LLw2Csr2wax/azX7IMee0mtTwhdChAohlgsh9rf+2+U8xwYJIQqEELYvg1M6zzsAZn8E4x7Tao5vTdVq+9nztKR9DrEhvkxKjeaTzfnUF+XCkj/A831gwf0Q3RfmrNJmJTiZt9YfxttDu4NRXJzVA0bcC/dshMTRsOxReGMcHNt2wW+dPTiBvcVVbDt6EvI3a3e03/0F+kyDezZpq9yd4IJB2LKzixDiGaBcSvm0EOJhoIuUss39uoQQLwMRrcffe6FzZ2Zmyqyszj1ZV9qpoQZ2fKhd6ZzMgy7dtV20EoaB1Ut78/AGqzdYLOxbN4/y1f9mmCUXLJ6QMh0G3aqt7HWCF/tPVdQ0MOxvK7msfxxPX9HP7HAUI0kJOfNg8UNwulh77ccNhNiB2r8xGeDlr93FHttG/eENrP12IUM9DhDQXAGBMTDteS3hOxghxBYpZZvtOG3d3WEmMKb1/XeAVcDPEr4QYhAQBSwBzOkLqvyclx8MvkNL2nsWwLpXYNGD5zy8F1BkjeItn5u55e5HEQ7a3ri9PtqUT11jC7eMTDQ7FMVoQkDaLG3XrC1va9sNHt0Iu79o/bpFq/1XFkBLE95AP+94ltdlMHXqDHz6X+WQs3AuxNaEHyWlPNM/9zhaUv8RIYQFeB64AZhwvpMJIeYAcwASEhy354rLsVi1nadSLtVub08VQlM9NDe0/tsIzfUQmcp3ZUk8OS+b9BOeDHasKcYd0tjcwrs/HGZEUhh9otXDWrflGwKj7v/fx1XF2u/Asa1Qkqv9Ueg6FOIHU1juwW9eXUe1SOcGJ0z20I6EL4RYAbT12PnRsz+QUkohRFv1obuBRVLKggs9FJNSzgXmglbSuVBsis6E0G5nz1OLvyyhiaeX7OXt9YcZnOh4e9G219Ls4xRV1vHnmelmh6I4ksAo6D1Fe/uJDD9Jn+hAPt589L+TGJzNBRO+lPKcV+VCiGIhRIyUskgIEQO0tTJnODBaCHE3EAB4CSFOSykf7nTUimn8vDy4OrMrb68/zPHKOqKDfcwOqVPeXJtHtzA/xvVRK2uV9hFCcO2QBP5vfja7CytJj3OOdSZns3Va5nzg5tb3bwa+/ukBUsrrpZQJUspE4EHgXZXsndtNwxNplpIPz56i6UR25Few9WgFNw9PxKJ2tVI64LIBcfh5WfnP2jyzQ+kUWxP+08BEIcR+tPr80wBCiEwhxBu2Bqc4poQwP8b1juTDTUepbzr3VE5H9da6PAK8PbgqU62sVTom2NeT64YkMH/HMY6cqDY7nA6zKeFLKU9IKcdLKZOllBOklOWtn8+SUt7RxvFvt2dKpuL4bhqRSNnpBhbvsn0PUSMVn6pjwc4irsqMJ9DH0+xwFCd050U9sFoEr31/0OxQOkyttFU6ZXTPcHqE+/P2+sNmh9Ih7284QrOU3DIi0exQFCcVFeTD1ZnxfL6lgKLKWrPD6RCV8JVOsVgENw3vxvb8CnZ0ZnMUE9Q1NvPBxqOM7xNFtzB/s8NRnNgvLkqiRcLc1YfMDqVDVMJXOu2KQfH4e1l5c51zPMCav/0Y5dUN3KYWWik26hrqx2X94/ho01HKOrsFoglUwlc6LdDHkxuGdWP+jmPsOd65HbWMIqXkzXV59IkOZHiSY7auVZzL3WOTqG9q4U0nmrGjEr5ik7vGJBHg7cGzS/aaHcp5rcwtYc/xKm4b2V11xVR0kRQRwCXpMbz7wxEqaxrNDqddVMJXbBLi58VdY5JYuaeEzYfbuQ2cwRqbW/jr4lx6RPgzS+1Zq+jo7rFJnK5v4p0fDpsdSruohK/Y7NYR3YkK8ubpxXs6ttmzQT7enM+h0moemZqCp1W95BX9pMUGM75PJG+uy6O6/sK99c2mXv2KzXy9rNw/oRdbjpxkeU6x2eH8SFVdIy8t38fQ7qFMSFFtFBT93TOuJxU1jXy4sf27aJlFJXxFF1cNiqdHhD/PLt1Lc4vjXOX/a9VBTlQ38Ni0VFW7V+xiYEIXRiSFMXfNIeoaHXvluUr4ii48rBZ+N6k3+0tO88XW82x2bqDCilr+szaPWQPi6BvvfI2uFOdx79ielFbVO/xVvkr4im6mpEeT0TWEF5fvc4grneeWajOHHpzc2+RIFFc3PCmMUT3DeWH5Po5VOO7qW5XwFd0IIXh4Sh+KKut41+RZC7sKKvlqWyG3j+pOXIivqbEork8IwV9n9aW5RfLYvN0OOXkBVMJXdDY8KYyLe0Xw6ncHqaw1Z26ylJK/LMwhzF+bMqooRkgI8+PByb35dk8J83ccMzucNqmEr+juoSl9OFXXyL9WmdNNcEVuCRvzyrl/QrLqiKkY6pYRifTvGsIT87M54YAtF1TCV3SXGhvE5QPieX3NITYeOmHo2I3NLfxtcS5JEf7MHqL2RVaMZbUInrmyH6frm3jymxyzw/kZlfAVu3ji0lS6hfpx70fbKKmqM2zcpxfv4VBpNX+4RC2yUszRKyqQe8cmM3/HMVY42LoU9Ruh2EWgjyf/vGEgVXWN/OrDbTQ1t9h9zM+3FPCftXncMiKR8SlRdh9PUc7lrjFJ9I4K5LF5uzlV5zh9dlTCV+ymT3QQf53Vl4155Ty3bJ9dx9p69CR/+HIXI5LCeHRail3HUpQL8fKw8Pcr+1FSVcfTi/eYHc5/qYSv2NXlA+O5bmgCr31/0G5tF45X1vGL97YQHezDq9cNVKUcxSH07xrC7aO68+HGo6w/UGZ2OIBK+IoBHp+eSt+4YB74dLvuGz/XNTbzi/eyqKlv4vWbMuni76Xr+RXFFg9M7E2PcH/mvLeFTXnmd5NVCV+xOx9PK/+8fiAWIbjr/a26rcKVUvLIl7vYUVDJi9f0p3d0oC7nVRS9+HpZ+eDOoUQFeXPTmxtZtbfE1HhUwlcM0TXUjxevySCn6BQPfbFTl6T/+ppDfLWtkAcm9mJSWrQOUSqK/mKCffnkF8PpER7Ane9msXhXkWmxqISvGGZcnygenNSLr7cf49J/rGV3YWWnztPQ1MKr3x3g6cV7mJoezb1je+ocqaLoKzzAm4/mDKNffAj3fLiVz7eY02BQJXzFUPeOS+atWwdTUdPIZa+u45WV+zs0ZXPdgTKmvLyaZ5fuZVJqNM9dlYHFotoeK44v2NeT924fwoikcB78bAfvrD9seAzCliY/QohQ4BMgETgMXC2lPNnGcQnAG0BXQAKXSCkPn+/cmZmZMisrq9OxKY6toqaBx7/OZv6OY2TEB/P81f3pGRlwzuOPV9bxl4U5LNhZRLcwP564NI2xvdWGJorzqWts5lcfbWN5TjFXDYpnRkYsw3qE4eWhz/W3EGKLlDKzza/ZmPCfAcqllE8LIR4GukgpH2rjuFXAU1LK5UKIAKBFSllzvnOrhO8eFu4s4rF5u6hpaOb2Ud2JDfHF19OKr1frm6eVXQWVvLRiH40tknvG9OQXF/fAx9NqduiK0mmNzS38eUEOn2UVUNvYTKC3Bxf3jmBSWjRjekcQZEMPKHsm/L3AGCllkRAiBlglpez9k2NSgblSylEdObdK+O6jpKqOP3y5ixW5557BMK5PJE/MSCMhzM/AyBTFvuoam1m7v4zlOcWs3FNM2ekGPK2CyWnR/OO6gZ06pz0TfoWUMqT1fQGcPPPxWcdcBtwBNADdgRXAw1LKn03TEELMAeYAJCQkDDpy5EinY1Ocz+n6JmoamqhraKGmsYnahmZqG5vx8/IgIz5YbVGouLTmFsn2/JMsyy7GahH8fkqfTp3nfAnfox3fvAJoa87bo2d/IKWUQoi2/np4AKOBAcBRtJr/LcB/fnqglHIuMBe0K/wLxaa4lgBvDwK8L/iSVBSXZLUIBnULZVC3ULuNccHfLinlhHN9TQhRLISIOauk09Y9eQGwXUp5qPV75gHDaCPhK4qiKPZj62Ph+cDNre/fDHzdxjGbgRAhRETrx+MAx2sUrSiK4uJsTfhPAxOFEPuBCa0fI4TIFEK8AdBaq38QWCmE2AUI4HUbx1UURVE6yKaCqZTyBDC+jc9noT2oPfPxcqCfLWMpiqIotlErbRVFUdyESviKoihuQiV8RVEUN6ESvqIoipuwaaWtPQkhSgFbltqGA46xr5hx3O1ndrefF9TP7C5s+Zm7SSkj2vqCwyZ8Wwkhss61vNhVudvP7G4/L6if2V3Y62dWJR1FURQ3oRK+oiiKm3DlhD/X7ABM4G4/s7v9vKB+Zndhl5/ZZWv4iqIoyo+58hW+oiiKchaV8BVFUdyEyyV8IcQUIcReIcSB1n12XZoQ4k0hRIkQYrfZsRhFCNFVCPGdECJHCJEthLjP7JjsTQjhI4TYJITY0fozP2l2TEYQQliFENuEEAvMjsUoQojDQohdQojtQghd93l1qRq+EMIK7AMmom28shm4Vkrpsv33hRAXAaeBd6WU6WbHY4TWzXZipJRbhRCBwBbgMhf//ywAfynlaSGEJ7AWuE9KucHk0OxKCPEAkAkESSmnmx2PEYQQh4FMKaXui81c7Qp/CHBASnlIStkAfAzMNDkmu5JSrgbKzY7DSFLKIinl1tb3q4BcIM7cqOxLak63fujZ+uY6V2ttEELEA9OAN8yOxVW4WsKPA/LP+rgAF08E7k4IkYi2X/JGk0Oxu9byxna0rUSXSyld/Wd+Cfg90GJyHEaTwDIhxBYhxBw9T+xqCV9xI0KIAOAL4H4p5Smz47E3KWWzlLI/EA8MEUK4bAlPCDEdKJFSbjE7FhOMklIOBKYC97SWbXXhagm/EOh61sfxrZ9TXExrHfsL4AMp5Zdmx2MkKWUF8B0wxeRQ7GkkcGlrPftjYJwQ4n1zQzKGlLKw9d8S4Cu0UrUuXC3hbwaShRDdhRBewGy0jdYVF9L6APM/QK6U8gWz4zGCECJCCBHS+r4v2sSEPaYGZUdSykeklPFSykS03+NvpZQ3mByW3Qkh/FsnIiCE8AcmAbrNwHOphC+lbALuBZaiPcj7VEqZbW5U9iWE+Aj4AegthCgQQtxudkwGGAnciHbVt7317RKzg7KzGOA7IcROtAub5VJKt5mq6EaigLVCiB3AJmChlHKJXid3qWmZiqIoyrm51BW+oiiKcm4q4SuKorgJlfAVRVHchEr4iqIobkIlfEVRFAPo3ehQCPFMayO9XCHEK63Tlc9LJXxFURRjvI1Oi+WEECPQpif3A9KBwcDFF/o+lfAVRVEM0FajQyFEkhBiSWvfnDVCiD7tPR3gA3gB3mjN9Iov9E0q4SuKophnLvArKeUg4EHgn+35JinlD2jtNYpa35ZKKXMv9H0eNgSqKIqidFJr878RwGdnld+9W792OfCnNr6tUEo5WQjRE0hB6xcGsFwIMVpKueZ8Y6qEryiKYg4LUNHaAfVHWhsCnq8p4Cxgw5k9EoQQi4HhwHkTvirpKIqimKC1pXeeEOIq0JoCCiEy2vntR4GLhRAerZ1jL0brH3ZeKuEriqIY4ByNDq8Hbm9tlpZN+3fo+xw4COwCdgA7pJTfXDAG1TxNURTFPagrfEVRFDehEr6iKIqbUAlfURTFTaiEryiK4iZUwlcURXETKuEriqK4CZXwFUVR3MT/B0e7v53wlq9wAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(t, V1)\n", + "plt.plot(t, V2)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "e56a0992-4cdc-4839-9aea-91a2497c2696", + "metadata": {}, + "outputs": [], + "source": [ + "with open(r'C:\\Users\\galer\\Homework\\experiment-automation\\project\\hardware\\test_data\\sig1.csv', 'w') as file:\n", + " string = 'voltage[V],time[ns]\\n'\n", + " for i in range(l):\n", + " string += f'{V1[i]:.4f},{t[i]*1e9:.4f}\\n'\n", + " file.write(string)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "29fee1dc-eb0e-4e10-958a-640203b7e4ba", + "metadata": {}, + "outputs": [], + "source": [ + "with open(r'C:\\Users\\galer\\Homework\\experiment-automation\\project\\hardware\\test_data\\sig2.csv', 'w') as file:\n", + " string = 'voltage[V],time[ns]\\n'\n", + " for i in range(l):\n", + " string += f'{V2[i]:.4f},{t[i]*1e9:.4f}\\n'\n", + " file.write(string)" + ] + } + ], + "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.10.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/project/hardware/t_data/sig1.csv b/project/hardware/t_data/sig1.csv new file mode 100644 index 0000000..a10cd0d --- /dev/null +++ b/project/hardware/t_data/sig1.csv @@ -0,0 +1,52 @@ +voltage[V],time[ns] +0.5049,0.0000 +0.5592,1.0000 +0.5913,2.0000 +0.5997,3.0000 +0.5843,4.0000 +0.5456,5.0000 +0.4851,6.0000 +0.4053,7.0000 +0.3093,8.0000 +0.2010,9.0000 +0.0847,10.0000 +-0.0350,11.0000 +-0.1533,12.0000 +-0.2655,13.0000 +-0.3671,14.0000 +-0.4541,15.0000 +-0.5229,16.0000 +-0.5710,17.0000 +-0.5962,18.0000 +-0.5977,19.0000 +-0.5754,20.0000 +-0.5301,21.0000 +-0.4637,22.0000 +-0.3788,23.0000 +-0.2788,24.0000 +-0.1676,25.0000 +-0.0499,26.0000 +0.0699,27.0000 +0.1869,28.0000 +0.2965,29.0000 +0.3942,30.0000 +0.4762,31.0000 +0.5392,32.0000 +0.5808,33.0000 +0.5991,34.0000 +0.5936,35.0000 +0.5644,36.0000 +0.5128,37.0000 +0.4406,38.0000 +0.3510,39.0000 +0.2473,40.0000 +0.1337,41.0000 +0.0149,42.0000 +-0.1046,43.0000 +-0.2199,44.0000 +-0.3264,45.0000 +-0.4199,46.0000 +-0.4967,47.0000 +-0.5537,48.0000 +-0.5886,49.0000 +-0.6000,50.0000 diff --git a/project/hardware/t_data/sig2.csv b/project/hardware/t_data/sig2.csv new file mode 100644 index 0000000..783f780 --- /dev/null +++ b/project/hardware/t_data/sig2.csv @@ -0,0 +1,52 @@ +voltage[V],time[ns] +0.3637,0.0000 +0.3234,1.0000 +0.2702,2.0000 +0.2062,3.0000 +0.1340,4.0000 +0.0564,5.0000 +-0.0233,6.0000 +-0.1022,7.0000 +-0.1770,8.0000 +-0.2447,9.0000 +-0.3027,10.0000 +-0.3486,11.0000 +-0.3806,12.0000 +-0.3975,13.0000 +-0.3985,14.0000 +-0.3836,15.0000 +-0.3534,16.0000 +-0.3091,17.0000 +-0.2525,18.0000 +-0.1858,19.0000 +-0.1118,20.0000 +-0.0332,21.0000 +0.0466,22.0000 +0.1246,23.0000 +0.1976,24.0000 +0.2628,25.0000 +0.3175,26.0000 +0.3595,27.0000 +0.3872,28.0000 +0.3994,29.0000 +0.3957,30.0000 +0.3763,31.0000 +0.3418,32.0000 +0.2938,33.0000 +0.2340,34.0000 +0.1648,35.0000 +0.0892,36.0000 +0.0099,37.0000 +-0.0697,38.0000 +-0.1466,39.0000 +-0.2176,40.0000 +-0.2799,41.0000 +-0.3311,42.0000 +-0.3691,43.0000 +-0.3924,44.0000 +-0.4000,45.0000 +-0.3917,46.0000 +-0.3677,47.0000 +-0.3291,48.0000 +-0.2774,49.0000 +-0.2146,50.0000