diff --git a/docs/_static/visualize_spike_count/spike_count.png b/docs/_static/visualize_spike_count/spike_count.png index 8cf6b08c..0e337ef9 100644 Binary files a/docs/_static/visualize_spike_count/spike_count.png and b/docs/_static/visualize_spike_count/spike_count.png differ diff --git a/docs/about/release_notes.md b/docs/about/release_notes.md index 3bb9c22e..1f5a1569 100644 --- a/docs/about/release_notes.md +++ b/docs/about/release_notes.md @@ -1,6 +1,11 @@ # Release notes -## Unreleased +## v3.1.2 (12/12/2025) + +* Update use of visualizer in Sinabs tutorials, previous tutorials were using a deprecated visualizer version. +* Fix issue with `chip_layers_ordering` in the visualizer. `chip_layers_ordering` was deprecated in Sinabs 3.1.0 and `layer2core_map` needs to be used instead. + +## v3.1.1 (27/11/2025) * Fix NIR export of Conv1d layer which expected an input_shape parameter. * Fix broken link on documentation. diff --git a/docs/speck/notebooks/leak_neuron.ipynb b/docs/speck/notebooks/leak_neuron.ipynb index 228fc5ce..69c6440b 100644 --- a/docs/speck/notebooks/leak_neuron.ipynb +++ b/docs/speck/notebooks/leak_neuron.ipynb @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "500e2d79", "metadata": {}, "outputs": [ @@ -230,7 +230,7 @@ ")\n", "# don't forget to set the slow clock frequency!\n", "# here we set the frequency to 1Hz, which mean the Vmem should decrease after every 1 second\n", - "dynapcnn.to(device=\"speck2fmodule\", slow_clk_frequency=1)\n", + "dynapcnn.to(device=\"speck2fdevkit\", slow_clk_frequency=1)\n", "\n", "# Check if neuron states decrease along with time pass by\n", "\n", @@ -276,7 +276,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.0" + "version": "3.12.3" } }, "nbformat": 4, diff --git a/docs/speck/notebooks/play_with_speck_dvs.ipynb b/docs/speck/notebooks/play_with_speck_dvs.ipynb index ceda187c..aaf05555 100644 --- a/docs/speck/notebooks/play_with_speck_dvs.ipynb +++ b/docs/speck/notebooks/play_with_speck_dvs.ipynb @@ -3,6 +3,7 @@ { "cell_type": "markdown", "metadata": { + "collapsed": true, "jupyter": { "outputs_hidden": true } @@ -61,7 +62,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -83,13 +84,15 @@ " )\n", " (1): DynapcnnLayer(\n", " (conv_layer): Conv2d(1, 1, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n", - " (spk_layer): IAFSqueeze(spike_threshold=398.0, min_v_mem=-398.0, batch_size=1, num_timesteps=-1)\n", + " (spk_layer): IAFSqueeze(spike_threshold=Parameter containing:\n", + " tensor(418.), min_v_mem=Parameter containing:\n", + " tensor(-418.), batch_size=1, num_timesteps=-1)\n", " )\n", " )\n", ")" ] }, - "execution_count": 33, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } @@ -112,7 +115,7 @@ "dynapcnn = DynapcnnNetwork(snn=snn, input_shape=input_shape, dvs_input=True)\n", "\n", "# deploy to speck devkit, use a different name if you're using a different version of the devkit\n", - "devkit_name = \"speck2fmodule\"\n", + "devkit_name = \"speck2fdevkit\"\n", "dynapcnn.to(device=devkit_name, monitor_layers=[\"dvs\", -1])" ] }, @@ -130,7 +133,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -164,7 +167,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -215,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -224,6 +227,14 @@ "text": [ "Network is valid\n" ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages/sinabs/backend/dynapcnn/chips/dynapcnn.py:252: UserWarning: DVS layer has pooling and is being monitored. Note that pooling will not be reflected in the monitored events.\n", + " warn(\n" + ] } ], "source": [ @@ -267,7 +278,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -309,7 +320,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -360,7 +371,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -391,7 +402,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -433,7 +444,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -485,7 +496,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -547,7 +558,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -594,7 +605,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -625,7 +636,7 @@ "devkit_cfg_filter.dvs_filter.threshold = 5\n", "\n", "# set up the Unifirm/IO module\n", - "devkit_io = devkit.get_io_module()\n", + "devkit_io = dynapcnn.samna_device.get_io_module()\n", "\n", "# update the configuration\n", "dynapcnn.samna_device.get_model().apply_configuration(devkit_cfg_filter)" @@ -655,7 +666,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.10" + "version": "3.12.3" } }, "nbformat": 4, diff --git a/docs/speck/notebooks/power_monitoring.ipynb b/docs/speck/notebooks/power_monitoring.ipynb index 499c15fe..c001a8c6 100644 --- a/docs/speck/notebooks/power_monitoring.ipynb +++ b/docs/speck/notebooks/power_monitoring.ipynb @@ -3,7 +3,10 @@ { "cell_type": "markdown", "metadata": { - "collapsed": true + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } }, "source": [ "# Power Monitoring\n", @@ -20,14 +23,17 @@ "name": "stdout", "output_type": "stream", "text": [ - "Requirement already satisfied: matplotlib in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.6/site-packages (3.3.4)\r\n", - "Requirement already satisfied: python-dateutil>=2.1 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.6/site-packages (from matplotlib) (2.8.2)\r\n", - "Requirement already satisfied: pillow>=6.2.0 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.6/site-packages (from matplotlib) (8.4.0)\r\n", - "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.6/site-packages (from matplotlib) (3.0.9)\r\n", - "Requirement already satisfied: numpy>=1.15 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.6/site-packages (from matplotlib) (1.19.5)\r\n", - "Requirement already satisfied: cycler>=0.10 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.6/site-packages (from matplotlib) (0.11.0)\r\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.6/site-packages (from matplotlib) (1.3.1)\r\n", - "Requirement already satisfied: six>=1.5 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.6/site-packages (from python-dateutil>=2.1->matplotlib) (1.16.0)\r\n" + "Requirement already satisfied: matplotlib in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (3.10.0)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (1.3.1)\n", + "Requirement already satisfied: cycler>=0.10 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (4.56.0)\n", + "Requirement already satisfied: kiwisolver>=1.3.1 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (1.4.8)\n", + "Requirement already satisfied: numpy>=1.23 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (1.26.4)\n", + "Requirement already satisfied: packaging>=20.0 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (24.2)\n", + "Requirement already satisfied: pillow>=8 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (11.1.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (3.2.1)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (2.9.0.post0)\n", + "Requirement already satisfied: six>=1.5 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)\n" ] } ], @@ -50,8 +56,10 @@ "import samnagui\n", "import time\n", "import torch\n", + "import socket\n", "import matplotlib.pyplot as plt\n", "import matplotlib.font_manager as font_manager\n", + "import sinabs.backend.dynapcnn.io as sio\n", "\n", "from torch import nn\n", "from multiprocessing import Process\n", @@ -124,7 +132,7 @@ { "data": { "text/plain": [ - "['Speck2eDevKit']" + "['Speck2fDevKit']" ] }, "execution_count": 4, @@ -234,7 +242,7 @@ "output_type": "stream", "text": [ "estimated number of collect data: 2500.0\n", - "number of collected data: 2499\n" + "number of collected data: 2498\n" ] } ], @@ -262,11 +270,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "track0: 62.579956054687536uW, 25.031982421875014uA\n", - "track1: 70.89843749999974uW, 59.08203124999979uA\n", - "track2: 254.79701450892875uW, 212.3308454241073uA\n", - "track3: 64.85595703124955uW, 54.04663085937462uA\n", - "track4: 740.2514291976793uW, 616.8761909980661uA\n" + "track0: 61.67912292480463uW, 24.671649169921853uA\n", + "track1: 51.723632812499645uW, 43.10302734374971uA\n", + "track2: 366.9914899553563uW, 305.8262416294636uA\n", + "track3: 78.87112114854692uW, 65.72593429045577uA\n", + "track4: 610.8792641085738uW, 509.0660534238115uA\n" ] } ], @@ -319,9 +327,9 @@ "outputs": [ { "data": { - "image/png": "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729/+9vcfvvtAPZx38lkErBcVZFIpNd6gsEghYWFOBwO3n77bWpra48rWygUoqSkhGQyyUsvvdTt++zsbHJycnjvvfcA+Mtf/sKsWbPIycnB5/Oxfv16AF5++eXj1tVXhAUhEAgGDQN13PdVV13FDTfcwMKFC5kyZQqjRo06rmy33347V155JQUFBUybNs3+DYiuPProo9xxxx3EYjGGDh3Kww8/DMAjjzzCt771LSRJYvbs2T0eG34yiOO+ObOORB4oRJsHB2dSm8Vx3/1HPB63XVePP/44jY2N/Pd//3e3dGfscd/f+MY3cLvdyLKMoig88MADhEIhHnnkEZqamuyfHPX7/ZimyVNPPcWGDRtwuVzcdNNNVFVVDZSoAoFA8KHitdde43//93/RdZ2KigoeffTRU1LugLqY7rnnHrKzs+3PS5cuZfLkySxevJilS5eydOlSrrvuOjZs2EBDQwOPPfYYu3fv5sknnzyloVsCgWDwcSYe932qWLx4MVdeeeUpL/e4CkLXddauXcv69es5ePCg/QtIw4YNY9q0acycORNFUU6q8jVr1vCDH/wAsDaBfvCDH3Ddddexdu1a5s6diyRJjBkzhnA4TGtrK3l5eSdVj0AgOP18hLzZH1pO9B4cU0H8+9//5qWXXqKyspLx48czffp03G43sViM2tpaXn/9dZ555hk++clP2i+BHIv77rsPgIsuuohFixbR3t5uT/q5ubm0t7cDEAgEKCwstPMVFBQQCAS6KYhly5axbNkyAB544IGMPCeCqqonnffDimjz4OBMarMkSRiGgcPh6Pe6VHXwxd8cr83JZBK/309BQUHfyzzWlw0NDfzP//wPubm53b4755xzAGhtbeVvf/vbcSu69957yc/Pp729nR/96EfdNkYkSer1rcTeWLRoEYsWLbI/n+xm3Jm0kTdQiDYPDs6kNpumSSwWIxKJnPCzfiK4XC77nYPBwvHabJomsizjdru7jYeT3qT+j//4j+MKlpeX16d0+fn5AOTk5DBz5kz27NlDTk6O7TpqbW219yfy8/MzGtHS0mLnFwgEH04kScLj8fR7PWeSUhwo+qvNx31R7n/+539YunQpu3btQtf1k6okFovZB0/FYjE2b97M0KFDmTFjBitXrgSsV9nTL63MmDGDVatWYZom1dXVeL1esf8gEAgEA8xxHXVjx45l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", + "image/png": "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euutKCgowLx58wAA119/PVavXo3FixejoqICr7zyCtasWdNmwPXrX/8azz77LF544QVUVFRg586dWLJkSW/t1jcCBT+EEEJID3nqqacwceJEXHvttfje974HxhheeeUViKIIAJgxYwZ+97vf4dlnn8WFF16ItWvX4sYbb4TD4Ui5zn//93/HAw88gJdeeglz587Ftddei8OHD/fWLn0jcKwrY/i+4WpraxPafruC4zgUFhaiqqqqS0MnSdson3sP5XXvGKj53NzcjPT09F7dZrI+P73tv/7rv1BeXo7ly5f3aTp6WlfyOtW5IYoi8vLyTvt76vBMCCGE9KG//vWvmD17NtxuN9asWYM333wT//M//9PXyfpGo+CHEEII6UNfffUV/vznP8Pv92PYsGF46KGHcPXVV/d1sr7RKPghhBBC+tDixYv7OgkDDnV4JoQQQsiAQsEPIYQQQgYUCn4IIYQQMqBQ8EMIIYSQAYWCH0IIIYQMKBT8EEIIIWRAoeCHEEII6WVnnXUWnnvuuW5b32233Ybrr7++Q795/fXXMXbsWOPvJ598EhdeeGGH1jF//nzcd999HfpNT66nvWieH0IIIaSXvffee3C73X2dDIubbroJ1113XYd+89xzzxnvKQO0oG7hwoW48cYbuzt53YqCH0IIIaSX5eTk9HUSEng8Hng8ng79Jisrq4dS07Oo2YsQQgjpRvPnz8c999yDe+65B2PGjMGECRPw+OOPW15Ka272Wr9+PYqLi/Hll18a3//5z3/GpEmTUFtbCwCorKzEz372M4wdOxbjx4/Hddddh+PHj3coXa+//jpmzJiB0tJS3HDDDWhsbLR8H9/sJcsyfvvb3xrbfOSRR/DLX/7S0rxmbq6aP38+Tpw4gQceeACDBw/G4MGDAQANDQ24+eabMX36dJSWluL888/HihUrOpT27kbBDyGEkK8FxhhkWe7R/yRJSvjMHLS015tvvglBEPDuu+/ioYcewrPPPotXX3016bKzZs3CwoULceutt6K5uRm7du3CE088gd///vfIy8uDJElYsGABvF4vli1bhhUrVsDj8WDBggWIRCLtSs/WrVtx++2347rrrsNHH32EWbNm4ZlnnmnzN3/605+wbNkyPPXUU3j77bfR0tKCDz/8MOXyzz33HAoLC3H77bfjq6++wldffQUACIfDmDRpEl56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jczMTIwYMQKCIGDnzp3G9ydPnkRdXR3KysoAAGVlZTh27JgR8ADAjh074HK5MGTIkF5PPyGEEEL6n35V8/Pyyy/jjDPOQG5uLhobG/HGG2+A53mcc845cLvdmDt3Ll5++WV4vV643W4sWbIEZWVlRvAzefJkDBkyBIsWLcKCBQvg8/nw2muvYd68eX3SbkwIIYSQ/qdfBT8NDQ343//9X7S0tCA9PR1jxozBI488Ygx3v/baa8FxHJ588knIsmxMcqjjeR533XUXnn/+edx7771wOBzGjJmEEEIIIUA/m+Swv6FJDr+eKJ97D+V17xio+fx1neSQtA9NckgIIYQMIGeddRaee+65blvfbbfdhuuvv77b1tdZr7/+OsaOHdvXyTitftXsRQghhAwE7733Htxud18nY8Ci4IcQQgjpZTk5OX2dhAGNmr0IIYSQbjR//nzcc889uOeeezBmzBhMmDABjz/+uKW/lrnZa/369SguLsaXX35pfP/nP/8ZkyZNQm1tLQCgsrISP/vZzzB27FiMHz8e1113HY4fP97uNDU0NODmm2/G9OnTUVpaivPPPx8rVqxISPdvf/tbPPzwwxg/fjymTJmCJ5980rLM4sWLcf7552PkyJE444wzcPfdd8Pv97e57ZdeegmzZs1CcXExZs+ebXmjAgCUl5fjBz/4AUaMGIHzzjsP69atw+DBg/HBBx+0e/86ioIfQgghXw+MAarU+/91opP5m2++CUEQ8O677+Khhx7Cs88+i1dffTXpsrNmzcLChQtx6623orm5Gbt27cITTzyB3//+98jLy4MkSViwYAG8Xi+WLVuGFStWwOPxYMGCBYhEIu1KTzgcxqRJk/DSSy9h9erVWLBgAW699VZ89dVXCel2u91YuXIl7rnnHvzhD3/AunXrjO95nsdDDz2ENWvW4Omnn8bnn3+Ohx9+OOV233//fdx///346U9/ilWrVuGaa67Br3/9a3z++ecAAEVRcP3118PlcmHlypV4/PHH8fjjj7drn7qCmr0IIYR8PTAZWZWLe3QTHMcljKhrHPwzgOvYXHFFRUV48MEHwXEcRo4ciX379uG5557DggULki5/xx13YN26dbjjjjuwf/9+XHnllbjooosAAO+88w5UVcXvf/974/VLTz31FMaOHYsNGzZgzpw5p01PYWEhbrrpJuPv66+/HmvX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b0EQcDqd+r/fKrRzvZXnNMnHrOeJw6zricGs54nBrOeJY7Lr+qITP2+G3/3udzz88MP631OmTOGb3/wmZWVlF+R6lZWVF+S8JtmY9TxxmHU9MZj1PDGY9TxxTFZdX3Tix+fzIYoiQ0NDWZ8PDQ3leYM0br75Zm644Qb9b02J9vb2kkwm37KyCYJAZWUlXV1dKIrylp3XJBuznicOs64nBrOeJwaznieOC1XXkiSdl+PiohM/kiTR1NTE/v37WbZsGQCyLLN//36uvfbagr+xWq1YrdaC312IDqAoitmxJgCznicOs64nBrOeJwaznieOyarri078ANxwww3cc889NDU10dzczMaNG4nFYqxbt+4NnUeSLkz1XKjzmmRj1vPEYdb1xGDW88Rg1vPE8VbX9fmeT1AuUnn75JNP8uijjzI0NERjYyMf+chHmDZt2mQXy8TExMTExGSSueiWumtce+21/OAHP+CBBx7ga1/72ttC+EQiEb7whS8QiUQmuygXNWY9TxxmXU8MZj1PDGY9TxyTXdcXrfh5O6IoCidOnDBjyRcYs54nDrOuJwaznicGs54njsmua1P8mJiYmJiYmFxSmOLHxMTExMTE5JLCFD8TiNVq5d3vfveYy+pN3hrMep44zLqeGMx6nhjMep44JruuL9rVXiYmJiYmJiYmhTA9PyYmJiYmJiaXFKb4MTExMTExMbmkMMWPiYmJiYmJySWFKX5MTExMTExMLinMF5hMEE8++SR//OMfGRoaoqGhgdtvv53m5ubJLtZFRWtrK48++ignTpxgcHCQz372s/rLbU3eOn73u9+xY8cOzp49i81mY/r06Xzwgx+kurp6sot20fH000/z9NNP09vbC0BtbS3vfve7Wbhw4SSX7OLm97//PQ888ADXX389H/7whye7OBcNDz30EA8//HDWZ9XV1dx9990TXhZT/EwA27Zt4/777+djH/sY06ZN4/HHH+erX/0qd999N0VFRZNdvIuGWCxGY2Mj69ev5zvf+c5kF+eipbW1lQ0bNjB16lRSqRQPPvggX/nKV/jP//xPHA7HZBfvoqKkpIRbb72VqqoqFEVh8+bNfOtb3+Jb3/oWdXV1k128i5KjR4/yzDPP0NDQMNlFuSipq6vjX/7lX/S/RXFyAlBm2GsCeOyxx7jyyiu54oorqK2t5WMf+xg2m41NmzZN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", "text/plain": [ - "
" + "
" ] }, "metadata": {}, @@ -441,7 +449,7 @@ } ], "source": [ - "dynapcnn_device_str = \"speck2edevkit:0\"\n", + "dynapcnn_device_str = \"speck2fdevkit:0\"\n", "devkit_cfg = dynapcnn_net.make_config(\n", " device=dynapcnn_device_str, monitor_layers=[\"dvs\"]\n", ")" @@ -461,18 +469,7 @@ "cell_type": "code", "execution_count": 15, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# get device name\n", "devices = samna.device.get_all_devices()\n", @@ -507,7 +504,7 @@ "\"\"\"\n", "# branch #1: DVS data visualization on GUI\n", "_, _, streamer = samna_graph.sequential(\n", - " [devkit.get_model_source_node(), \"Speck2eDvsToVizConverter\", \"VizEventStreamer\"]\n", + " [devkit.get_model_source_node(), \"Speck2fDvsToVizConverter\", \"VizEventStreamer\"]\n", ")\n", "\n", "# branch #2: Collect power data\n", @@ -518,10 +515,7 @@ "\n", "# define tcp port for data visualization\n", "streamer_endpoint = \"tcp://0.0.0.0:40000\"\n", - "streamer.set_streamer_endpoint(streamer_endpoint)\n", - "\n", - "# start the samna graph\n", - "samna_graph.start()" + "streamer.set_streamer_endpoint(streamer_endpoint)" ] }, { @@ -535,82 +529,47 @@ "cell_type": "code", "execution_count": 16, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sender_endpoint: tcp://0.0.0.0:59073\n", - "receiver_endpoint: tcp://0.0.0.0:60313\n" - ] - } - ], - "source": [ - "# init samna node for tcp communication\n", - "samna_node = samna.init_samna()\n", - "sender_endpoint = samna_node.get_sender_endpoint()\n", - "receiver_endpoint = samna_node.get_receiver_endpoint()\n", - "# wait tcp connection build up, this is necessary to open remote node.\n", - "time.sleep(1.0)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, "outputs": [], "source": [ - "# define a function that start the gui visualizer then we run it in the sub-process\n", - "def run_visualizer_process(receiver_endpoint, sender_endpoint, visualizer_id):\n", - " samnagui.runVisualizer(0.6, 0.6, receiver_endpoint, sender_endpoint, visualizer_id)\n", + "def free_port():\n", + " \"\"\"\n", + " Determines a free port using sockets.\n", + " \"\"\"\n", + " free_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n", + " free_socket.bind((\"0.0.0.0\", 0))\n", + " free_socket.listen(5)\n", + " port = free_socket.getsockname()[1]\n", + " free_socket.close()\n", + " return port\n", + "\n", "\n", - " return" + "# Specify the tcp port of the visualizer\n", + "visualizer_port = \"tcp://0.0.0.0:\" + str(free_port())\n", + "\n", + "# Launch visualizer\n", + "gui_process = sio.launch_visualizer(\n", + " receiver_endpoint=visualizer_port, disjoint_process=False\n", + ")" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Successfully start the GUI process! You should see a window pop up\n" - ] - } - ], + "outputs": [], "source": [ - "# init sub-process for GUI\n", - "visualizer_id = 3\n", - "gui_process = Process(\n", - " target=run_visualizer_process,\n", - " args=(receiver_endpoint, sender_endpoint, visualizer_id),\n", + "# Visualizer configuration branch of the graph.\n", + "visualizer_config, _ = samna_graph.sequential(\n", + " [samna.BasicSourceNode_ui_event(), streamer] # For generating UI commands\n", ")\n", "\n", - "# start the GUI process\n", - "gui_process.start()\n", - "\n", - "# wait for open visualizer and connect to it.\n", - "timeout = 10\n", - "begin = time.time()\n", - "name = \"visualizer\" + str(visualizer_id)\n", - "while time.time() - begin < timeout:\n", - " try:\n", - " time.sleep(0.05)\n", - " samna.open_remote_node(visualizer_id, name)\n", - "\n", - " except:\n", - " continue\n", - "\n", - " else:\n", - " print(\"Successfully start the GUI process! You should see a window pop up\")\n", - " break" + "# Connect to the visualizer\n", + "streamer.set_streamer_endpoint(visualizer_port)" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -622,41 +581,30 @@ } ], "source": [ - "# setup visualizer\n", - "visualizer = getattr(samna, name)\n", - "\n", - "\n", - "# set visualizer's receiver endpoint to streamer's sender endpoint\n", - "visualizer.receiver.set_receiver_endpoint(streamer_endpoint)\n", - "# connect the receiver output to splitter inside the visualizer\n", - "visualizer.receiver.add_destination(visualizer.splitter.get_input_channel())\n", + "# start the samna graph\n", + "samna_graph.start()\n", "\n", - "# add DVS plots to gui\n", - "activity_plot_id = visualizer.plots.add_activity_plot(128, 128, \"DVS Layer\")\n", - "plot = visualizer.plot_0\n", - "plot.set_layout(0, 0, 0.5, 0.89)\n", - "visualizer.splitter.add_destination(\n", - " \"dvs_event\", visualizer.plots.get_plot_input(activity_plot_id)\n", + "plot1 = samna.ui.ActivityPlotConfiguration(\n", + " image_width=128, image_height=128, title=\"DVS Layer\", layout=[0, 0, 0.5, 0.89]\n", ")\n", "\n", - "# add real time power plots to gui\n", - "power_plot_id = visualizer.plots.add_power_measurement_plot(\n", - " \"power consumption\", 5, [\"io\", \"ram\", \"logic\", \"vddd\", \"vdda\"]\n", - ")\n", - "plot_name = \"plot_\" + str(power_plot_id)\n", - "plot = getattr(visualizer, plot_name)\n", - "plot.set_layout(0, 0.75, 1.0, 1.0)\n", - "plot.set_show_x_span(10)\n", - "plot.set_label_interval(2)\n", - "plot.set_max_y_rate(1.5)\n", - "plot.set_show_point_circle(False)\n", - "plot.set_default_y_max(1)\n", - "plot.set_y_label_name(\"power (mW)\") # set the label of y axis\n", - "visualizer.splitter.add_destination(\n", - " \"measurement\", visualizer.plots.get_plot_input(power_plot_id)\n", + "plot2 = samna.ui.PowerMeasurementPlotConfiguration(\n", + " \"Power Measurement Plot\",\n", + " 5,\n", + " [\"io\", \"ram\", \"logic\", \"vdd\", \"vda\"],\n", + " (0, 0.75, 1.0, 1.0),\n", + " 10,\n", + " 2,\n", + " \"\",\n", + " 1.5,\n", + " False,\n", + " 1,\n", + " \"Power consumption\",\n", + " \"Time (s)\",\n", + " \"Power (mW)\",\n", ")\n", "\n", - "visualizer.plots.report()\n", + "visualizer_config.write([samna.ui.VisualizerConfiguration(plots=[plot1, plot2])])\n", "\n", "print(\"Now you should see a change on the GUI window!\")" ] @@ -670,7 +618,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -698,7 +646,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -718,7 +666,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -733,7 +681,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -747,9 +695,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.9" + "version": "3.12.3" } }, "nbformat": 4, - "nbformat_minor": 1 + "nbformat_minor": 4 } diff --git a/docs/speck/notebooks/using_readout_layer.ipynb b/docs/speck/notebooks/using_readout_layer.ipynb index 79fbb1af..a7f75a61 100644 --- a/docs/speck/notebooks/using_readout_layer.ipynb +++ b/docs/speck/notebooks/using_readout_layer.ipynb @@ -7,7 +7,7 @@ "source": [ "# Using Readout Layer\n", "\n", - "This tutorial demonstrate the way of using the readout layer of Speck2e DevKit." + "This tutorial demonstrate the way of using the readout layer of Speck2e/Speck2f devkit." ] }, { @@ -55,17 +55,17 @@ "name": "stdout", "output_type": "stream", "text": [ - "Requirement already satisfied: matplotlib in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (3.6.2)\n", - "Requirement already satisfied: cycler>=0.10 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (0.11.0)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (4.38.0)\n", - "Requirement already satisfied: python-dateutil>=2.7 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (2.8.2)\n", - "Requirement already satisfied: pillow>=6.2.0 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (9.3.0)\n", - "Requirement already satisfied: numpy>=1.19 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (1.24.0)\n", - "Requirement already satisfied: pyparsing>=2.2.1 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (3.0.9)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (1.4.4)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (1.0.6)\n", - "Requirement already satisfied: packaging>=20.0 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (22.0)\n", - "Requirement already satisfied: six>=1.5 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)\n" + "Requirement already satisfied: matplotlib in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (3.10.0)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (1.3.1)\n", + "Requirement already satisfied: cycler>=0.10 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (4.56.0)\n", + "Requirement already satisfied: kiwisolver>=1.3.1 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (1.4.8)\n", + "Requirement already satisfied: numpy>=1.23 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (1.26.4)\n", + "Requirement already satisfied: packaging>=20.0 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (24.2)\n", + "Requirement already satisfied: pillow>=8 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (11.1.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (3.2.1)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (2.9.0.post0)\n", + "Requirement already satisfied: six>=1.5 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)\n" ] } ], @@ -85,7 +85,9 @@ "import time\n", "import random\n", "import copy\n", + "import socket\n", "import matplotlib.pyplot as plt\n", + "import sinabs.backend.dynapcnn.io as sio\n", "\n", "from torch import nn\n", "from sinabs.backend.dynapcnn import DynapcnnNetwork\n", @@ -174,9 +176,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Notice: Speck2e devkit neuron index remap**\n", + "**Notice: Speck2e/speck2f devkit neuron index remap**\n", "\n", - "Since for speck2e devkit there is wrong mapping relationship between the output channel index and the readout channel index. We need to define a function to remap the channel index.\n", + "Since for speck2e/speck2f devkit there is wrong mapping relationship between the output channel index and the readout channel index. We need to define a function to remap the channel index.\n", "\n", "**If your devkit is not speck2e/speck2f, then you don't need this remap step**\n", "\n", @@ -363,7 +365,7 @@ "readout_threshold = 1\n", "\n", "# init devkit config\n", - "devkit_cfg = dynapcnn_net.make_config(device=\"speck2edevkit:0\")\n", + "devkit_cfg = dynapcnn_net.make_config(device=\"speck2fdevkit:0\")\n", "\n", "# ========== modify devkit config ==========\n", "\n", @@ -414,7 +416,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Open device: Speck2eDevKit\n" + "Open device: Speck2fDevKit\n" ] } ], @@ -429,32 +431,20 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# init the graph\n", "samna_graph = samna.graph.EventFilterGraph()\n", "\n", - "\n", "# init necessary nodes in samna graph\n", "# node for writing fake inputs into devkit\n", - "input_buffer_node = samna.BasicSourceNode_speck2e_event_speck2e_input_event()\n", + "input_buffer_node = samna.BasicSourceNode_speck2f_event_input_event()\n", "# node for reading ReadoutValue\n", - "readout_value_buffer_node = samna.BasicSinkNode_speck2e_event_output_event()\n", + "readout_value_buffer_node = samna.BasicSinkNode_speck2f_event_output_event()\n", "# node for reading ReadoutPinValue\n", - "pin_value_buffer_node = samna.BasicSinkNode_speck2e_event_output_event()\n", + "pin_value_buffer_node = samna.BasicSinkNode_speck2f_event_output_event()\n", "# node for reading Spike(i.e. the output from last CNN layer)\n", - "spike_buffer_node = samna.BasicSinkNode_speck2e_event_output_event()\n", + "spike_buffer_node = samna.BasicSinkNode_speck2f_event_output_event()\n", "\n", "\n", "# build input branch for graph\n", @@ -464,13 +454,13 @@ "# build output branches for graph\n", "# branch #1: for the dvs input visualization\n", "_, _, streamer = samna_graph.sequential(\n", - " [devkit.get_model_source_node(), \"Speck2eDvsToVizConverter\", \"VizEventStreamer\"]\n", + " [devkit.get_model_source_node(), \"Speck2fDvsToVizConverter\", \"VizEventStreamer\"]\n", ")\n", "# branch #2: for obtaining the ReadoutValue\n", "_, type_filter_node_readout, _ = samna_graph.sequential(\n", " [\n", " devkit.get_model_source_node(),\n", - " \"Speck2eOutputEventTypeFilter\",\n", + " \"Speck2fOutputEventTypeFilter\",\n", " readout_value_buffer_node,\n", " ]\n", ")\n", @@ -478,28 +468,38 @@ "_, type_filter_node_pin, _ = samna_graph.sequential(\n", " [\n", " devkit.get_model_source_node(),\n", - " \"Speck2eOutputEventTypeFilter\",\n", + " \"Speck2fOutputEventTypeFilter\",\n", " pin_value_buffer_node,\n", " ]\n", ")\n", "# branch #4: for obtaining the output Spike from cnn output layer\n", "_, type_filter_node_spike, _ = samna_graph.sequential(\n", - " [devkit.get_model_source_node(), \"Speck2eOutputEventTypeFilter\", spike_buffer_node]\n", + " [devkit.get_model_source_node(), \"Speck2fOutputEventTypeFilter\", spike_buffer_node]\n", ")\n", "\n", "\n", "# set the streamer nodes of the graph\n", "# tcp communication port for dvs input data visualization\n", - "streamer_endpoint = \"tcp://0.0.0.0:40000\"\n", - "streamer.set_streamer_endpoint(streamer_endpoint)\n", - "# add desired type for filter node\n", - "type_filter_node_readout.set_desired_type(\"speck2e::event::ReadoutValue\")\n", - "type_filter_node_pin.set_desired_type(\"speck2e::event::ReadoutPinValue\")\n", - "type_filter_node_spike.set_desired_type(\"speck2e::event::Spike\")\n", + "def free_port():\n", + " \"\"\"\n", + " Determines a free port using sockets.\n", + " \"\"\"\n", + " free_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n", + " free_socket.bind((\"0.0.0.0\", 0))\n", + " free_socket.listen(5)\n", + " port = free_socket.getsockname()[1]\n", + " free_socket.close()\n", + " return port\n", "\n", "\n", - "# start samna graph before using the devkit\n", - "samna_graph.start()" + "# Specify the tcp port of the visualizer\n", + "streamer_endpoint = \"tcp://0.0.0.0:\" + str(free_port())\n", + "streamer.set_streamer_endpoint(streamer_endpoint)\n", + "\n", + "# add desired type for filter node\n", + "type_filter_node_readout.set_desired_type(\"speck2f::event::ReadoutValue\")\n", + "type_filter_node_pin.set_desired_type(\"speck2f::event::ReadoutPinValue\")\n", + "type_filter_node_spike.set_desired_type(\"speck2f::event::Spike\")" ] }, { @@ -514,23 +514,12 @@ "cell_type": "code", "execution_count": 11, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sender_endpoint: tcp://0.0.0.0:40863\n", - "receiver_endpoint: tcp://0.0.0.0:35285\n" - ] - } - ], + "outputs": [], "source": [ - "# init samna node for tcp transmission\n", - "samna_node = samna.init_samna()\n", - "sender_endpoint = samna_node.get_sender_endpoint()\n", - "receiver_endpoint = samna_node.get_receiver_endpoint()\n", - "visualizer_id = 3\n", - "time.sleep(1) # wait tcp connection build up, this is necessary to open remote node." + "# Visualizer configuration branch of the graph.\n", + "visualizer_config, _ = samna_graph.sequential(\n", + " [samna.BasicSourceNode_ui_event(), streamer] # For generating UI commands\n", + ")" ] }, { @@ -539,57 +528,16 @@ "metadata": {}, "outputs": [], "source": [ - "# define a function that run the GUI visualizer in the sub-process\n", - "def run_visualizer(receiver_endpoint, sender_endpoint, visualizer_id):\n", - " samnagui.runVisualizer(0.6, 0.6, receiver_endpoint, sender_endpoint, visualizer_id)\n", - "\n", - " return" + "# Launch visualizer\n", + "gui_process = sio.launch_visualizer(\n", + " receiver_endpoint=streamer_endpoint, disjoint_process=False\n", + ")" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "GUI process started, you should see a window pop up!\n", - "successful connect the GUI visualizer!\n" - ] - } - ], - "source": [ - "# create the subprocess\n", - "gui_process = Process(\n", - " target=run_visualizer, args=(receiver_endpoint, sender_endpoint, visualizer_id)\n", - ")\n", - "gui_process.start()\n", - "print(\"GUI process started, you should see a window pop up!\")\n", - "\n", - "# wait for open visualizer and connect to it.\n", - "timeout = 10\n", - "begin = time.time()\n", - "name = \"visualizer\" + str(visualizer_id)\n", - "while time.time() - begin < timeout:\n", - " try:\n", - " time.sleep(0.05)\n", - " samna.open_remote_node(visualizer_id, name)\n", - "\n", - " except:\n", - " continue\n", - "\n", - " else:\n", - " visualizer = getattr(samna, name)\n", - " print(f\"successful connect the GUI visualizer!\")\n", - " break" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, "outputs": [ { "name": "stdout", @@ -600,22 +548,14 @@ } ], "source": [ - "# set up the visualizer and GUI layout\n", - "\n", - "# set visualizer's receiver endpoint to streamer's sender endpoint for tcp communication\n", - "visualizer.receiver.set_receiver_endpoint(streamer_endpoint)\n", - "# connect the receiver output to splitter inside the visualizer\n", - "visualizer.receiver.add_destination(visualizer.splitter.get_input_channel())\n", - "\n", - "# add plots to gui\n", - "activity_plot_id = visualizer.plots.add_activity_plot(128, 128, \"DVS Layer\")\n", - "plot = visualizer.plot_0\n", - "plot.set_layout(0, 0, 0.5, 0.89)\n", + "# start samna graph before using the devkit\n", + "samna_graph.start()\n", "\n", - "visualizer.splitter.add_destination(\n", - " \"dvs_event\", visualizer.plots.get_plot_input(activity_plot_id)\n", + "# Specify which plot is to be shown in the visualizer\n", + "plot1 = samna.ui.ActivityPlotConfiguration(\n", + " image_width=128, image_height=128, title=\"DVS Layer\", layout=[0, 0, 0.5, 0.89]\n", ")\n", - "visualizer.plots.report()\n", + "visualizer_config.write([samna.ui.VisualizerConfiguration(plots=[plot1])])\n", "\n", "print(\"now you should see a change on the GUI window!\")" ] @@ -632,7 +572,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -660,7 +600,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -688,7 +628,7 @@ " for time_stamp in range(\n", " time_offset_micro_sec, time_micro_sec + time_offset_micro_sec + 1, time_stride\n", " ):\n", - " spk = samna.speck2e.event.DvsEvent()\n", + " spk = samna.speck2f.event.DvsEvent()\n", " spk.timestamp = time_stamp\n", " spk.p = random.randint(0, 1)\n", " spk.x = random.randint(0, 15)\n", @@ -709,7 +649,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -731,7 +671,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -740,7 +680,7 @@ "60" ] }, - "execution_count": 18, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -761,7 +701,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -777,7 +717,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -815,7 +755,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -828,7 +768,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAHHCAYAAABHp6kXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA0xklEQVR4nO3deXhUVZ7G8bcSsrAlEENIgEBYmiiyhLDYrGEJQoPagQbUBmVp1G5hWprGhelRFh9FGRuxW0ZgFDJq06yiqOxhE8FGQQhhX8IqEBCSECAJJGf+cKixyEIqVBYO38/z5Hmsc8+993ePRdWbe8+9cRhjjAAAAO5wXmVdAAAAgCcQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqABRo/fr1cjgcWr9+fVmXUqguXbqoS5cuZV2GJCk+Pl4Oh0NHjx4t61KAuw6hBihHbnwh3vipUKGCateuraFDh+rUqVNlXV6JuHLliiZMmJBvcJowYYLLeFSqVElNmjTRf/zHfyg9Pf229nvt2jUFBwerY8eOBfYxxig8PFzR0dG3tS8ApaNCWRcAIK9Jkyapfv36yszM1DfffKP4+Hht2rRJSUlJ8vf3L+vyPOrKlSuaOHGiJBV4tuW9995TlSpVlJGRoVWrVum1117T2rVr9fXXX8vhcGjVqlVu79fHx0cDBgzQzJkzdezYMdWrVy9Pn40bN+rkyZP605/+5Pb2AZQ+ztQA5dCvfvUrDR48WCNGjND777+vsWPH6vDhw1q6dGlZl1Ym+vfvr8GDB+v3v/+9PvnkE/Xr109btmzRN998I0ny9fWVr6+v29sdNGiQjDH65z//me/yuXPnysvLS4899tht1Q+gdBBqgDtAp06dJEmHDx92tu3bt0/9+/dXUFCQ/P391bp16zyh58KFCxo7dqyaNWumKlWqKCAgQL/61a+0c+fOPPs4efKk4uLiVLlyZYWEhOhPf/qTsrKy8q1n4cKFatWqlSpWrKjg4GANHjw4z+Wxgua5DB06VBEREZKko0ePqkaNGpKkiRMnOi8zTZgwodDx6NatmyQpOTk5333dmAu0YMECvfbaa6pTp478/f3VvXt3HTp0yNmvQ4cOioiI0Ny5c/Ps49q1a1q0aJG6du2qWrVqKTExUUOHDlWDBg3k7++v0NBQDR8+XD/++GOhtUoq8JgiIiI0dOhQl7bU1FSNHj1a4eHh8vPzU6NGjfTmm28qNzf3lvsB7nZcfgLuADcmnVavXl2StHv3bnXo0EG1a9fWSy+9pMqVK2vBggWKi4vT4sWL1bdvX0nSkSNH9Omnn2rAgAGqX7++zp49q5kzZyomJkZ79uxRrVq1JElXr15V9+7ddfz4cf3xj39UrVq19NFHH2nt2rV5aomPj9ewYcPUpk0bTZ48WWfPntU777yjr7/+Wt9//72qVatW5OOqUaOG3nvvPf3hD39Q37591a9fP0lS8+bNC13vRri75557Cu33xhtvyMvLS2PHjlVaWpqmTJmiQYMG6V//+pekn8LGb3/7W73++uvavXu37r//fue6K1as0IULFzRo0CBJ0urVq3XkyBENGzZMoaGh2r17t2bNmqXdu3frm2++kcPhKPJxF+TKlSuKiYnRqVOn9Mwzz6hu3bravHmzxo0bp9OnT2vatGm3vQ/AagZAuTFnzhwjyaxZs8acO3fOnDhxwixatMjUqFHD+Pn5mRMnThhjjOnevbtp1qyZyczMdK6bm5tr2rdvb37xi1842zIzM01OTo7LPpKTk42fn5+ZNGmSs23atGlGklmwYIGz7fLly6ZRo0ZGklm3bp0xxpjs7GwTEhJimjZtaq5evers+8UXXxhJ5pVXXnG2xcTEmJiYmDzHOGTIEFOvXj3n63PnzhlJZvz48Xn6jh8/3kgy+/fvN+fOnTPJyclm5syZxs/Pz9SsWdNcvnw5332tW7fOSDL33XefycrKcra/8847RpLZtWuXs2337t1Gkhk3bpzLvh977DHj7+9v0tLSjDHGXLlyJU99//znP40ks3HjRmfbjf+HycnJzraCjq9evXpmyJAhztevvvqqqVy5sjlw4IBLv5deesl4e3ub48eP59kGgP/H5SegHIqNjVWNGjUUHh6u/v37q3Llylq6dKnq1KmjCxcuaO3atRo4cKAuXbqk8+fP6/z58/rxxx/Vs2dPHTx40HkpyM/PT15eP/0zz8nJ0Y8//qgqVaooMjJS27dvd+5v2bJlCgsLU//+/Z1tlSpV0tNPP+1S13fffaeUlBQ9++yzLhOW+/Tpo3vvvVdffvlliYxHZGSkatSoofr16+uZZ55Ro0aN9OWXX6pSpUqFrjds2DCXuTY3LuMdOXLE2dakSRO1bNlS8+bNc7ZdvnxZS5cu1UMPPaSAgABJUsWKFZ3LMzMzdf78ef3yl7+UJJexvB0LFy5Up06dVL16def/1/Pnzys2NlY5OTnauHGjR/YD2IrLT0A5NH36dDVu3FhpaWmaPXu2Nm7cKD8/P0nSoUOHZIzRyy+/rJdffjnf9VNSUlS7dm3l5ubqnXfe0X/9138pOTlZOTk5zj4/v3Rz7NgxNWrUKM8llMjISJfXx44dy7ddku69915t2rSpeAd8C4sXL1ZAQIB8fHxUp04dNWzYsEjr1a1b1+X1jct3Fy9edGkfNGiQxo4dq82bN6t9+/b69NNPdeXKFeelJ+mn+UkTJ07UvHnzlJKS4rJ+WlpacQ4rj4MHDyoxMdE5z+hmN+8XgCtCDVAOtW3bVq1bt5YkxcXFqWPHjvrtb3+r/fv3OyeMjh07Vj179sx3/UaNGkmSXn/9db388ssaPny4Xn31VQUFBcnLy0ujR48u8YmnDodDxpg87T8PVkXVuXNnBQcHu72et7d3vu031/X444/rhRde0Ny5c9W+fXvNnTtX1atXV+/evZ19Bg4cqM2bN+v5559XVFSUqlSpotzcXPXq1avYY3nzWOTm5qpHjx564YUX8u3fuHHjYu0HuFsQaoByztvbW5MnT1bXrl317rvvavjw4ZJ+es5KbGxsoeveuHvngw8+cGlPTU11CQn16tVTUlKSjDEuZ2v279/vst6NZ7ns37/feQfSz/v+/Fkv1atXd7nMc8ONsz03eGKC7e2qVauWunbtqoULF+rll1/W6tWrNXToUOelq4sXLyohIUETJ07UK6+84lzv4MGDRdp+9erVlZqa6tKWnZ2t06dPu7Q1bNhQGRkZt/z/CiB/zKkB7gBdunRR27ZtNW3aNAUEBKhLly6aOXNmni9FSTp37pzzv729vfOclVi4cGGe26979+6tH374QYsWLXK2XblyRbNmzXLp17p1a4WEhGjGjBkut3svX75ce/fuVZ8+fZxtDRs21L59+1zq2blzp77++muXbd6YF3Pzl35pGzRokFJSUvTMM8/o2rVrLpeebpzxuXksi3o3UsOGDfPMh5k1a1aeMzUDBw7Uli1btHLlyjzbSE1N1fXr14u0P+BuxZka4A7x/PPPa8CAAYqPj9f06dPVsWNHNWvWTE899ZQaNGigs2fPasuWLTp58qTzOTQPPfSQJk2apGHDhql9+/batWuX/vGPf6hBgwYu237qqaf07rvv6sknn9S2bdsUFhamjz76KM9EXB8fH7355psaNmyYYmJi9Pjjjztv6Y6IiHB58u7w4cM1depU9ezZU7/73e+UkpKiGTNm6P7773f5EwcVK1ZUkyZNNH/+fDVu3FhBQUFq2rSpmjZtWoKjmddvfvMbPfvss/rss88UHh6uzp07O5cFBASoc+fOmjJliq5du6batWtr1apVzufk3MqIESP0+9//Xr/5zW/Uo0cP7dy5UytXrsxzSe355593TlAeOnSoWrVqpcuXL2vXrl1atGiRjh49WqzLcMBdoyxvvQLg6sbtwN9++22eZTk5OaZhw4amYcOG5vr16+bw4cPmySefNKGhocbHx8fUrl3bPPTQQ2bRokXOdTIzM82f//xnExYWZipWrGg6dOhgtmzZku/t1seOHTOPPPKIqVSpkgkODjbPPfecWbFihcst3TfMnz/ftGzZ0vj5+ZmgoCAzaNAgc/LkyTw1f/zxx6ZBgwbG19fXREVFmZUrV+a5pdsYYzZv3mxatWplfH19XW5/vnFL97lz5wodt4Ju6V64cKFLv+TkZCPJzJkzJ9/tDBgwwEgyL7zwQp5lJ0+eNH379jXVqlUzgYGBZsCAAeaHH37Ic7t2frd05+TkmBdffNEEBwebSpUqmZ49e5pDhw7luaXbGGMuXbpkxo0bZxo1amR8fX1NcHCwad++vXnrrbdMdnZ2oeMA3O0cxuQzkw8AAOAOw5waAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAAr3NEP38vNzdUPP/ygqlWrlotHrQMAgFszxujSpUuqVauWvLw8d37ljg41P/zwg8LDw8u6DAAAUAwnTpxQnTp1PLa9OzrUVK1aVdJPgxIQEFDG1QAAgKJIT09XeHi483vcU+7oUHPjklNAQAChBgCAO4ynp44wURgAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsUKGsCwCAm+XkGm1NvqCUS5kKqeqvtvWD5O3lKPJyT2zjTqjhbjlOarDrOEtSmYaayZMn65NPPtG+fftUsWJFtW/fXm+++aYiIyPLsiwAZWhF0mlN/HyPTqdlOtvCAv01/uEm6tU07JbLPbGNO6GGu+U4qcGu4yxpDmOMKfG9FKBXr1567LHH1KZNG12/fl3//u//rqSkJO3Zs0eVK1e+5frp6ekKDAxUWlqaAgICSqFiACVpRdJp/eHj7br5Q+nG73hPd66vWRuTC1z+3uBoSbqtbdzu8tKo4W45TmoovX2URg3vDY52BpuS+v4u01Bzs3PnzikkJEQbNmxQ586db9mfUAPYIyfXqOOba11+w7uZl0PKLeATyyGpZoCfJIfOpBdvG7e7vDRquFuOkxpKbx+lUYNDUmigvza92E3eXo4S+/4uV3Nq0tLSJElBQUH5Ls/KylJWVpbzdXp6eqnUBaDkbU2+UGigkQr/UDaSzqRnFdyhCNu43eWlUcPdcpzUUHr7KI0ajKTTaZnamnxB7Rrec8ttFVe5ufspNzdXo0ePVocOHdS0adN8+0yePFmBgYHOn/Dw8FKuEkBJSblUeKABcOcr6X/n5SbUjBw5UklJSZo3b16BfcaNG6e0tDTnz4kTJ0qxQgAlKaSqf1mXAKCElfS/83Jx+WnUqFH64osvtHHjRtWpU6fAfn5+fvLz8yvFygCUlrb1gxQW6K8zaZl5Jhre4OWQjFG+y39+3f9sevG2cbvLS6OGu+U4qaH09lEaNdyYU9O2fv7TSzylTM/UGGM0atQoLVmyRGvXrlX9+vXLshwAZcjby6HxDzeR9P93S9zg+L+fpzrVL3C5JE145H5NeKT427jd5aVRQ2nsgxrKTw2lsY/SqEGSxj/cpMSfV1OmoWbkyJH6+OOPNXfuXFWtWlVnzpzRmTNndPXq1bIsC0AZ6dU0TO8NjlZooOsp6tBAf703OFrjejcpdHmvpmG3vY3bXV4aNdwtx0kNdh2n9c+pcTjyT2xz5szR0KFDb7k+t3QDdioPTz29E2q4W46TGuw6TukueU6Nuwg1AADceUrq+7vc3P0EAABwOwg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALCC26Fm3759BS5buXLlbRUDAABQXG6HmujoaE2fPt2lLSsrS6NGjdKvf/1rjxUGAADgDrdDTXx8vF555RX17t1bZ8+e1Y4dO9SyZUutWbNGX331VUnUCAAAcEtuh5qBAwdq586dunbtmu6//361a9dOMTEx2r59u9q0aVMSNQIAANxSsScKZ2dnKycnRzk5OQoLC5O/v78n6wIAAHCL26Fm3rx5atasmQIDA3XgwAF9+eWXmjVrljp16qQjR46URI0AAAC35Hao+d3vfqfXX39dS5cuVY0aNdSjRw/t2rVLtWvXVlRUVAmUCAAAcGsV3F1h+/btioyMdGmrXr26FixYoI8++shjhQEAALjD7TM1kZGRun79utasWaOZM2fq0qVLkqQffvhBffv29XiBAAAAReH2mZpjx46pV69eOn78uLKystSjRw9VrVpVb775prKysjRjxoySqBMAAKBQbp+pee6559S6dWtdvHhRFStWdLb37dtXCQkJHi0OAACgqNw+U/PVV19p8+bN8vX1dWmPiIjQqVOnPFYYAACAO9w+U5Obm6ucnJw8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wAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFihXISa6dOnKyIiQv7+/nrggQe0devWsi4JAADcYco81MyfP19jxozR+PHjtX37drVo0UI9e/ZUSkpKWZcGAADuIGUeaqZOnaqnnnpKw4YNU5MmTTRjxgxVqlRJs2fPLuvSAADAHaRMQ012dra2bdum2NhYZ5uXl5diY2O1ZcuWMqwMAADcaSqU5c7Pnz+vnJwc1axZ06W9Zs2a2rdvX57+WVlZysrKcr5OS0uTJKWnp5dsoQAAwGNufG8bYzy63TINNe6aPHmyJk6cmKc9PDy8DKoBAAC348cff1RgYKDH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SvppUnRGRobz+G+4evWqDh8+7KzzqaeeKmwoVLFiRedvshUrViy0L1DetGzZUjk5OUpJSVGnTp3y7dOhQwddv35dhw8fdn7uHDhwQNJP/05LCqEGuEv4+Pi4vHY4HPm23bick5GRIW9vb23btk3e3t4u/W4EoeDgYF25ckXZ2dny9fX16P5vVpQv/8qVK9+yz61ER0crOTlZy5cv15o1azRw4EDFxsZq0aJFysjIUFhYWL6XrqpVq1bkOi9cuKDKlSsTaFBuZWRk6NChQ87XycnJ2rFjh4KCgtS4cWMNGjRITz75pP7617+qZcuWOnfunBISEtS8eXP16dNHsbGxio6O1vDhwzVt2jTl5uZq5MiR6tGjR55flDyJicLAHc7X19dlcq+n/Py3sUaNGrn8hIaGSpKioqIkSXv27PH4/m/WvHlz7dixw627J+677748c2L27Nmj1NRUNWnSpMD1AgIC9Oijj+q///u/NX/+fC1evFgXLlxQdHS0zpw5owoVKuQZk+DgYGedCQkJhdaVlJSkli1bFvk4gNL23XffqWXLls736ZgxY9SyZUu98sorkqQ5c+boySef1J///GdFRkYqLi5O3377rerWrStJ8vLy0ueff67g4GB17txZffr00X333VfiE+Q5UwPc4SIiIvSvf/1LR48eVZUqVQq9POOOovw2VqNGDUVHR2vTpk3OgFNSHn/8cb3++uuKi4vT5MmTFRYWpu+//161atVSu3bt8l0nNjZWzZo106BBgzRt2jRdv35dzz77rGJiYgqc3Dx16lSFhYWpZcuW8vLy0sKFCxUaGqpq1aopNjZW7dq1U1xcnKZMmaLGjRvrhx9+cE4Obt26tcaPH6/u3burYcOGeuyxx3T9+nUtW7ZML774onMfX331lfOSFlAedenSRaaQx9j5+Pho4sSJmjhxYoF9atWqVeoPmuRMDXCHGzt2rLy9vdWkSRPVqFFDx48f99i2b/XbmCSNGDFC//jHPzy2z4L4+vpq1apVCgkJUe/evdWsWTO98cYbeS6N/ZzD4dBnn32m6tWrq3PnzoqNjVWDBg00f/78AtepWrWqpkyZotatW6tNmzY6evSoli1bJi8vLzkcDi1btkydO3fWsGHD1LhxYz322GM6duyYatasKemnL4OFCxdq6dKlioqKUrdu3bR161bn9k+dOqXNmzdr2LBhnhscAJJ4ojCA23T16lVFRkZq/vz5BZ4xwf978cUXdfHiRc2aNausSwGsw+UnALelYsWK+vDDD3X+/PmyLuWOEBISojFjxpR1GYCVOFMDAACswJwaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGCF/wWWOV6F+ernGwAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAHHCAYAAABHp6kXAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAANMZJREFUeJzt3Xl4VFWexvG3ErKwJRBDSIBAWJoosoSw2KxhCUKD2oEG1AZladRuYVqaxoXpURYfRRkbsVtGYBQyatOsoqjsYRPBRkEIYV/CKhAQkhAgCSRn/nCoschCKlQWDt/P8+R5rHPPvfd3j0XVm3vPvXEYY4wAAADucF5lXQAAAIAnEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAUaP369XI4HFq/fn1Zl1KoLl26qEuXLmVdhiQpPj5eDodDR48eLetSgLsOoQYoR258Id74qVChgmrXrq2hQ4fq1KlTZV1eibhy5YomTJiQb3CaMGGCy3hUqlRJTZo00X/8x38oPT39tvZ77do1BQcHq2PHjgX2McYoPDxc0dHRt7UvAKWjQlkXACCvSZMmqX79+srMzNQ333yj+Ph4bdq0SUlJSfL39y/r8jzqypUrmjhxoiQVeLblvffeU5UqVZSRkaFVq1bptdde09q1a/X111/L4XBo1apVbu/Xx8dHAwYM0MyZM3Xs2DHVq1cvT5+NGzfq5MmT+tOf/uT29gGUPs7UAOXQr371Kw0ePFgjRozQ+++/r7Fjx+rw4cNaunRpWZdWJvr376/Bgwfr97//vT755BP169dPW7Zs0TfffCNJ8vX1la+vr9vbHTRokIwx+uc//5nv8rlz58rLy0uPPfbYbdUPoHQQaoA7QKdOnSRJhw8fdrbt27dP/fv3V1BQkPz9/dW6des8oefChQsaO3asmjVrpipVqiggIEC/+tWvtHPnzjz7OHnypOLi4lS5cmWFhIToT3/6k7KysvKtZ+HChWrVqpUqVqyo4OBgDR48OM/lsYLmuQwdOlQRERGSpKNHj6pGjRqSpIkTJzovM02YMKHQ8ejWrZskKTk5Od993ZgLtGDBAr322muqU6eO/P391b17dx06dMjZr0OHDoqIiNDcuXPz7OPatWtatGiRunbtqlq1aikxMVFDhw5VgwYN5O/vr9DQUA0fPlw//vhjobVKKvCYIiIiNHToUJe21NRUjR49WuHh4fLz81OjRo305ptvKjc395b7Ae52XH4C7gA3Jp1Wr15dkrR792516NBBtWvX1ksvvaTKlStrwYIFiouL0+LFi9W3b19J0pEjR/Tpp59qwIABql+/vs6ePauZM2cqJiZGe/bsUa1atSRJV69eVffu3XX8+HH98Y9/VK1atfTRRx9p7dq1eWqJj4/XsGHD1KZNG02ePFlnz57VO++8o6+//lrff/+9qlWrVuTjqlGjht577z394Q9/UN++fdWvXz9JUvPmzQtd70a4u+eeewrt98Ybb8jLy0tjx45VWlqapkyZokGDBulf//qXpJ/Cxm9/+1u9/vrr2r17t+6//37nuitWrNCFCxc0aNAgSdLq1at15MgRDRs2TKGhodq9e7dmzZql3bt365tvvpHD4SjycRfkypUriomJ0alTp/TMM8+obt262rx5s8aNG6fTp09r2rRpt70PwGoGQLkxZ84cI8msWbPGnDt3zpw4ccIsWrTI1KhRw/j5+ZkTJ04YY4zp3r27adasmcnMzHSum5uba9q3b29+8YtfONsyMzNNTk6Oyz6Sk5ONn5+fmTRpkrNt2rRpRpJZsGCBs+3y5cumUaNGRpJZt26dMcaY7OxsExISYpo2bWquXr3q7PvFF18YSeaVV15xtsXExJiYmJg8xzhkyBBTr1495+tz584ZSWb8+PF5+o4fP95IMvv37zfnzp0zycnJZubMmcbPz8/UrFnTXL58Od99rVu3zkgy9913n8nKynK2v/POO0aS2bVrl7Nt9+7dRpIZN26cy74fe+wx4+/vb9LS0owxxly5ciVPff/85z+NJLNx40Zn243/h8nJyc62go6vXr16ZsiQIc7Xr776qqlcubI5cOCAS7+XXnrJeHt7m+PHj+fZBoD/x+UnoByKjY1VjRo1FB4erv79+6ty5cpaunSp6tSpowsXLmjt2rUaOHCgLl26pPPnz+v8+fP68ccf1bNnTx08eNB5KcjPz09eXj/9M8/JydGPP/6oKlWqKDIyUtu3b3fub9myZQoLC1P//v2dbZUqVdLTTz/tUtd3332nlJQUPfvssy4Tlvv06aN7771XX375ZYmMR2RkpGrUqKH69evrmWeeUaNGjfTll1+qUqVKha43bNgwl7k2Ny7jHTlyxNnWpEkTtWzZ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AMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYoVyEmunTpysiIkL+/v564IEHtHXr1rIuCQAA3GHKPNTMnz9fY8aM0fjx47V9+3a1aNFCPXv2VEpKSlmXBgAA7iBlHmqmTp2qp556SsOGDVOTJk00Y8YMVapUSbNnzy7r0gAAwB2kTENNdna2tm3bptjYWGebl5eXYmNjtWXLljKsDAAA3GkqlOXOz58/r5ycHNWsWdOlvWbNmtq3b1+e/llZWcrKynK+TktLkySlp6eXbKEAAMBjbnxvG2M8ut0yDTXumjx5siZOnJinPTw8vAyqAQAAt+PHH39UYGCg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ODhYffv2dS7z9vZW7969NW/evELHDCivjh8/rjlz5mjhwoXq1KmTGjZsqLFjx6pjx46aM2eOJOnIkSM6duyYFi5cqA8//FDx8fHatm2b+vfvX6K1VSjRrQMoUe+8844OHDigpk2batKkSZKkGjVq6OjRo3n6XrlyRX/72980b948Xbp0Sf369VPfvn1VrVo1LVu2TEeOHNFvfvMbdejQQY8++qikn34b27Nnj+bNm6datWppyZIl6tWrl3bt2qVf/OIXSkxMVFpamlq3bn3LWg8fPqzly5drxYoVOnz4sPr3768jR46ocePG2rBhgzZv3qzhw4crNjZWDzzwQJ71MzIyFBMTo9q1a2vp0qUKDQ3V9u3blZub6+xz6NAhLV68WJ988om8vb2Vm5vrDDQbNmzQ9evXNXLkSD366KMu4ezn/va3v2np0qVasGCB6tatqxMnTujEiRPO5QMGDFDFihW1fPlyBQYGaubMmerevbsOHDigoKAgffnll+rbt6/+8pe/6MMPP1R2draWLVvmso+2bdvqjTfeuOWYAeXRrl27lJOTo8aNG7u0Z2Vl6Z577pEk5ebmKisrSx9++KGz3wcffKBWrVpp//79JXdJqph/WRxAORETE2Oee+45l7Z169YZSebixYvGGGPmzJljJJlDhw45+zzzzDOmUqVK5tKlS862nj17mmeeecYYY8yxY8eMt7e3OXXqlMu2u3fvbsaNG2eMMWbJkiXG29vb5ObmFlrj+PHjTaVKlUx6errLviIiIkxOTo6zLTIy0kyePNn5WpJZsmSJMcaYmTNnmqpVq5off/yxwH34+PiYlJQUZ9uqVauMt7e3OX78uLNt9+7dRpLZunVrvtv5t3/7N9OtW7d8j+mrr74yAQEBJjMz06W9YcOGZubMmcYYY9q1a2cGDRpU0FAYY4z57LPPjJeXl8uxA+XVz/8dGmPMvHnzjLe3t9m3b585ePCgy8/p06eNMca88sorpkKFCi7buXLlipFkVq1aVWK1cqYGuEtUqlRJDRs2dL6uWbOmIiIiXObC1KxZUykpKZKK9tvY1atX5efnV6S5OxEREapatarLvry9vV0my/58/zfbsWOHWrZsqaCgoAL3Ua9ePdWoUcP5eu/evQoPD1d4eLizrUmTJqpWrZr27t2rNm3a5NnG0KFD1aNHD0VGRqpXr1566KGH9OCDD0r6aVJ0RkaG8/hvuHr1qg4fPuys86mnnipsKFSxYkXnb7IVK1YstC9Q3rRs2VI5OTlKSUlRp06d8u3ToUMHXb9+XYcPH3Z+7hw4cEDST/9OSwqhBrhL+Pj4uLx2OBz5tt24nJORkSFvb29t27ZN3t7eLv1uBKHg4GBduXJF2dnZ8vX19ej+b1aUL//KlSvfss+tREdHKzk5WcuXL9eaNWs0cOBAxcbGatGiRcrIyFBYWFi+l66qVatW5DovXLigypUrE2hQbmVkZOjQoUPO18nJydqxY4eCgoLUuHFjDRo0SE8++aT++te/qmXLljp37pwSEhLUvHlz9enTR7GxsYqOjtbw4cM1bdo05ebmauTIkerRo0eeX5Q8iYnCwB3O19fXZXKvp/z8t7FGjRq5/ISGhkqSoqKiJEl79uzx+P5v1rx5c+3YscOtuyfuu+++PHNi9uzZo9TUVDVp0qTA9QICAvToo4/qv//7vzV//nwtXrxYFy5cUHR0tM6cOaMKFSrkGZPg4GBnnQkJCYXWlZSUpJYtWxb5OIDS9t1336lly5bO9+mYMWPUsmVLvfLKK5KkOXPm6Mknn9Sf//xnRUZGKi4uTt9++63q1q0rSfLy8tLnn3+u4OBgde7cWX369NF9991X4hPkOVMD3OEiIiL0r3/9S0ePHlWVKlUKvTzjjqL8NlajRg1FR0dr06ZNzoBTUh5//HG9/vrriouL0+TJkxUWFqbvv/9etWrVUrt27fJdJzY2Vs2aNdOgQYM0bdo0Xb9+Xc8++6xiYmIKnNw8depUhYWFqWXLlvLy8tLChQsVGhqqatWqKTY2Vu3atVNcXJymTJmixo0b64cffnBODm7durXGjx+v7t27q2HDhnrsscd0/fp1LVu2TC+++KJzH1999ZXzkhZQHnXp0kWmkMfY+fj4aOLEiZo4cWKBfWrVqlXqD5rkTA1whxs7dqy8vb3VpEkT1ahRQ8ePH/fYtm/125gkjRgxQv/4xz88ts+C+Pr6atWqVQoJCVHv3r3VrFkzvfHGG3kujf2cw+HQZ599purVq6tz586KjY1VgwYNNH/+/ALXqVq1qqZMmaLWrVurTZs2Onr0qJYtWyYvLy85HA4tW7ZMnTt31rBhw9S4cWM99thjOnbsmGrWrCnppy+DhQsXaunSpYqKilK3bt20detW5/ZPnTqlzZs3a9iwYZ4bHACSeKIwgNt09epVRUZGav78+QWeMcH/e/HFF3Xx4kXNmjWrrEsBrMPlJwC3pWLFivrwww91/vz5si7ljhASEqIxY8aUdRmAlThTAwAArMCcGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABghf8Fljlehfnq5xsAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -871,7 +811,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -891,7 +831,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -929,7 +869,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -942,7 +882,7 @@ }, { "data": { - "image/png": "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gwYN5HA49MEHH1x3mY0bN6pDhw4KDAxUixYtlJKS4vM6bwaejuXGjRuLfSYdDodOnTpVMQVXUdOmTVOnTp0UEhKiyMhIJSUlad++fdddjmNlceUZS46Vxb311ltq27at6yWFXbp00erVq6+5jLc+j1U61CxevFgTJkzQpEmTtH37drVr1059+vRRVlZWif03b96sRx99VL/61a/0zTffKCkpSUlJSUpPT6/gyqseT8dS+umtmSdPnnT9ZGRkVGDFVdP58+fVrl07zZo1q0z9Dx8+rP79++uee+7Rjh07NH78eI0ZM0Zr1671caVVn6djecW+ffvcPpeRkZE+qvDmsGnTJo0dO1b//ve/9emnn+rSpUu67777dP78+VKX4VhZsvKMpcSx8mqNGjXSK6+8om3btunrr79Wr1699Mtf/lLffvttif29+nk0VVjnzp3N2LFjXdNFRUWmQYMGZtq0aSX2Hzx4sOnfv79b21133WWeeuopn9Z5M/B0LOfNm2fCwsIqqLqbkySzfPnya/b54x//aO688063tkceecT06dPHh5XdfMoylhs2bDCSzI8//lghNd2ssrKyjCSzadOmUvtwrCybsowlx8qyqVOnjnn77bdLnOfNz2OVPVNTWFiobdu2KTEx0dXm5+enxMREbdmypcRltmzZ4tZfkvr06VNq/1tFecZSks6dO6cmTZooOjr6mikbpeMz6X1xcXGKiorSvffeqy+//LKyy6lycnNzJemaXxTI57JsyjKWEsfKaykqKtKiRYt0/vx5denSpcQ+3vw8VtlQc+bMGRUVFRX7uoR69eqVeg391KlTHvW/VZRnLGNjYzV37lx9+OGHevfdd+V0OtW1a1cdP368Ikq2Rmmfyby8PF28eLGSqro5RUVFKTk5We+9957ee+89RUdHq2fPntq+fXtll1ZlOJ1OjR8/Xt26dVPr1q1L7cex8vrKOpYcK0u2a9cu1apVS4GBgfr1r3+t5cuXq1WrViX29ebnsUp8TQKqni5duril6q5du+qOO+7Q7Nmz9ec//7kSK8OtKjY2VrGxsa7prl276uDBg3r99de1YMGCSqys6hg7dqzS09P1xRdfVHYpN72yjiXHypLFxsZqx44dys3N1bJlyzRixAht2rSp1GDjLVX2TE3dunXl7++vzMxMt/bMzEzVr1+/xGXq16/vUf9bRXnG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", + "image/png": "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/tPt3QBuTx4/UXj8+PF64IEHlJaWplOnTunHH390e/m7wACHxj7cVNL/3TFxleM/r6fvbeiz6ZI07pG7Ne4R39VQGuugBv+poTTWUV5qGPtwUy4SBm5jHh+pSUlJUWpqqgYNGnTLKz937py+//571/sDBw5o69atioiIUL169W55+dfTo1m03h3YqtCzLmr97FkXLetV9+l0ST6voTTWQQ3+U8Ptsp3FqQHA7cnjW7rvuOMObdq0SbGxsbe88rVr1+q+++4r1D548GClpqbedP5bvSXMH556asM6qMF/arhdtpMnCgPlm988p+all15SlSpV9Morr3itiJLy1aAAAADf8Zvn1Fy6dEnTp0/XqlWr1KJFC1WsWNFt+uTJk71WHAAAQHGV6Fe64+PjJUkZGRlu0xwODv8CAICy4XGoWbNmjS/qAAAAuCUe39INAADgjwg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFQg1AADACoQaAABgBUINAACwAqEGAABYgVADAACsQKgBAABWINQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFjBL0LN1KlT1aBBA4WEhKhdu3batGmTR/Nv2n9GBU7j1lbgNNq477QWbz2mjftOF5oOAADsUqGsC5g3b55GjRqllJQUtWvXTlOmTFH37t21e/duRUVFFWsZQ//3a9WJ2qexDzdVj2bRWpFxXOM/2aHjOZdcfaLDQ1zTAQCAfRzGmDI9hNGuXTu1adNG77zzjiTJ6XQqJiZGv/3tbzV69Ogbzpubm6vw8HDFjJyvwOBKkqRnOjfU9C8O6NqNcvznv+8ObEWwAQCgDF39/s7JyVFYWJjXllump5/y8/O1efNmJSUludoCAgKUlJSkjRs3erQs85/X39cXDjRXp0vS+E92cCoKAAALlenpp1OnTqmgoEA1a9Z0a69Zs6Z27dpVqH9eXp7y8vJc73NyciRJzrwLrjbnTdZ5LOuC1qQfUttGESUvHAAAlFhubq4kydsni8r8mhpPTJw4UePHjy/Ufuzdpzxazv1TvFMPAAAoudOnTys8PNxryyvTUFOjRg0FBgYqMzPTrT0zM1O1atUq1P/ll1/WqFGjXO+zs7NVv359HT582KuDcjvKzc1VTEyMjhw54tXzm7cbxtF7GEvvYSy9g3H0npycHNWrV08REd49a1KmoSYoKEitW7dWWlqakpOTJf10oXBaWppGjBhRqH9wcLCCg4MLtYeHh/MB85KwsDDG0gsYR+9hLL2HsfQOxtF7AgK8e2lvmZ9+GjVqlAYPHqyEhAS1bdtWU6ZM0fnz5zVkyJCyLg0AAJQjZR5qHnvsMZ08eVJjxozRiRMnFB8frxUrVhS6eBgAAOBGyjzUSNKIESOKPN10M8HBwRo7dmyRp6TgGcbSOxhH72EsvYex9A7G0Xt8NZZl/vA9AAAAb/CL334CAAC4VYQaAABgBUINAACwAqEGAABYwe9DzdSpU9WgQQOFhISoXbt22rRp0w37L1iwQHfeeadCQkLUvHlzLVu2rJQq9X+ejGVqaqocDofbKyQkpBSr9U9ffPGFHn74YdWuXVsOh0Mff/zxTedZu3atWrVqpeDgYDVu3Fipqak+r7M88HQs165dW+gz6XA4dOLEidIp2E9NnDhRbdq0UdWqVRUVFaXk5GTt3r37pvOxryysJGPJvrKwd999Vy1atHA9pLB9+/Zavnz5Defx1ufRr0PNvHnzNGrUKI0dO1ZbtmzRPffco+7duysrK6vI/hs2bNDjjz+uX/3qV/r222+VnJys5ORkZWRklHLl/sfTsZR+emrm8ePHXa9Dhw6VYsX+6fz587rnnns0derUYvU/cOCAevXqpfvuu09bt27VyJEjNWzYMK1cudLHlfo/T8fyqt27d7t9LqOionxUYfmwbt06DR8+XP/617/0+eef6/Lly3rggQd0/vz5687DvrJoJRlLiX3lterWravXX39dmzdv1jfffKOuXbvql7/8pb777rsi+3v182j8WNu2bc3w4cNd7wsKCkzt2rXNxIkTi+zfr18/06tXL7e2du3amWeffdandZYHno7lzJkzTXh4eClVVz5JMosWLbphnz/+8Y/m7rvvdmt77LHHTPfu3X1YWflTnLFcs2aNkWR+/PHHUqmpvMrKyjKSzLp1667bh31l8RRnLNlXFk/16tXNe++9V+Q0b34e/fZITX5+vjZv3qykpCRXW0BAgJKSkrRx48Yi59m4caNbf0nq3r37dfvfLkoylpJ07tw51a9fXzExMTdM2bg+PpPeFx8fr+joaN1///366quvyrocv5OTkyNJN/yhQD6XxVOcsZTYV95IQUGB5s6dq/Pnz6t9+/ZF9vHm59FvQ82pU6dUUFBQ6OcSatased1z6CdOnPCo/+2iJGMZFxenGTNmaPHixfrggw/kdDrVoUMHHT16tDRKtsb1PpO5ubm6ePFiGVVVPkVHRyslJUUffvihPvzwQ8XExKhLly7asmVLWZfmN5xOp0aOHKmOHTuqWbNm1+3HvvLmijuW7CuLtn37dlWpUkXBwcH69a9/rUWLFqlp06ZF9vXm59EvfiYB/qd9+/ZuqbpDhw666667NG3aNL366qtlWBluV3FxcYqLi3O979Chg/bt26e33npLs2fPLsPK/Mfw4cOVkZGhL7/8sqxLKfeKO5bsK4sWFxenrVu3KicnRwsXLtTgwYO1bt266wYbb/HbIzU1atRQYGCgMjMz3dozMzNVq1atIuepVauWR/1vFyUZy2tVrFhRLVu21Pfff++LEq11vc9kWFiYQkNDy6gqe7Rt25bP5H+MGDFCS5cu1Zo1a1S3bt0b9mVfeWOejOW12Ff+JCgoSI0bN1br1q01ceJE3XPPPXr77beL7OvNz6PfhpqgoCC1bt1aaWlprjan06m0tLTrnpdr3769W39J+vzzz6/b/3ZRkrG8VkFBgbZv367o6GhflWklPpO+tXXr1tv+M2mM0YgRI7Ro0SKtXr1aDRs2vOk8fC6LVpKxvBb7yqI5nU7l5eUVOc2rn8cSXMRcaubOnWuCg4NNamqq2bFjh3nmmWdMtWrVzIkTJ4wxxgwaNMiMHj3a1f+rr74yFSpUMH/5y1/Mzp07zdixY03FihXN9u3by2oT/IanYzl+/HizcuVKs2/fPrN582bTv39/ExISYr777ruy2gS/cPbsWfPtt9+ab7/91kgykydPNt9++605dOiQMcaY0aNHm0GDBrn679+/31SqVMm8+OKLZufOnWbq1KkmMDDQrFixoqw2wW94OpZvvfWW+fjjj83evXvN9u3bzfPPP28CAgLMqlWrymoT/MJvfvMbEx4ebtauXWuOHz/uel24cMHVh31l8ZRkLNlXFjZ69Gizbt06c+DAAZOenm5Gjx5tHA6H+eyzz4wxvv08+nWoMcaYv/3tb6ZevXomKCjItG3b1vzrX/9yTUtMTDSDBw926z9//nzTpEkTExQUZO6++27z6aeflnLF/suTsRw5cqSrb82aNU3Pnj3Nli1byqBq/3L1tuJrX1fHbvDgwSYxMbHQPPHx8SYoKMg0atTIzJw5s9Tr9keejuWkSZNMbGysCQkJMREREaZLly5m9erVZVO8HylqDCW5fc7YVxZPScaSfWVhQ4cONfXr1zdBQUEmMjLSdOvWzRVojPHt59FhjDGeH98BAADwL357TQ0AAIAnCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAADdffPGFHn74YdWuXVsOh0Mff/yxx8swxugvf/mLmjRpouDgYNWpU0d//vOfvV/szxBqAAutXbtWDodD2dnZpbK+QYMG6bXXXvP6cku6M/Vn//Vf/6UPP/ywrMsAbuj8+fO65557NHXq1BIv4/nnn9d7772nv/zlL9q1a5eWLFmitm3berHKwniiMFDOdenSRfHx8ZoyZYqrLT8/X2fOnFHNmjXlcDh8uv5t27apa9euOnTokKpUqeLVZZ84cULVq1dXcHCwV5dblpYuXarf//732r17twIC+LsS/s/hcGjRokVKTk52teXl5elPf/qT/vnPfyo7O1vNmjXTpEmT1KVLF0nSzp071aJFC2VkZCguLq7UauVfFGChoKAg1apVy+eBRpL+9re/6dFHH/V6oJGkWrVqlTjQ5Ofne7ka73jwwQd19uxZLV++vKxLAUpsxIgR2rhxo+bOnav09HQ9+uij6tGjh/bu3StJ+uSTT9SoUSMtXbpUDRs2VIMGDTRs2DCdOXPGp3URaoBy7KmnntK6dev09ttvy+FwyOFw6ODBg4VOP6WmpqpatWpaunSp4uLiVKlSJfXt21cXLlzQ//7v/6pBgwaqXr26fve736mgoMC1/Ly8PL3wwguqU6eOKleurHbt2mnt2rWu6QUFBVq4cKEefvjhG9Y5btw4xcfHa8aMGapXr56qVKmi5557TgUFBXrjjTdUq1YtRUVFFTrffu3pp6NHj+rxxx9XRESEKleurISEBP373/92W8d7772nhg0bKiQkRJJ0+PBh/fKXv1SVKlUUFhamfv36KTMz87q15ufna8SIEYqOjlZISIjq16+viRMnuqZnZ2dr2LBhioyMVFhYmLp27apt27a5LeOTTz5RmzZtFBISoho1aqh3796uaYGBgerZs6fmzp17wzED/NXhw4c1c+ZMLViwQPfee69iY2P1wgsvqFOnTpo5c6Ykaf/+/Tp06JAWLFigWbNmKTU1VZs3b1bfvn19WlsFny4dgE+9/fbb2rNnj5o1a6YJEyZIkiIjI3Xw4MFCfS9cuKC//vWvmjt3rs6ePas+ffqod+/eqlatmpYtW6b9+/frv//7v9WxY0c99thjkn76a2zHjh2aO3euateurUWLFqlHjx7avn27fvGLXyg9PV05OTlKSEi4aa379u3T8uXLtWLFCu3bt099+/bV/v371aRJE61bt04bNmzQ0KFDlZSUpHbt2hWa/9y5c0pMTFSdOnW0ZMkS1apVS1u2bJHT6XT1+f777/Xhhx/qo48+UmBgoJxOpyvQrFu3TleuXNHw4cP12GOPuYWzn/vrX/+qJUuWaP78+apXr56OHDmiI0eOuKY/+uijCg0N1fLlyxUeHq5p06apW7du2rNnjyIiIvTpp5+qd+/e+tOf/qRZs2YpPz9fy5Ytc1tH27Zt9frrr990zAB/tH37dhUUFKhJkyZu7Xl5ebrjjjskSU6nU3l5eZo1a5ar3/vvv6/WrVtr9+7dvjslVcJfFgfgJxITE83zzz/v1rZmzRojyfz444/GGGNmzpxpJJnvv//e1efZZ581lSpVMmfPnnW1de/e3Tz77LPGGGMOHTpkAgMDzbFjx9yW3a1bN/Pyyy8bY4xZtGiRCQwMNE6n84Y1jh071lSqVMnk5ua6ratBgwamoKDA1RYXF2cmTpzoei/JLFq0yBhjzLRp00zVqlXN6dOnr7uOihUrmqysLFfbZ599ZgIDA83hw4ddbd99952RZDZt2lTkcn7729+arl27FrlN69evN2FhYebSpUtu7bGxsWbatGnGGGPat29vBgwYcL2hMMYYs3jxYhMQEOC27YC/+vm/Q2OMmTt3rgkMDDS7du0ye/fudXsdP37cGGPMmDFjTIUKFdyWc+HCBSPJfPbZZz6rlSM1wG2iUqVKio2Ndb2vWbOmGjRo4HYtTM2aNZWVlSWpeH+NXbx4UcHBwcW6dqdBgwaqWrWq27oCAwPdLpb9+fqvtXXrVrVs2VIRERHXXUf9+vUVGRnper9z507FxMQoJibG1da0aVNVq1ZNO3fuVJs2bQot46mnntL999+vuLg49ejRQw899JAeeOABST9dFH3u3DnX9l918eJF7du3z1Xn008/faOhUGhoqOsv2dDQ0Bv2BfxNy5YtVVBQoKysLN17771F9unYsaOuXLmiffv2ufY7e/bskfTTv1NfIdQAt4mKFSu6vXc4HEW2XT2dc+7cOQUGBmrz5s0KDAx063c1CNWoUUMXLlxQfn6+goKCvLr+axXny79y5co37XMzrVq10oEDB7R8+XKtWrVK/fr1U1JSkhYuXKhz584pOjq6yFNX1apVK3adZ86cUeXKlQk08Fvnzp3T999/73p/4MABbd26VREREWrSpIkGDBigJ598Um+++aZatmypkydPKi0tTS1atFCvXr2UlJSkVq1aaejQoZoyZYqcTqeGDx+u+++/v9AfSt7EhcJAORcUFOR2ca+3/PyvscaNG7u9atWqJUmKj4+XJO3YscPr679WixYttHXrVo/unrjrrrsKXROzY8cOZWdnq2nTptedLywsTI899pj+/ve/a968efrwww915swZtWrVSidOnFCFChUKjUmNGjVcdaalpd2wroyMDLVs2bLY2wGUtm+++UYtW7Z0fU5HjRqlli1basyYMZKkmTNn6sknn9Qf/vAHxcXFKTk5WV9//bXq1asnSQoICNAnn3yiGjVqqHPnzurVq5fuuusun18gz5EaoJxr0KCB/v3vf+vgwYOqUqXKDU/PeKI4f41FRkaqVatW+vLLL10Bx1cef/xxvfbaa0pOTtbEiRMVHR2tb7/9VrVr11b79u2LnCcpKUnNmzfXgAEDNGXKFF25ckXPPfecEhMTr3tx8+TJkxUdHa2WLVsqICBACxYsUK1atVStWjUlJSWpffv2Sk5O1htvvKEmTZrohx9+cF0cnJCQoLFjx6pbt26KjY1V//79deXKFS1btkwvvfSSax3r1693ndIC/FGXLl1kbvAYu4oVK2r8+PEaP378dfvUrl271B80yZEaoJx74YUXFBgYqKZNmyoyMlKHDx/22rJv9teYJA0bNkz/+Mc/vLbO6wkKCtJnn32mqKgo9ezZU82bN9frr79e6NTYzzkcDi1evFjVq1dX586dlZSUpEaNGmnevHnXnadq1ap64403lJCQoDZt2ujgwYNatmyZAgIC5HA4tGzZMnXu3FlDhgxRkyZN1L9/fx06dEg1a9aU9NOXwYIFC7RkyRLFx8era9eu2rRpk2v5x44d04YNGzRkyBDvDQ4ASTxRGMAtunjxouLi4jRv3rzrHjHB/3nppZf0448/avr06WVdCmAdTj8BuCWhoaGaNWuWTp06VdallAtRUVEaNWpUWZcBWIkjNQAAwApcUwMAAKxAqAEAAFYg1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArPD/AQCBa/iL29aGAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -989,7 +929,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -1001,7 +941,7 @@ }, { "data": { - "image/png": "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Zi7tzZo1u+g19IKCArf6Xy1qMpYJCQmaP3++lixZov/5n/+Rw+FQz549dejQodoo2RgXOyZLSkp05swZH1UVmGJiYjR79my99957eu+99xQbG6vevXtr69atvi7NbzgcDo0bN0433nijOnbseNF+vFdeXnXHkvfKqm3fvl0NGjRQWFiY/vjHP2rx4sVq3759lX09eTwG9K90w3uSk5NdUnXPnj113XXXac6cOXr22Wd9WBmuVgkJCUpISHA+79mzp/bt26eXXnpJb775pg8r8x+jR4/Wjh07tGHDBl+XEvCqO5a8V1YtISFBubm5Ki4u1rvvvqsRI0YoJyfnosHGU/z2TE3jxo0VHByso0ePurQfPXpU0dHRVa4THR3tVv+rRU3G8tdCQkLUuXNn7d271xslGutix2RkZKTq1q3ro6rM0aNHD47J/zNmzBgtW7ZMa9euVcuWLS/Zl/fKS3NnLH+N98qfhYaGqm3bturatavS09PVqVMnvfzyy1X29eTx6LehJjQ0VF27dlV2drazzeFwKDs7+6LX5ZKTk136S9KqVasu2v9qUZOx/LWKigpt375dMTEx3irTSByT3pWbm3vVH5OWZWnMmDFavHix1qxZo9atW192HY7LqtVkLH+N98qqORwOlZWVVbnMo8djDSYx15rMzEwrLCzMysjIsL799lvrD3/4gxUVFWUVFBRYlmVZw4cPtyZMmODs/+mnn1p16tSxpk+fbu3cudOaNGmSFRISYm3fvt1XL8FvuDuWkydPtlasWGHt27fP2rJli3Xvvfda4eHh1jfffOOrl+AXTp48aX311VfWV199ZUmyZsyYYX311VfWwYMHLcuyrAkTJljDhw939v/++++tevXqWU888YS1c+dOa9asWVZwcLD18ccf++ol+A13x/Kll16yPvjgA2vPnj3W9u3brbFjx1pBQUHW6tWrffUS/MKf/vQny263W+vWrbOOHDnifJw+fdrZh/fK6qnJWPJeWdmECROsnJwca//+/da2bdusCRMmWDabzVq5cqVlWd49Hv061FiWZb366qtWXFycFRoaavXo0cP67LPPnMt69epljRgxwqX/O++8Y7Vr184KDQ21OnToYH300Ue1XLH/cmcsx40b5+zbrFkza/DgwdbWrVt9ULV/ufC14l8/LozdiBEjrF69elVaJykpyQoNDbWuueYaa8GCBbVetz9ydyxfeOEFq02bNlZ4eLjVqFEjq3fv3taaNWt8U7wfqWoMJbkcZ7xXVk9NxpL3ysoefvhhq1WrVlZoaKjVpEkTq1+/fs5AY1nePR5tlmVZ7p/fAQAA8C9+O6cGAADAHYQaAABgBEINAAAwAqEGAAAYgVADAACMQKgBAABGINQAAAAjEGoAAICL9evX69Zbb1Xz5s1ls9n0wQcfuL0Ny7I0ffp0tWvXTmFhYWrRooWee+45zxf7C4QawEDr1q2TzWZTUVFRrexv+PDhev755z2+3Zq+mfqzf/u3f9N7773n6zKASzp16pQ6deqkWbNm1XgbY8eO1bx58zR9+nR99913Wrp0qXr06OHBKivjjsJAgOvdu7eSkpI0c+ZMZ1t5eblOnDihZs2ayWazeXX/X3/9tfr27auDBw+qQYMGHt12QUGBGjZsqLCwMI9u15eWLVum//iP/9CuXbsUFMTflfB/NptNixcv1tChQ51tZWVleuqpp/S///u/KioqUseOHfXCCy+od+/ekqSdO3cqMTFRO3bsUEJCQq3Vyv8owEChoaGKjo72eqCRpFdffVV33XWXxwONJEVHR9c40JSXl3u4Gs8YNGiQTp48qaysLF+XAtTYmDFjtGnTJmVmZmrbtm266667NHDgQO3Zs0eS9OGHH+qaa67RsmXL1Lp1a8XHx2vkyJE6ceKEV+si1AAB7KGHHlJOTo5efvll2Ww22Ww2HThwoNLlp4yMDEVFRWnZsmVKSEhQvXr1dOedd+r06dP617/+pfj4eDVs2FB/+ctfVFFR4dx+WVmZHn/8cbVo0UL169fXDTfcoHXr1jmXV1RU6N1339Wtt956yTqfeeYZJSUlaf78+YqLi1ODBg302GOPqaKiQtOmTVN0dLSaNm1a6Xr7ry8/HTp0SPfdd58aNWqk+vXrq1u3bvr8889d9jFv3jy1bt1a4eHhkqS8vDzdfvvtatCggSIjI3X33Xfr6NGjF621vLxcY8aMUUxMjMLDw9WqVSulp6c7lxcVFWnkyJFq0qSJIiMj1bdvX3399dcu2/jwww/VvXt3hYeHq3Hjxho2bJhzWXBwsAYPHqzMzMxLjhngr/Ly8rRgwQItWrRIN998s9q0aaPHH39cN910kxYsWCBJ+v7773Xw4EEtWrRIb7zxhjIyMrRlyxbdeeedXq2tjle3DsCrXn75Ze3evVsdO3bUlClTJElNmjTRgQMHKvU9ffq0XnnlFWVmZurkyZO64447NGzYMEVFRWn58uX6/vvv9fvf/1433nij7rnnHkk//zX27bffKjMzU82bN9fixYs1cOBAbd++Xb/97W+1bds2FRcXq1u3bpetdd++fcrKytLHH3+sffv26c4779T333+vdu3aKScnRxs3btTDDz+slJQU3XDDDZXWLy0tVa9evdSiRQstXbpU0dHR2rp1qxwOh7PP3r179d577+n9999XcHCwHA6HM9Dk5OTo/PnzGj16tO655x6XcPZLr7zyipYuXap33nlHcXFxys/PV35+vnP5XXfdpbp16yorK0t2u11z5sxRv379tHv3bjVq1EgfffSRhg0bpqeeekpvvPGGysvLtXz5cpd99OjRQ1OnTr3smAH+aPv27aqoqFC7du1c2svKyvSb3/xGkuRwOFRWVqY33njD2e/1119X165dtWvXLu9dkqrhL4sD8BO9evWyxo4d69K2du1aS5L1008/WZZlWQsWLLAkWXv37nX2GTVqlFWvXj3r5MmTzrbU1FRr1KhRlmVZ1sGDB63g4GDr8OHDLtvu16+fNXHiRMuyLGvx4sVWcHCw5XA4LlnjpEmTrHr16lklJSUu+4qPj7cqKiqcbQkJCVZ6errzuSRr8eLFlmVZ1pw5c6yIiAjr+PHjF91HSEiIVVhY6GxbuXKlFRwcbOXl5TnbvvnmG0uS9cUXX1S5nT//+c9W3759q3xNn3zyiRUZGWmdPXvWpb1NmzbWnDlzLMuyrOTkZOv++++/2FBYlmVZS5YssYKCglxeO+Cvfvn/0LIsKzMz0woODra+++47a8+ePS6PI0eOWJZlWU8//bRVp04dl+2cPn3akmStXLnSa7Vypga4StSrV09t2rRxPm/WrJni4+Nd5sI0a9ZMhYWFkqr319iZM2cUFhZWrbk78fHxioiIcNlXcHCwy2TZX+7/13Jzc9W5c2c1atToovto1aqVmjRp4ny+c+dOxcbGKjY21tnWvn17RUVFaefOnerevXulbTz00EPq37+/EhISNHDgQP3ud7/TgAEDJP08Kbq0tNT5+i84c+aM9u3b56zz0UcfvdRQqG7dus6/ZOvWrXvJvoC/6dy5syoqKlRYWKibb765yj433nijzp8/r3379jnfd3bv3i3p5/+n3kKoAa4SISEhLs9tNluVbRcu55SWlio4OFhbtmxRcHCwS78LQahx48Y6ffq0ysvLFRoa6tH9/1p1Pvzr169/2T6X06VLF+3fv19ZWVlavXq17r77bqWkpOjdd99VaWmpYmJiqrx0FRUVVe06T5w4ofr16xNo4LdKS0u1d+9e5/P9+/crNzdXjRo1Urt27XT//ffrwQcf1N///nd17txZP/74o7Kzs5WYmKghQ4YoJSVFXbp00cMPP6yZM2fK4XBo9OjR6t+/f6U/lDyJicJAgAsNDXWZ3Ospv/xrrG3bti6P6OhoSVJSUpIk6dtvv/X4/n8tMTFRubm5bn174rrrrqs0J+bbb79VUVGR2rdvf9H1IiMjdc899+if//ynFi5cqPfee08nTpxQly5dVFBQoDp16lQak8aNGzvrzM7OvmRdO3bsUOfOnav9OoDatnnzZnXu3Nl5nI4fP16dO3fW008/LUlasGCBHnzwQf3nf/6nEhISNHToUH355ZeKi4uTJAUFBenDDz9U48aNdcstt2jIkCG67rrrvD5BnjM1QICLj4/X559/rgMHDqhBgwaXvDzjjur8NdakSRN16dJFGzZscAYcb7nvvvv0/PPPa+jQoUpPT1dMTIy++uorNW/eXMnJyVWuk5KSouuvv17333+/Zs6cqfPnz+uxxx5Tr169Ljq5ecaMGYqJiVHnzp0VFBSkRYsWKTo6WlFRUUpJSVFycrKGDh2qadOmqV27dvrhhx+ck4O7deumSZMmqV+/fmrTpo3uvfdenT9/XsuXL9eTTz7p3Mcnn3zivKQF+KPevXvLusRt7EJCQjR58mRNnjz5on2aN29e6zea5EwNEOAef/xxBQcHq3379mrSpIny8vI8tu3L/TUmSSNHjtRbb73lsX1eTGhoqFauXKmmTZtq8ODBuv766zV16tRKl8Z+yWazacmSJWrYsKFuueUWpaSk6JprrtHChQsvuk5ERISmTZumbt26qXv37jpw4ICWL1+uoKAg2Ww2LV++XLfccovS0tLUrl073XvvvTp48KCaNWsm6ecPg0WLFmnp0qVKSkpS37599cUXXzi3f/jwYW3cuFFpaWmeGxwAkrijMIArdObMGSUkJGjhwoUXPWOC/+/JJ5/UTz/9pLlz5/q6FMA4XH4CcEXq1q2rN954Q8eOHfN1KQGhadOmGj9+vK/LAIzEmRoAAGAE5tQAAAAjEGoAAIARCDUAAMAIhBoAAGAEQg0AADACoQYAABiBUAMAAIxAqAEAAEYg1AAAACP8P5fdo00cW5jhAAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAHHCAYAAABHp6kXAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAALYxJREFUeJzt3Xt8TPe+//H3JCRxSQabSJCIskVdIu4nenELcdlaunvdrWpa3fYue3Oc9pRH96nSRxtVW/XibGwluz11qLZKkboEUaUXNEWr7iQUKZpE0ITM+v3RY36dJsjETGbm6/V8PObxMN/1XWt95vtYZt5Z6ztrbJZlWQIAAAhwQb4uAAAAwBMINQAAwAiEGgAAYARCDQAAMAKhBgAAGIFQAwAAjECoAQAARiDUAAAAIxBqAACAEQg1APxSenq6bDabDh8+7GyLi4vT7373O98VBcCvEWoAeMzOnTt19913q2nTpgoLC1Pjxo3Vt29fvf76674uDcANwMZvPwHwhM2bN6tXr16KjY3V8OHDFRUVpdzcXH322Wc6cOCA9u/f79b2SktLdfHiRYWGhspms0n6+UxN27ZttXz5cm+8BAABrpqvCwBghhdeeEF2u11ffvml6tSp47IsLy/P7e0FBwcrODjYQ9UBuBFw+QmARxw4cEBt2rQpE2gkKTIy0vlvm82m0aNH65133lF8fLzCwsLUqVMnbdy40WWd8ubUlOdf//qXqlWrpqeeesrZ9vnnn6t///6y2+2qWbOmevTooU8//fS6Xh8A/0eoAeARTZs21bZt27Rr165r9s3KytLYsWP10EMPafLkyTp9+rT69+9foXV/ac6cOUpNTdX48eP18ssvS5LWrVun22+/XYWFhZo4caJefPFF5efnq3fv3vriiy8q9doABAbm1ADwiDVr1mjAgAGSpK5du+q2225Tnz591KtXL1WvXt3Z7/L8mK1bt6pTp06SpJycHMXHx2vAgAH64IMPJP18piY1NVWHDh1SXFycJNc5Na+99prGjh2ryZMn629/+5skybIsxcfH66abblJGRoZzXxcuXFCbNm3UokULrV69ukrGA0DV40wNAI/o27evtmzZojvuuENff/21pk6dqpSUFDVu3FjLli1z6ZuUlOQMNJIUGxurO++8U6tWrVJpaek19zV16lSNGTNGL730kjPQSFJ2drb27dun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/lrxrx+Xx2748OFWjx49yqyTmJhohYSEWDfddJM1f/78Kq/bH7k7li+99JLVvHlzKywszKpXr57Vs2dPa926db4p3o+UN4aSXI4z3isrpjJjyXtlWY8++qjVtGlTKyQkxGrQoIHVp08fZ6CxLO8ejzbLsiz3z+8AAAD4F7+dUwMAAOAOQg0AADACoQYAABiBUAMAAIxAqAEAAEYg1AAAACMQagAAgBEINQAAwMXGjRs1ePBgNWrUSDabTR9++KHb27AsS9OmTVPLli0VGhqqxo0b64UXXvB8sb9AqAEMtGHDBtlsNuXn51fJ/oYNG6YXX3zR49ut7JupP/u3f/s3vf/++74uA7iqc+fOqX379po5c2altzFmzBjNnTtX06ZN03fffadly5apa9euHqyyLO4oDAS4nj17KjExUTNmzHC2lZSU6MyZM2rYsKFsNptX9//111+rd+/eOnLkiGrXru3RbZ84cUJ169ZVaGioR7frS8uXL9e///u/a8+ePQoK4u9K+D+bzaYlS5ZoyJAhzrbi4mI988wz+t///V/l5+erbdu2eumll9SzZ09J0u7du5WQkKBdu3YpPj6+ymrlfxRgoJCQEEVFRXk90EjS66+/rnvuucfjgUaSoqKiKh1oSkpKPFyNZwwYMEBnz55VRkaGr0sBKm306NHasmWLFi5cqB07duiee+5R//79tW/fPknSRx99pJtuuknLly9Xs2bNFBcXpxEjRujMmTNerYtQAwSwRx55RFlZWXr11Vdls9lks9l0+PDhMpef0tPTVadOHS1fvlzx8fGqWbOm7r77bp0/f17/+te/FBcXp7p16+qvf/2rSktLndsvLi7Wk08+qcaNG6tWrVrq1q2bNmzY4FxeWlqq9957T4MHD75qnc8995wSExM1b948xcbGqnbt2nriiSdUWlqqqVOnKioqSpGRkWWut//68tPRo0f1wAMPqF69eqpVq5Y6d+6szz//3GUfc+fOVbNmzRQWFiZJysnJ0Z133qnatWsrIiJC9957r06ePHnFWktKSjR69GhFR0crLCxMTZs2VVpamnN5fn6+RowYoQYNGigiIkK9e/fW119/7bKNjz76SF26dFFYWJjq16+voUOHOpcFBwdr4MCBWrhw4VXHDPBXOTk5mj9/vhYvXqzbbrtNzZs315NPPqlbb71V8+fPlyQdPHhQR44c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", "text/plain": [ "
" ] @@ -1045,7 +985,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -1057,13 +997,6 @@ "samna_graph.stop()\n", "samna.device.close_device(devkit)" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -1082,9 +1015,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.0" + "version": "3.12.3" } }, "nbformat": 4, - "nbformat_minor": 1 + "nbformat_minor": 4 } diff --git a/docs/speck/notebooks/visualize_speck_dvs_input.ipynb b/docs/speck/notebooks/visualize_speck_dvs_input.ipynb index bacd2600..65acdf95 100644 --- a/docs/speck/notebooks/visualize_speck_dvs_input.ipynb +++ b/docs/speck/notebooks/visualize_speck_dvs_input.ipynb @@ -3,6 +3,7 @@ { "cell_type": "markdown", "metadata": { + "collapsed": true, "jupyter": { "outputs_hidden": true } @@ -10,9 +11,9 @@ "source": [ "# Visualize DVS Input\n", "\n", - "Speck integrates a Dynamic Vision Sensor(DVS) on the chip itself. Users can read, visualize and save the events that generated by the embedded DVS after making some modification on the hardware configuration.\n", + "Speck integrates a Dynamic Vision Sensor(DVS) on the chip itself. Users can read, visualize, and save events generated by the embedded DVS after modifying the hardware configuration.\n", "\n", - "This notebook demonstrates how to visualize the DVS Sensor events on the speck2e devkit. Unlike what demonstrated in the [\"quick start with nmnist\"](./nmnist_quick_start.ipynb), instead of relying on `DynapcnnNetwork` and `DynapcnnVisualizer` to built the \"hardware configuration\", \"samna graph\" and the GUI window, we show a way that build those necessary objects from scratch." + "This notebook demonstrates how to visualize the DVS Sensor events on the speck2e/speck2f devkit. Unlike what is shown in the [\"quick start with nmnist\"](./nmnist_quick_start.ipynb), instead of relying on `DynapcnnNetwork` and `DynapcnnVisualizer` to build the \"hardware configuration\", \"samna graph\", and the GUI window, we show a way to make those necessary objects from scratch." ] }, { @@ -21,7 +22,9 @@ "metadata": {}, "outputs": [], "source": [ - "import sinabs.backend.dynapcnn.io as sio" + "import socket\n", + "import sinabs.backend.dynapcnn.io as sio\n", + "from sinabs.backend.dynapcnn.dynapcnn_visualizer import DynapcnnVisualizer" ] }, { @@ -40,7 +43,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "{'speck2edevkit:0': device::DeviceInfo(serial_number=, usb_bus_number=0, usb_device_address=5, logic_version=0, device_type_name=Speck2eDevKit)}\n" + "{'speck2fdevkit:0': device::DeviceInfo(serial_number=, usb_bus_number=4, usb_device_address=55, logic_version=0, device_type_name=Speck2fDevKit)}\n" ] } ], @@ -57,7 +60,7 @@ "outputs": [], "source": [ "# when open devkit, we just need to pass the device name to the `open_device` function of samna.device\n", - "devkit = sio.open_device(\"speck2edevkit:0\")" + "devkit = sio.open_device(\"speck2fdevkit:0\")" ] }, { @@ -82,12 +85,16 @@ "\n", "samna_graph = samna.graph.EventFilterGraph()\n", "\n", - "_, _, streamer = samna_graph.sequential(\n", + "source, _, streamer = samna_graph.sequential(\n", " [\n", " devkit.get_model_source_node(), # Specify the source of events to this graph as the devkit\n", - " \"Speck2eDvsToVizConverter\", # Convert the events to visualizer events\n", + " \"Speck2fDvsToVizConverter\", # Convert the events to visualizer events\n", " \"VizEventStreamer\", # Stream events to a visualizer via a streamer node\n", " ]\n", + ")\n", + "\n", + "receiver, buffer = samna_graph.sequential(\n", + " [\"VizEventReceiver\", samna.BasicSinkNode_ui_event()]\n", ")" ] }, @@ -111,12 +118,24 @@ "metadata": {}, "outputs": [], "source": [ + "def free_port():\n", + " \"\"\"\n", + " Determines a free port using sockets.\n", + " \"\"\"\n", + " free_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n", + " free_socket.bind((\"0.0.0.0\", 0))\n", + " free_socket.listen(5)\n", + " port = free_socket.getsockname()[1]\n", + " free_socket.close()\n", + " return port\n", + "\n", + "\n", "# Specify the tcp port of the visualizer\n", - "visualizer_port = \"tcp://0.0.0.0:40000\"\n", + "visualizer_port = \"tcp://0.0.0.0:\" + str(free_port())\n", "\n", "# Launch visualizer\n", "gui_process = sio.launch_visualizer(\n", - " receiver_endpoint=visualizer_port, disjoint_process=True\n", + " receiver_endpoint=visualizer_port, disjoint_process=False\n", ")" ] }, @@ -160,9 +179,7 @@ "outputs": [], "source": [ "# Connect to the visualizer\n", - "streamer.set_streamer_destination(visualizer_port)\n", - "if streamer.wait_for_receiver_count() == 0:\n", - " raise Exception(f\"Connecting to visualizer on {visualizer_port} fails.\")" + "streamer.set_streamer_endpoint(visualizer_port)" ] }, { @@ -242,7 +259,7 @@ "metadata": {}, "outputs": [], "source": [ - "devkit_config = samna.speck2e.configuration.SpeckConfiguration()\n", + "devkit_config = samna.speck2f.configuration.SpeckConfiguration()\n", "# enable monitoring the inputs from the DVS sensor\n", "devkit_config.dvs_layer.raw_monitor_enable = True\n", "# Apply this configuration\n", @@ -265,9 +282,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Stop the graph\n", "samna_graph.stop()" @@ -282,7 +310,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -309,7 +337,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.10" + "version": "3.12.3" } }, "nbformat": 4, diff --git a/docs/speck/notebooks/visualize_spike_count.ipynb b/docs/speck/notebooks/visualize_spike_count.ipynb index c53d7792..a0a6509e 100644 --- a/docs/speck/notebooks/visualize_spike_count.ipynb +++ b/docs/speck/notebooks/visualize_spike_count.ipynb @@ -18,17 +18,17 @@ "name": "stdout", "output_type": "stream", "text": [ - "Requirement already satisfied: matplotlib in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (3.6.2)\n", - "Requirement already satisfied: python-dateutil>=2.7 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (2.8.2)\n", - "Requirement already satisfied: numpy>=1.19 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (1.24.0)\n", - "Requirement already satisfied: cycler>=0.10 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (0.11.0)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (4.38.0)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (1.0.6)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (1.4.4)\n", - "Requirement already satisfied: pyparsing>=2.2.1 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (3.0.9)\n", - "Requirement already satisfied: packaging>=20.0 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (22.0)\n", - "Requirement already satisfied: pillow>=6.2.0 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from matplotlib) (9.3.0)\n", - "Requirement already satisfied: six>=1.5 in /home/allan/PycharmProjects/sinabs-dynapcnn/venv/lib/python3.8/site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)\n" + "Requirement already satisfied: matplotlib in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (3.10.0)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (1.3.1)\n", + "Requirement already satisfied: cycler>=0.10 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (4.56.0)\n", + "Requirement already satisfied: kiwisolver>=1.3.1 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (1.4.8)\n", + "Requirement already satisfied: numpy>=1.23 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (1.26.4)\n", + "Requirement already satisfied: packaging>=20.0 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (24.2)\n", + "Requirement already satisfied: pillow>=8 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (11.1.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (3.2.1)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from matplotlib) (2.9.0.post0)\n", + "Requirement already satisfied: six>=1.5 in /home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)\n" ] } ], @@ -42,18 +42,14 @@ "metadata": {}, "outputs": [], "source": [ - "import copy\n", "import random\n", "import time\n", - "from multiprocessing import Process\n", - "from typing import Union\n", - "\n", - "import matplotlib.pyplot as plt\n", "import samna\n", - "import samnagui\n", "import torch\n", + "import matplotlib.pyplot as plt\n", "from sinabs.from_torch import from_model\n", "from sinabs.layers.pool2d import SumPool2d\n", + "from sinabs.backend.dynapcnn.dynapcnn_visualizer import DynapcnnVisualizer\n", "from torch import nn\n", "\n", "from sinabs.backend.dynapcnn import DynapcnnNetwork" @@ -72,8 +68,8 @@ "metadata": {}, "outputs": [], "source": [ - "# init a cnn it has 2 out_channels for a binary classification task\n", - "# the input shape of this cnn is (1, 16, 16), output shape of this cnn is (2, 1, 1)\n", + "# CNN with 2 out_channels for a binary classification task\n", + "# and input shape of (1, 16, 16), output shape of (2, 1, 1)\n", "\n", "input_shape = (1, 16, 16)\n", "\n", @@ -196,19 +192,21 @@ "name": "stdout", "output_type": "stream", "text": [ + "Network is valid\n", "Network is valid\n" ] } ], "source": [ "# init devkit config\n", - "devkit_cfg = dynapcnn_net.make_config(device=\"speck2edevkit:0\")\n", + "devkit_cfg = dynapcnn_net.make_config(device=\"speck2fdevkit:0\")\n", "\n", "# ========== modify devkit config ==========\n", "\n", "\"\"\"cnn layers configuration\"\"\"\n", "# send to output spike from cnn output layer to readout layer as its input\n", "cnn_output_layer = dynapcnn_net.chip_layers_ordering[-1]\n", + "# cnn_output_layer = dynapcnn_net.layer2core_map[dynapcnn_net.exit_layer_ids[-1]]\n", "devkit_cfg.cnn_layers[cnn_output_layer].monitor_enable = True\n", "\n", "\n", @@ -221,7 +219,12 @@ "# drop the raw input events from the dvs sensor, since we write events to devkit manually\n", "devkit_cfg.dvs_layer.pass_sensor_events = False\n", "# enable monitoring the output from dvs pre-preprocessing layer\n", - "devkit_cfg.dvs_layer.monitor_enable = True" + "devkit_cfg.dvs_layer.monitor_enable = True\n", + "\n", + "\n", + "dynapcnn_net.to(device=\"speck2fdevkit:0\", monitor_layers=[\"dvs\", -1])\n", + "\n", + "devkit = dynapcnn_net.samna_device" ] }, { @@ -235,26 +238,6 @@ "cell_type": "code", "execution_count": 7, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Open device: Speck2eDevKit\n" - ] - } - ], - "source": [ - "# open devkit\n", - "device_names = [each.device_type_name for each in samna.device.get_all_devices()]\n", - "print(f\"Open device: {device_names[0]}\")\n", - "devkit = samna.device.open_device(device_names[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, "outputs": [ { "data": { @@ -262,21 +245,20 @@ "True" ] }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# init the graph\n", + "# # init the graph\n", "samna_graph = samna.graph.EventFilterGraph()\n", "\n", - "\n", "# init necessary nodes in samna graph\n", "# node for writing fake inputs into devkit\n", - "input_buffer_node = samna.BasicSourceNode_speck2e_event_speck2e_input_event()\n", + "input_buffer_node = samna.BasicSourceNode_speck2f_event_input_event()\n", "# node for reading Spike(i.e. the output from last CNN layer)\n", - "spike_buffer_node = samna.BasicSinkNode_speck2e_event_output_event()\n", + "spike_buffer_node = samna.BasicSinkNode_speck2f_event_output_event()\n", "\n", "\n", "# build input branch for graph\n", @@ -284,30 +266,25 @@ "\n", "# build output branches for graph\n", "# branch #1: for the dvs input visualization\n", - "_, _, streamer = samna_graph.sequential(\n", - " [devkit.get_model_source_node(), \"Speck2eDvsToVizConverter\", \"VizEventStreamer\"]\n", + "dvs_source_node, _, dvs_streamer = samna_graph.sequential(\n", + " [devkit.get_model_source_node(), \"Speck2fDvsToVizConverter\", \"VizEventStreamer\"]\n", ")\n", "# branch #2: for the spike count plot (first divide spike events into groups by class, then count spike events per class)\n", "_, spike_collection_filter, spike_count_filter, _ = samna_graph.sequential(\n", " [\n", " devkit.get_model_source_node(),\n", - " \"Speck2eSpikeCollectionNode\",\n", - " \"Speck2eSpikeCountNode\",\n", - " streamer,\n", + " \"Speck2fSpikeCollectionNode\",\n", + " \"Speck2fSpikeCountNode\",\n", + " dvs_streamer,\n", " ]\n", ")\n", "# branch #3: for obtaining the output Spike from cnn output layer\n", "_, type_filter_node_spike, _ = samna_graph.sequential(\n", - " [devkit.get_model_source_node(), \"Speck2eOutputEventTypeFilter\", spike_buffer_node]\n", + " [devkit.get_model_source_node(), \"Speck2fOutputEventTypeFilter\", spike_buffer_node]\n", ")\n", "\n", - "\n", - "# set the streamer nodes of the graph\n", - "# tcp communication port for dvs input data visualization\n", - "streamer_endpoint = \"tcp://0.0.0.0:40009\"\n", - "streamer.set_streamer_endpoint(streamer_endpoint)\n", "# add desired type for filter node\n", - "type_filter_node_spike.set_desired_type(\"speck2e::event::Spike\")\n", + "type_filter_node_spike.set_desired_type(\"speck2f::event::Spike\")\n", "# add configurations for spike collection and counting filters\n", "time_interval = 50\n", "labels = [\"0\", \"1\"] # a list that contains the names of output classes\n", @@ -317,6 +294,9 @@ ") # divide according to this time period in milliseconds.\n", "spike_count_filter.set_feature_count(num_of_classes) # number of output classes\n", "\n", + "source_node, streamer = samna_graph.sequential(\n", + " [samna.BasicSourceNode_ui_event(), \"VizEventStreamer\"]\n", + ")\n", "\n", "# start samna graph before using the devkit\n", "samna_graph.start()" @@ -331,131 +311,26 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sender_endpoint: tcp://0.0.0.0:47907\n", - "receiver_endpoint: tcp://0.0.0.0:33551\n" - ] - } - ], - "source": [ - "# init samna node for tcp transmission\n", - "samna_node = samna.init_samna()\n", - "sender_endpoint = samna_node.get_sender_endpoint()\n", - "receiver_endpoint = samna_node.get_receiver_endpoint()\n", - "visualizer_id = 3\n", - "time.sleep(1) # wait tcp connection build up, this is necessary to open remote node." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# define a function that run the GUI visualizer in the sub-process\n", - "def run_visualizer(receiver_endpoint, sender_endpoint, visualizer_id):\n", - " samnagui.runVisualizer(0.6, 0.6, receiver_endpoint, sender_endpoint, visualizer_id)\n", - "\n", - " return" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "GUI process started, you should see a window pop up!\n", - "successful connect the GUI visualizer!\n" - ] - } - ], - "source": [ - "# create the subprocess\n", - "gui_process = Process(\n", - " target=run_visualizer, args=(receiver_endpoint, sender_endpoint, visualizer_id)\n", - ")\n", - "gui_process.start()\n", - "print(\"GUI process started, you should see a window pop up!\")\n", - "\n", - "# wait for open visualizer and connect to it.\n", - "timeout = 10\n", - "begin = time.time()\n", - "name = \"visualizer\" + str(visualizer_id)\n", - "while time.time() - begin < timeout:\n", - " try:\n", - " time.sleep(0.05)\n", - " samna.open_remote_node(visualizer_id, name)\n", - "\n", - " except:\n", - " continue\n", - "\n", - " else:\n", - " visualizer = getattr(samna, name)\n", - " print(f\"successful connect the GUI visualizer!\")\n", - " break" - ] - }, - { - "cell_type": "code", - "execution_count": 12, + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "now you should see a change on the GUI window!\n" + "Connecting: Please wait until the JIT compilation is done, this might take a while. You will get notified on completion.\n", + "Set up completed!\n" ] } ], "source": [ - "# set up the visualizer and GUI layout\n", - "\n", - "# set visualizer's receiver endpoint to streamer's sender endpoint for tcp communication\n", - "visualizer.receiver.set_receiver_endpoint(streamer_endpoint)\n", - "# connect the receiver output to splitter inside the visualizer\n", - "visualizer.receiver.add_destination(visualizer.splitter.get_input_channel())\n", - "\n", - "# add plots to gui\n", - "activity_plot_id = visualizer.plots.add_activity_plot(128, 128, \"DVS Layer\")\n", - "plot = visualizer.plot_0\n", - "plot.set_layout(0, 0, 0.5, 1.0)\n", - "\n", - "# add spike count plot to gui\n", - "spike_count_id = visualizer.plots.add_spike_count_plot(\n", - " \"Spike Count\", num_of_classes, labels\n", - ")\n", - "plot = visualizer.plot_1\n", - "plot.set_layout(0.5, 0.5, 1, 1)\n", - "plot.set_show_x_span(10) # set the range of x axis\n", - "plot.set_label_interval(1.0) # set the x axis label interval\n", - "plot.set_max_y_rate(\n", - " 1.2\n", - ") # set the y axis max value according to the max value of all actual values.\n", - "plot.set_show_point_circle(True) # if show a circle of every point.\n", - "plot.set_default_y_max(\n", - " 10\n", - ") # set the default y axis max value when all points value is zero.\n", - "\n", - "visualizer.splitter.add_destination(\n", - " \"dvs_event\", visualizer.plots.get_plot_input(activity_plot_id)\n", + "visualizer = DynapcnnVisualizer(\n", + " window_scale=(4, 8),\n", + " dvs_shape=(128, 128),\n", + " spike_collection_interval=500, # milii-second\n", ")\n", - "visualizer.splitter.add_destination(\n", - " \"spike_count\", visualizer.plots.get_plot_input(spike_count_id)\n", - ")\n", - "visualizer.plots.report()\n", "\n", - "print(\"now you should see a change on the GUI window!\")" + "visualizer.connect(dynapcnn_network=dynapcnn_net)" ] }, { @@ -474,7 +349,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -502,7 +377,7 @@ " for time_stamp in range(\n", " time_offset_micro_sec, time_micro_sec + time_offset_micro_sec + 1, time_stride\n", " ):\n", - " spk = samna.speck2e.event.DvsEvent()\n", + " spk = samna.speck2f.event.DvsEvent()\n", " spk.timestamp = time_stamp\n", " spk.p = random.randint(0, 1)\n", " spk.x = random.randint(0, 15)\n", @@ -523,21 +398,21 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "number of fake input spikes: 25001\n" + "number of fake input spikes: 5001\n" ] } ], "source": [ "# create fake input events\n", - "input_time_length = 5 # seconds\n", - "data_rate = 5000\n", + "input_time_length = 10 # seconds\n", + "data_rate = 500\n", "input_events = create_fake_input_events(time_sec=input_time_length, data_rate=data_rate)\n", "\n", "print(f\"number of fake input spikes: {len(input_events)}\")" @@ -552,7 +427,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -563,7 +438,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -619,15 +494,15 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "number of fake input spikes: 25001\n", - "number of output spikes from DynacpCNN Layer: 25001\n" + "number of fake input spikes: 5001\n", + "number of output spikes from DynacpCNN Layer: 10002\n" ] }, { @@ -636,13 +511,13 @@ "Text(0.5, 1.0, 'OutputSpike')" ] }, - "execution_count": 17, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk8AAAHHCAYAAACmzLxGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCSUlEQVR4nO3deVxWZf7/8fcNKqjJFshiKC6JmiIqSlhmKYpmFlrjMu7jUo06NmRTtLhVYss42mjZoqJT5tKkmblTav4k1yGycU/FBXAFBBWU+/z+6NH97R4UOQhy3/p6Ph7nkec617nO53Cn95tzrvvcFsMwDAEAAKBEXCq6AAAAAGdCeAIAADCB8AQAAGAC4QkAAMAEwhMAAIAJhCcAAAATCE8AAAAmEJ4AAABMIDwBAACYQHgCAAcTEhKiwYMH29YTExNlsVi0Y8eOiisKgA3hCUC5+/nnn9W/f3/VqlVLbm5uCgoKUr9+/fTzzz+XeszJkydr2bJlZVdkMbZs2aIJEyYoKyuryLaCggJNnz5dLVq0kIeHh7y8vHTfffdpxIgR2rt37y2pD8CtVamiCwBwe/vyyy/Vt29f+fj4aOjQoapbt66OHDmi2bNn64svvtDChQvVo0cP0+NOnjxZTz31lGJjY8u+6P+xZcsWTZw4UYMHD5aXl5fdtieffFKrVq1S3759NXz4cF25ckV79+7VihUr1LZtWzVq1Mj08fbt2ycXF363BRwV4QlAuTl06JAGDBigevXqadOmTfLz87NtGzNmjNq1a6cBAwYoNTVV9erVq8BKS2f79u1asWKF3nzzTb388st222bMmHHNK1Ul4ebmVgbVASgv/GoDoNy88847unjxoj766CO74CRJvr6++vDDD5WXl6e3335bkjR48GCFhIQUGWfChAmyWCy2dYvFory8PM2bN08Wi0UWi8U2R+i3vnv37lWvXr3k4eGhu+++W2PGjNHly5dtYxw5ckQWi0WJiYlFjmexWDRhwgTbeC+88IIkqW7durbjHTlyRIcOHZIkPfDAA0XGcHV11d13313kHG5Ul1R0ztO1nD9/Xm3atNE999yjffv2SZLy8/M1fvx4NWjQQG5ubgoODtbf/vY35efnFzsWAHO48gSg3Hz99dcKCQlRu3btrrn9oYceUkhIiL755htT4/7rX//SsGHD1KZNG40YMUKSVL9+fbs+vXr1UkhIiBISEvTDDz/ovffe0/nz5zV//nxTx+rZs6f279+vzz//XP/4xz/k6+srSfLz81OdOnUkSZ999pkeeOABVap0439Sy6KuM2fOqFOnTjp37pw2btyo+vXry2q16vHHH9fmzZs1YsQINW7cWD/99JP+8Y9/aP/+/bdsfhhwJyA8ASgX2dnZOnnypJ544oli+4WFhWn58uW6cOFCicfu37+/nnnmGdWrV0/9+/e/Zp+6devqq6++kiSNHDlSHh4eev/99zV27FiFhYWV+FhhYWFq2bKlPv/8c8XGxtpdGbv//vvVvn17ffzxx1q+fLk6dOigBx98UI899phq165dLnVlZGQoOjpaly5d0qZNm2wBbsGCBVq/fr02btyoBx980Na/adOmeuaZZ7Rlyxa1bdu2xOcN4Pq4bQegXPwWhmrUqFFsv9+25+TklOnxR44cabc+evRoSdLKlSvL7BgWi0Vr1qzRG2+8IW9vb33++ecaOXKk6tSpo969e19zztPN1HX8+HG1b99eV65csQtOkrRkyRI1btxYjRo10pkzZ2xLhw4dJEnffffdTZwpgN/jyhOAcvFbKLrRFaWShiyz7r33Xrv1+vXry8XFRUeOHCnT47i5uemVV17RK6+8ovT0dG3cuFHTp0/X4sWLVblyZX366adlVteAAQNUqVIl7dmzRwEBAXbbDhw4oD179hSZW/abU6dOmTsxANdFeAJQLjw9PRUYGKjU1NRi+6WmpqpWrVry8PCwmxT+e4WFhTddz/+OXR7HCgwMVJ8+ffTkk0/qvvvu0+LFi5WYmFjsXKjr1XEtPXv21Pz58zV9+nQlJCTYbbNarWrWrJmmTp16zX2Dg4NLfBwAxSM8ASg3jz32mD7++GNt3rzZbh7Ob77//nsdOXJETz/9tCTJ29v7mre6jh49WqTtRqHjwIEDqlu3rm394MGDslqttjlL3t7eklTkeKU51v+qXLmywsLCdODAAZ05c8buKtGN6irO6NGj1aBBA40bN06enp566aWXbNvq16+vH3/8UR07djRdLwBzmPMEoNy88MILqlq1qp5++mmdPXvWbtu5c+f0zDPPqFq1arZHAdSvX1/Z2dl2V6vS09O1dOnSImNXr1692OcozZw50279n//8pySpa9eukiQPDw/5+vpq06ZNdv3ef//9ax5LKhq0Dhw4oLS0tCL9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SllZWdq5c6datWolSfr2229ltVoVGRl53f1ycnIUExMjNzc3LV++/IbBSZJSUlLk7e193eAkSW5ubsVuBwAAty+nmPPUuHFjdenSRcOHD9esWbN05coVjRo1Sn369LF90u7EiRPq2LGj5s+frzZt2ignJ0edO3fWxYsX9emnnyonJ8c2N8nPz0+urq76+uuvlZmZqfvvv1/u7u5at26dJk+erLFjx1bk6QIAAAfmFOFJkj777DONGjVKHTt2lIuLi5588km99957tu1XrlzRvn37dPHiRUnSrl27bJ/Ea9Cggd1Yhw8fVkhIiCpXrqyZM2fqr3/9qwzDUIMGDTR16lQNHz781p0YAABwKk7xnCdHx3OeAABwPrf1c54AAAAcBeEJAADABMITAACACYQnAAAAEwhPAAAAJhCeAAAATCA8AQAAmEB4AgAAMIHwBAAAYALhCQAAwATCEwAAgAmEJwAAABMITwAAACYQngAAAEwgPAEAAJhAeAIAADCB8AQAAGAC4QkAAMAEwhMAAIAJhCcAAAATCE8AAAAmEJ4AAABMIDwBAACYQHgCAAAwgfAEAABgAuEJAADABMITAACACYQnAAAAEwhPAAAAJhCeAAAATCA8AQAAmEB4AgAAMIHwBAAAYALhCQAAwATCEwAAgAlOE57OnTunfv36ycPDQ15eXho6dKhyc3OL3efhhx+WxWKxW5555hm7PmlpaerWrZuqVaummjVr6oUXXtDVq1fL81QAAIATq1TRBZRUv379lJ6ernXr1unKlSsaMmSIRowYoQULFhS73/DhwzVp0iTberVq1Wx/LiwsVLdu3RQQEKAtW7YoPT1dAwcOVOXKlTV58uRyOxcAAOC8LIZhGBVdxI3s2bNHTZo00fbt2xURESFJWr16tR599FEdP35cQUFB19zv4YcfVnh4uKZNm3bN7atWrdJjjz2mkydPyt/fX5I0a9Ysvfjiizp9+rSqVKlSovpycnLk6emp7OxseXh4mD9BAABwy5X2/dspbtslJyfLy8vLFpwkKTo6Wi4uLtq6dWux+3722Wfy9fVV06ZNFR8fr4sXL9qN26xZM1twkqSYmBjl5OTo559/LvsTAQAATs8pbttlZGSoZs2adm2VKlWSj4+PMjIyrrvfH//4R9WpU0dBQUFKTU3Viy++qH379unLL7+0jfv74CTJtl7cuPn5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05o1a9SpU6eKLg2oMMePH1ffvn119uxZ+fn56cEHH9QPP/wgPz+/Eo/Bc54AAABMYM4TAACACYQnAAAAEwhPAAAAJhCeAAAATCA8AQAAmEB4AgAAMIHwBAAAYALhCQAAOKRNmzape/fuCgoKksVi0bJly0yPYRiG3n33XTVs2FBubm6qVauW3nzzzZuqi/AEoFxs2LBBFotFWVlZt+R4AwYM0OTJk8t83NL+g+3I7r//fv373/+u6DKAG8rLy1Pz5s01c+bMUo8xZswYffLJJ3r33Xe1d+9eLV++XG3atLmpunjCOICb9vDDDys8PFzTpk2ztRUUFOjcuXPy9/eXxWIp1+P/+OOP6tChg44ePaq77rqrTMfOyMiQt7e33NzcynTcirRixQr99a9/1b59++Tiwu/QcA4Wi0VLly5VbGysrS0/P1+vvPKKPv/8c2VlZalp06Z66623bF8PtWfPHoWFhWn37t0KDQ0ts1r4WwOgXFSpUkUBAQHlHpwk6Z///Kf+8Ic/lHlwkqSAgIBSB6eCgoIyrqZsdO3aVRcuXNCqVasquhTgpowaNUrJyclauHChUlNT9Yc//EFdunTRgQMHJElff/216tWrpxUrVqhu3boKCQnRsGHDdO7cuZs6LuEJwE0ZPHiwNm7cqOnTp8tischisejIkSNFbtslJibKy8tLK1asUGhoqKpVq6annnpKFy9e1Lx58xQSEiJvb2/95S9/UWFhoW38/Px8jR07VrVq1VL16tUVGRmpDRs22LYXFhbqiy++UPfu3Yutc8KECQoPD9ecOXNUu3Zt3XXXXfrzn/+swsJCvf322woICFDNmjWLzIX439t2v32pqI+Pj6pXr66IiAht3brV7hiffPKJ6tatK3d3d0lSWlqannjiCd11113y8PBQr169lJmZed1aCwoKNGrUKAUGBsrd3V116tRRQkKCbXtWVpaGDRsmPz8/eXh4qEOHDvrxxx/txvj666/VunVrubu7y9fXVz169LBtc3V11aOPPqqFCxcW+zMDHFlaWprmzp2rJUuWqF27dqpfv77Gjh2rBx98UHPnzpUk/fLLLzp69KiWLFmi+fPnKzExUTt37tRTTz11U8euVBYnAODONX36dO3fv19NmzbVpEmTJEl+fn46cuRIkb4XL17Ue++9p4ULF+rChQvq2bOnevToIS8vL61cuVK//PKLnnzyST3wwAPq3bu3pF9/s/zvf/+rhQsXKigoSEuXLlWXLl30008/6d5771Vqaqqys7MVERFxw1oPHTqkVatWafXq1Tp06JCeeuop/fLLL2rYsKE2btyoLVu26E9/+pOio6MVGRlZZP/c3Fy1b99etWrV0vLlyxUQEKBdu3bJarXa+hw8eFD//ve/9eWXX8rV1VVWq9UWnDZu3KirV69q5MiR6t27t10I/L333ntPy5cv1+LFi1W7dm0dO3ZMx44ds23/wx/+oKpVq2rVqlXy9PTUhx9+qI4dO2r//v3y8fHRN998ox49euiVV17R/PnzVVBQoJUrV9odo02bNpoyZcoNf2aAo/rpp59UWFiohg0b2rXn5+fr7rvvliRZrVbl5+dr/vz5tn6zZ89Wq1attG/fvtLfyjMA4Ca1b9/eGDNmjF3bd999Z0gyzp8/bxiGYcydO9eQZBw8eNDW5+mnnzaqVatmXLhwwdYWExNjPP3004ZhGMbRo0cNV1dX48SJE3Zjd+zY0YiPjzcMwzCWLl1quLq6Glartdgax48fb1SrVs3IycmxO1ZISIhRWFhoawsNDTUSEhJs65KMpUuXGoZhGB9++KFRo0YN4+zZs9c9RuXKlY1Tp07Z2tauXWu4uroaaWlptraff/7ZkGRs27btmuOMHj3a6NChwzXP6fvvvzc8PDyMy5cv27XXr1/f+PDDDw3DMIyoqCijX79+1/tRGIZhGF999ZXh4uJid+6AI/v930XDMIyFCxcarq6uxt69e40DBw7YLenp6YZhGMa4ceOMSpUq2Y1z8eJFQ5Kxdu3aUtfClScAt0y1atVUv35927q/v79CQkLs5ir5+/vr1KlTkkr2m+WlS5fk5uZWorlVISEhqlGjht2xXF1d7SZN//74/yslJUUtWrSQj4/PdY9Rp04d+fn52db37Nmj4OBgBQcH29qaNGkiLy8v7dmzR61bty4yxuDBg9WpUyeFhoaqS5cueuyxx9S5c2dJv06Oz83NtZ3/by5duqRDhw7Z6hw+fHhxPwpVrVrV9lt51apVi+0LOKIWLVqosLBQp06dUrt27a7Z54EHHtDVq1d16NAh2789+/fvl/Tr39XSIjwBuGUqV65st26xWK7Z9tttsNzcXLm6umrnzp1ydXW16/db4PL19dXFixdVUFCgKlWqlOnx/1dJQkb16tVv2OdGWrZsqcOHD2vVqlVav369evXqpejoaH3xxRfKzc1VYGDgNW/5eXl5lbjOc+fOqXr16gQnOLTc3FwdPHjQtn748GGlpKTIx8dHDRs2VL9+/TRw4ED9/e9/V4sWLXT69GklJSUpLCxM3bp1U3R0tFq2bKk//elPmjZtmqxWq0aOHKlOnToV+aXMDCaMA7hpVapUsZvkXVZ+/5tlgwYN7JaAgABJUnh4uCTpv//9b5kf/3+FhYUpJSXF1Cd1GjduXGTO0n//+19lZWWpSZMm193Pw8NDvXv31scff6xFixbp3//+t86dO6eWLVsqIyNDlSpVKvIz8fX1tdWZlJRUbF27d+9WixYtSnweQEXYsWOHWrRoYft/NS4uTi1atNC4ceMkSXPnztXAgQP1/PPPKzQ0VLGxsdq+fbtq164tSXJxcdHXX38tX19fPfTQQ+rWrZsaN2580x+W4MoTgJsWEhKirVu36siRI7rrrruKva1lRkl+s/Tz81PLli21efNmW5AqL3379tXkyZMVGxurhIQEBQYG6j//+Y+CgoIUFRV1zX2io6PVrFkz9evXT9OmTdPVq1f15z//We3bt7/uJPepU6cqMDBQLVq0kIuLi5YsWaKAgAB5eXkpOjpaUVFRio2N1dtvv62GDRvq5MmTtkniERERGj9+vDp27Kj69eurT58+unr1qlauXKkXX3zRdozvv//edisQcFQPP/ywjGIeR1m5cmVNnDhREydOvG6foKCgMn8oLFeeANy0sWPHytXVVU2aNJGfn5/S0tLKbOwb/WYpScOGDdNnn31WZse8nipVqmjt2rWqWbOmHn30UTVr1kxTpkwpckvx9ywWi7766it5e3vroYceUnR0tOrVq6dFixZdd58aNWro7bffVkREhFq3bq0jR45o5cqVcnFxkcVi0cqVK/XQQw9pyJAhatiwofr06aOjR4/K399f0q9vOEuWLNHy5csVHh6uDh06aNu2bbbxT5w4oS1btmjIkCFl98MB7iA8YRyA07t06ZJCQ0O1aNGi614Bwv958cUXdf78eX300UcVXQrglLhtB8DpVa1aVfPnz9eZM2cquhSnULNmTcXFxVV0GYDT4soTAACACcx5AgAAMIHwBAAAYALhCQAAwATCEwAAgAmEJwAAABMITwAAACYQngAAAEwgPAEAAJhAeAIAADDh/wOx1KlG21bhaQAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlYAAAHHCAYAAAB9dxZkAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAARC9JREFUeJzt3XlcFXX////nAQXUSxZDWbxQXFIzRVSSsMxSEtMstHLJ/evSYl0VWUaWuJSadXnZ4hVpKnpVUnZpWRqppJmXpKUZWe6puABqCggqKGd+f1w/z+c6gcjROcLBx/12m5vOe97zntc4NzxP5rzPHIthGIYAAABw1dwqugAAAICqgmAFAABgEoIVAACASQhWAAAAJiFYAQAAmIRgBQAAYBKCFQAAgEkIVgAAACYhWAEAAJiEYAUAlUxoaKiGDRtmW09KSpLFYtGPP/5YcUUBKBeCFQCn+/XXXzVo0CDVr19fnp6eCg4O1sCBA/Xrr79e8ZhTp07VZ599Zl6RZdi4caMmTpyonJycEtuKior05ptvqm3btvL29pavr69uvvlmjR49Wjt37rwm9QGoPKpVdAEAqralS5dqwIABqlOnjkaMGKFGjRrpwIEDmjdvnj799FMlJyerd+/eDo87depUPfjgg4qNjTW/6D/ZuHGjJk2apGHDhsnX19du2wMPPKCvvvpKAwYM0KhRo3T+/Hnt3LlTX375pTp27KgWLVo4fLxdu3bJzY3fewFXRLAC4DT79u3T4MGD1bhxY61fv15169a1bXvqqafUqVMnDR48WOnp6WrcuHEFVnplfvjhB3355Zd69dVX9eKLL9pte+edd0q9w1Uenp6eJlQHoCLwKxEAp3n99dd15swZzZkzxy5USZK/v7/ee+89FRQUaMaMGZKkYcOGKTQ0tMQ4EydOlMVisa1bLBYVFBRo4cKFslgsslgstjlJF/vu3LlTffv2lbe3t2644QY99dRTOnfunG2MAwcOyGKxKCkpqcTxLBaLJk6caBvvueeekyQ1atTIdrwDBw5o3759kqTbbrutxBju7u664YYbSpzD5eqSSs6xKs2pU6fUoUMH/fWvf9WuXbskSYWFhUpISFDTpk3l6empkJAQPf/88yosLCxzLADm4Y4VAKf54osvFBoaqk6dOpW6/Y477lBoaKhWrFjh0Lj/+te/NHLkSHXo0EGjR4+WJDVp0sSuT9++fRUaGqpp06bp+++/11tvvaVTp05p0aJFDh2rT58+2r17txYvXqx//OMf8vf3lyTVrVtXDRs2lCR9+OGHuu2221St2uX/SzWjrhMnTujuu+/WyZMn9e2336pJkyayWq267777tGHDBo0ePVo33XSTfvnlF/3jH//Q7t27r9l8NOB6R7AC4BS5ubk6evSo7r///jL7hYWFafny5Tp9+nS5xx40aJAeffRRNW7cWIMGDSq1T6NGjfT5559LksaMGSNvb2/985//1NixYxUWFlbuY4WFhaldu3ZavHixYmNj7e6o3XrrrercubPmzp2r5cuXq0uXLrr99tt17733qkGDBk6pKysrS9HR0Tp79qzWr19vC3cfffSR1qxZo2+//Va33367rX+rVq306KOPauPGjerYsWO5zxvAleGtQABOcTEo1a5du8x+F7fn5eWZevwxY8bYrT/55JOSpJUrV5p2DIvFoq+//lqvvPKK/Pz8tHjxYo0ZM0YNGzZUv379Sp1jdTV1HT58WJ07d9b58+ftQpUkLVmyRDfddJNatGihEydO2JYuXbpIktauXXsVZwqgvLhjBcApLgamy92JKm8Ac9SNN95ot96kSRO5ubnpwIEDph7H09NT48eP1/jx45WZmalvv/1Wb775pj755BNVr15dH3zwgWl1DR48WNWqVdOOHTsUGBhot23Pnj3asWNHiblsFx07dsyxEwNwRQhWAJzCx8dHQUFBSk9PL7Nfenq66tevL29vb7sJ6v+ruLj4quv589jOOFZQUJD69++vBx54QDfffLM++eQTJSUllTn36lJ1lKZPnz5atGiR3nzzTU2bNs1um9VqVevWrTVz5sxS9w0JCSn3cQBcOYIVAKe59957NXfuXG3YsMFu3s9F3333nQ4cOKBHHnlEkuTn51fq22cHDx4s0Xa5QLJnzx41atTItr53715ZrVbbHCk/Pz9JKnG8KznWn1WvXl1hYWHas2ePTpw4YXd36XJ1leXJJ59U06ZNNWHCBPn4+OiFF16wbWvSpIl+/vlnde3a1eF6AZiHOVYAnOa5555TjRo19Mgjj+iPP/6w23by5Ek9+uijqlmzpu1xBk2aNFFubq7dXa7MzEwtW7asxNi1atUq8zlRs2fPtlt/++23JUn33HOPJMnb21v+/v5av369Xb9//vOfpR5LKhnC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r72mO++8s9Qxfv75Z4WHh2v9+vXq1KmTU+rkJwqAU3h4eCgwMNDpoUqS3n77bT300EOmhypJCgwMvOJQVVRUZHI15rjnnnt0+vRpffXVVxVdCnBVnnjiCaWlpSk5OVnp6el66KGH1L17d+3Zs6fU/u+//76aNWvmtFAlEawAXKVhw4bp22+/1Ztvvmmbv3DgwIESbwUmJSXJ19dXX375pZo3b66aNWvqwQcf1JkzZ7Rw4UKFhobKz89Pf/vb31RcXGwbv7CwUGPHjlX9+vVVq1YtRUZGat26dbbtxcXF+vTTT9WrV68y65w4caLCw8M1f/58NWjQQH/5y1/0+OOPq7i4WDNmzFBgYKDq1aunV1991W6/P78VePjwYQ0YMEB16tRRrVq1FBERoU2bNtkd4/3331ejRo3k5eUlScrIyND999+vv/zlL/L29lbfvn2VnZ19yVqLior0xBNPKCgoSF5eXmrYsKGmTZtm256Tk6ORI0eqbt268vb2VpcuXfTzzz/bjfHFF1/olltukZeXl/z9/dW7d2/bNnd3d/Xo0UPJycll/psBlVlGRoYWLFigJUuWqFOnTmrSpInGjh2r22+/XQsWLCjR/9y5c/rwww81YsQIp9ZVzamjA6jy3nzzTe3evVutWrXS5MmTJUl169bVgQMHSvQ9c+aM3nrrLSUnJ+v06dPq06ePevfuLV9fX61cuVK///67HnjgAd12223q16+fpP/+Rvrbb78pOTlZwcHBWrZsmbp3765ffvlFN954o9LT05Wbm6uIiIjL1rpv3z599dVXSklJ0b59+/Tggw/q999/V7NmzfTtt99q48aN+n//7/8pOjpakZGRJfbPz89X586dVb9+fS1fvlyBgYHaunWrrFarrc/evXv173//W0uXLpW7u7usVqstVH377be6cOGCxowZo379+tkFxP/11ltvafny5frkk0/UoEEDHTp0SIcOHbJtf+ihh1SjRg199dVX8vHx0XvvvaeuXbtq9+7dqlOnjlasWKHevXtr/PjxWrRokYqKirRy5Uq7Y3To0EHTp0+/7L8ZUFn98ssvKi4uVrNmzezaCwsLdcMNN5Tov2zZMp0+fVpDhw51bmEGAFylzp07G0899ZRd29q1aw1JxqlTpwzDMIwFCxYYkoy9e/fa+jzyyCNGzZo1jdOnT9vaYmJijEceecQwDMM4ePCg4e7ubhw5csRu7K5duxrx8fGGYRjGsmXLDHd3d8NqtZZZY0JCglGzZk0jLy/P7lihoaFGcXGxra158+bGtGnTbOuSjGXLlhmGYRjvvfeeUbt2beOPP/645DGqV69uHDt2zNa2atUqw93d3cjIyLC1/frrr4YkY/PmzaWO8+STTxpdunQp9Zy+++47w9vb2zh37pxde5MmTYz33nvPMAzDiIqKMgYOHHipfwrDMAzj888/N9zc3OzOHajM/vdn0TAMIzk52XB3dzd27txp7Nmzx27JzMwssX+XLl2M2NhYp9fJHSsA10zNmjXVpEkT23pAQIBCQ0Pt5kYFBATo2LFjksr3G+nZs2fl6elZrrlcoaGhql27tt2x3N3d7SZw/+/x/2zbtm1q27at6tSpc8ljNGzYUHXr1rWt79ixQyEhIQoJCbG1tWzZUr6+vtqxY4duueWWEmMMGzZMd999t5o3b67u3bvr3nvvVbdu3ST9d/Jtfn5+id/Iz549q3379tnqHDVqVFn/FKpRo4asVqsKCwtVo0aNMvsClVHbtm1VXFysY8eOXXbO1P79+7V27VotX77c6XURrABcM9WrV7dbt1gspbZdfGstPz9f7u7u2rJli9zd3e36XQxj/v7+OnPmjIqKiuTh4WHq8f+sPAHEjOfjtGvXTvv379dXX32lNWvWqG/fvoqOjtann36q/Px8BQUFlfo2oq+vb7nrPHnypGrVqkWoQqWWn5+vvXv32tb379+vbdu2qU6dOmrWrJkGDhyoIUOG6O9//7vatm2r48ePKzU1VWFhYerZs6dtv/nz5ysoKEj33HOP02smWAG4ah4eHnYTzs1Snt9Iw8PDJUm//fab7e/OEhYWpvfff18nT54s867V/7rppptsc6Qu3rX67bfflJOTo5YtW15yP29vb/Xr10/9+vXTgw8+qO7du+vkyZNq166dsrKyVK1aNYWGhl6yztTUVA0fPvyS42/fvl1t27Yt1zkAFeXHH3/UXXfdZVuPi4uTJA0dOlRJSUlasGCBXnnlFT377LM6cuSI/P39deutt+ree++17WO1WpWUlKRhw4aV+AXNGQhWAK5aaGioNm3apAMHDugvf/lLuUPH5ZTnN9K6deuqXbt22rBhg9OD1YABAzR16lTFxsZq2rRpCgoK0k8//aTg4GBFRUWVuk90dLRat26tgQMHatasWbpw4YIef/xxde7c+ZIT7mfOnKmgoCC1bdtWbm5uWrJkiQIDA+Xr66vo6GhFRUUpNjZWM2bMULNmzXT06FHbhPWIiAglJCSoa9euatKkifr3768LFy5o5cqVGjdunO0Y3333ne3tRaCyuvPOO2WU8bjN6tWra9KkSZo0adIl+7i5udl9+MPZeNwCgKs2duxYubu7q2XLlqpbt64yMjJMG3vBggUaMmSInn32WTVv3lyxsbH64Ycf1KBBA1ufkSNH6sMPPzTtmJfi4eGhVatWqV69eurRo4dat26t6dOnl/lbsMVi0eeffy4/Pz/dcccdio6OVuPGjfXxxx9fcp/atWtrxowZioiI0C233KIDBw5o5cqVcnNzk8Vi0cqVK3XHHXdo+PDhatasmfr376+DBw8qICBA0n9fjJYsWaLly5crPDxcXbp00ebNm23jHzlyRBs3bizzjhaAK8OT1wG4vLNnz6p58+b6+OOPL3nnCP9n3LhxOnXqlObMmVPRpQBVDm8FAnB5NWrU0KJFi3TixImKLsUl1KtXzzZXBYC5uGMFAABgEuZYAQAAmIRgBQAAYBKCFQAAgEkIVgAAACYhWAEAAJiEYAUAAGASghUAAIBJCFYAAAAmIVgBAACY5P8DfedUPFnwSK8AAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -664,7 +539,6 @@ "# get the neuron index of each output spike\n", "neuron_id = [each.feature for each in dynapcnn_layer_events]\n", "\n", - "\n", "# plot the output neuron index vs. time\n", "fig, ax = plt.subplots()\n", "ax.scatter(spike_timestamp, neuron_id)\n", @@ -676,15 +550,10 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ - "# stop devkit when experiment finished.\n", - "\n", - "gui_process.terminate()\n", - "gui_process.join()\n", - "\n", "samna_graph.stop()\n", "samna.device.close_device(devkit)" ] @@ -706,7 +575,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.0" + "version": "3.12.3" }, "vscode": { "interpreter": { @@ -715,5 +584,5 @@ } }, "nbformat": 4, - "nbformat_minor": 1 + "nbformat_minor": 4 } diff --git a/sinabs/backend/dynapcnn/dynapcnn_visualizer.py b/sinabs/backend/dynapcnn/dynapcnn_visualizer.py index 0c7f0799..f19210bc 100644 --- a/sinabs/backend/dynapcnn/dynapcnn_visualizer.py +++ b/sinabs/backend/dynapcnn/dynapcnn_visualizer.py @@ -418,7 +418,9 @@ def connect( + " should contain value `dvs`. " ) - last_layer = dynapcnn_network.chip_layers_ordering[-1] + last_layer = dynapcnn_network.layer2core_map[ + dynapcnn_network.exit_layer_ids[-1] + ] if not config.cnn_layers[last_layer].monitor_enable: raise ValueError( @@ -568,7 +570,9 @@ def update_feature_count(self, dynapcnn_network: DynapcnnNetwork): dynapcnn_network (DynapcnnNetwork): DynapcnnNetwork object """ - last_layer = dynapcnn_network.chip_layers_ordering[-1] + last_layer = dynapcnn_network.layer2core_map[ + dynapcnn_network.exit_layer_ids[-1] + ] config = dynapcnn_network.samna_config model_output_feature_count = config.cnn_layers[ last_layer