Skip to content

Instantly share code, notes, and snippets.

@ch-hristov
Created January 2, 2024 21:34
Show Gist options
  • Save ch-hristov/db6cde1547f918571cbd907d0146f06a to your computer and use it in GitHub Desktop.
Save ch-hristov/db6cde1547f918571cbd907d0146f06a to your computer and use it in GitHub Desktop.
d8n-public.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"authorship_tag": "ABX9TyN8CVlpnGo6bPuO5/zzo4wF",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/ch-hristov/db6cde1547f918571cbd907d0146f06a/d8n-public.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"## API key\n",
"\n",
"\n",
"If you reached this notebook, it is likely that I also gave you an API key.\n",
"In order to use it you must input it in the secrets tab on the left side of the screen (look for the key icon).\n",
"\n",
"![Screenshot 2023-12-23 at 14.10.47.png](data:image/png;base64,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LSmeU9FMeeRthoJMBERABERABERABERABERABESgFIEWF85Z4hWvr/XZXKqg9czPCs9mf0oKVg9VbSsCIiACIiACIiACIiACIiAC3w8CLS6cDStiFhGNMd6cnmeOwzEwBDo2ZsyYONQ/ERABERABERABERABERABERABEShHoNWEc7lCaZkIiIAIiIAIiIAIiIAIiIAIiIAI5IWAhHNeroTKIQIiIAIiIAIiIAIiIAIiIAIikEsCEs65vCwqlAiIgAiIgAiIgAiIgAiIgAiIQF4ISDjn5UqoHCIgAiIgAiIgAiIgAiIgAiIgArkkIOGcy8uiQomACIiACIiACIiACIiACIiACOSFgIRzXq6EyiECIiACIiACIiACIiACIiACIpBLAhLOubwsKpQIiIAIiIAIiIAIiIAIiIAIiEBeCEg45+VKqBwiIAIiIAIiIAIiIAIiIAIiIAK5JCDhnMvLokKJgAiIgAiIgAiIgAiIgAiIgAjkhYCEc16uhMohAiIgAiIgAiIgAiIgAiIgAiKQSwISzrm8LCqUCIiACIiACIiACIiACIiACIhAXghIOOflSqgcIiACIiACIiACIiACIiACIiACuSQg4ZzLy6JCiYAIiIAIiIAIiIAIiIAIiIAI5IWAhHNeroTKIQIiIAIiIAIiIAIiIAIiIAIikEsCEs65vCwqlAiIgAiIgAiIgAiIgAiIgAiIQF4ISDjn5Uq4cnTv3j2suOKKoXfv3oHxt956Kzz55JPhvffec2tpVAREQATaN4H5558/bL311uHLL78Md955Z/jmm2/a9wnr7ERABERABERABHJLQMI5R5dmwQUXDPvuu29YYYUVMks1c+bMMHHixPCnP/0pMC4TAREQgfZMYNiwYWHZZZeNp/jwww+HK6+8sj2frs5NBERABERABEQgxwQknHNycRZbbLEwfPjwMNdcc1Us0QcffBBOOumk8PXXX1dct62vgMfphBNOiKfx73//O5xzzjlt/ZRU/nZIYO211w7bbbddPLNHHnkk3Hrrre3wLBufUnOf98knnxyWWGKJeODnnnsunH/++Y0LoTkiIAIiIAIiIAIi0AIEJJxbAHI1h7jgggvCvPPOG1fFm/zQQw+FcePGhf/85z+hV69e4Wc/+1lYZ511QocOHeI6//3vf8MRRxxRza7b9DpUKJx22mnxHL744otw2GGH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3f+Wsi3J37j/ssKTm/r8+PI19R6iwoDfOjzM/h6mzEQJ/eMf/4i9CvhjMU6lEwkps6JwLPLp+uuvL6okYP9cd4Q614+25PI4p2Q1LQIiIAIikDcCEs55uyKuPAsvvHD8GEEw8RHGx0stRpvnXr16xXa3tXQDwkcNbc/wftEeOkvM1lKOdF0+7AnRxkNCSGw150WZllpqqRhWzkc1H9ylkoylx5sT04h2ysxHIqGm1ZR5Thy31n009ZqXOw4i0n4oaD7gvWSltmsrvEqVH7FExQbXGxFU7fPD+oR144GjrTPbZgmkUse1+Twb3G+EB6ftnW2dUkOeW7ZFkPC74cVdqW3qnV/tefN7xN+UKVNiE4CmsKm3rLVuj6Ak/wIij/uAv6xyp8KZ6BmMir/evXtHr2upio+0THPi+an3HuIdwG8/zWOyzjctM9NU9HHv8RtP5Sae5nLGvUAkk0wEREAEREAE2gIB+x5GH2EdlBysLVw2lVEEREAERCBPBEoJ5zyVUWURAREQAREQARFoOgEJ56az05YiIAIiIAIiEAlIOOtGEAEREAEREIH2TUDCuX1fX52dCIiACIhACxCQcG4ByDqECIiACIiACLQiAQnnVoSvQ4uACIiACLQPAhLO7eM66ixEQAREQAREoBQBCedSZDRfBERABERABKokQDI5Mlpj9N181VVXVbmlVhMBERABERABEWgLBCSc28JVUhlFQAREQAREQAREQAREQAREQARajYCEc6uh14FFQAREQAREQAREQAREQAREQATaAgEJ57ZwlVRGERABERABERABERABERABERCBViMg4dxq6HVgERABERABERABERABERABERCBtkBAwrktXCWVUQREQAREQAREQAREQAREQAREoNUISDi3GnodWAREQAREQAREQAREQAREQAREoC0QkHBuC1dJZRQBERABERABERABERABERABEWg1AhLOrYZeBxYBERABERABERABERABERABEWgLBCSc28JVUhlFQAREQAREQAREQAREQAREQARajYCEc6uh14FFQAREQAREQAREQAREQAREQATaAgEJ57ZwlVRGERABERABERABERABERABERCBViMg4dxq6HVgERABERABERABERABERABERCBtkBAwrktXCWVUQREQAREQAREQAREQAREQAREoNUISDi3GnodWAREQAREQAREQAREQAREQAREoC0QkHBuC1dJZRQBERABERABERABERABERABEWg1AhLOrYZeBxYBERABERABERABERABERABEWgLBFpVOC82z6yw+kIzwsrdZ4aFu80MC3SeFabP6hA+/Krhb1qH8OpnHcPD73cKX05vCyhVRhEQAREQAREQAREQAREQAREQgfZIoFWEc4+5Z4btlp0e1uoxI3SoQPXrGaFBPM8Vbp/cOXz2TaW1K+xMi0VABERABERABERABERABERABESgRgItLpzXXGRG2P8n34QuHWsrKaL54pe6hFem1LhhbYfR2iIgAiIgAiIgAiIgAiIgAiIgAiJQRKBFhfPmS04POy73bUUvc1EJ3cTMWSFc9VqXcP97c7m5GhUBERABERABERABERABERABERCB5iPQYsIZT/PBK37TSDS//2WHGIo9eWrHwB/ieIn5ZoVe88wMGy4+I/Sad2bR2TN15jNdw8vyPBdx0YQIiIAIiIAIiIAIiIAIiIAIiEDzEGgR4Uyb5tP6f10Unt2gj8N973QKN77ZOXxTrI0LZ9qpISp7y97Tw5ZLfRvmcs2bCds+YULXMEVtngusNCICIiACIiACIiACIiACIiACItA8BFpEOB/Y95swoCERmBmi+fznu4SnP64u5Bpv9SEN3uqWsD0f6NYSh9ExREAEREAEREAEREAEREAEREAE2giBZhfOdDl1Rv9pRSHa/2jwNF/7eueaEO3QkIV7i97f1rRNU1aWcG4KNW0jAiIgAiIgAiIgAiIgAiIgAu2XQLMLZxKC7dSQEMyMNs2/nzB3UXh2966zws4N66zww//FbNN++bo3OodPvp4dn92xYfTcAdPCgg3rNqdJODcnXe1bBERABERABERABERABERABNoegWYXzkNX/Sb0XXB2mPZNb3YKd74929uMaD7lp9PCfLNnRYpTG7Q2AtuL522Xnh62WXq2CG8O3BLOzUFV+xQBERABERABERABERABERCBtkug2YXzHxu8xD3mnu0lPue5LuG5T2a3bT6oof3zWq79s0f5+AdzhUsa+m5uThs58Kui3Us4F+HQhAiIgAiIgAiIgAiIgAiIgAh87wk0u3C+bP2vQtfZOjkc9s+5A1mxzS5YZ1pYoMtsYW3zGbIe6zenSTg3J13tWwREQAREQAREQAREQAREQATaPgEJZ3mc2/5drDMQAREQAREQAREQAREQAREQgWYk0OzCWaHazXj1tGsREAEREAEREAEREAEREAEREIFmJ9Dswrm1k4OlbZbT0OyUcLp+ulzTIiACIiACIiACIiACIiACIiAC3y8CzS6cW7s7qlQISzh/v25wna0IiIAIiIAIiIAIiIAIiIAI1Eug2YXzYvPMCmf0nxZmpwML4R/vdArXvp70P1XhTHZYdnrYonftXVFJOFcAq8UiIAIiIAIiIAIiIAIiIAIiIAJlCTS7cOboBzZ0OTXAdTlFDu3zn+8Snv7YpdsuU8w1F5kRDlnxmzJrlF4k4VyajZaIgAiIgAiIgAiIgAiIgAiIgAhUJtAiwrnH3DPDaf2/Dl06zi4Q4vm+Bs/zjW92Dt/MnD3fj3VqWH/L3tPDlkt9G+ZyLmu6qTphQtcwxXVrZdulodiVhHO63PajoQiIgAiIgAiIgAiIgAiIgAiIgAhAoEWEMwfCa3xwg9fY6V9mh/e/7BAefn+uMHlqx/g3s0FRLzHfrNBrnplhw8VnhF7zFqtqps58pmt4eYpT4XFP//sn4exgaFQEREAEREAEREAEREAEREAERKBuAi0mnCkpicJ2XO7bRuK52rNAVF/1Wpdw/3ulQ7xT4Vxp3/I4VyKk5SIgAiIgAiIgAiIgAiIgAiLw/SbQosIZ1Hie9//JN0Vh29VcAsKzL36pS3ilhKfZ9iHhbCTyP1xyySVDv379CgWdOnVqGDt2bGE67yMbbbRR6NatW6GYTz31VHjnnXcK0xoRAREQAREQAREQAREQARFoHwRaXDiDjTbP2zVkyV6rIWFYGrqdYv16Roih3LdP7hwQz5WsLQvnhRdeOPTp06foFCdMmBC++SY7MdoPfvCDsPLKKxetP378+DB9+vSieXmd+OUvfxkGDhxYKN6MGQ2VKvvvX5jO+8hf//rX0LHj7CYDY8aMCaNGjcp7sVU+ERABERABERABERABERCBGgm0inC2MtJV1eoLzQgrd58ZFu42MyzQeVaYPqtD+PCrhr9pHcKrn3VsEM2dwpc16MC2LJx32223sOGGGxqeOHz22WfDBRdcUDTPJvB47rzzzjYZh6ecckp46623iubldULCOa9XRuUSAREQAREQAREQAREQARHwBFpVOPuCaDyELOEMl1NPPTVMmjSpEaLmFs6DBg0K2267beG4X331VRg6dGhhut4RCed6CWp7ERABERABERABERABERCBliAg4dwSlKs8RinhPGXKlHDUUUc12ktzC+cdd9wxbLLJJoXjzpo1K+y7776F6XpHJJzrJajtRUAEREAEREAEREAEREAEWoKAhHNLUK7yGKWEM5vfeuut4a677irak4RzEY4Wn1Ab5xZHrgOKgAiIgAiIgAiIgAiIQKsQkHBuFezZBy0nnEmc9Zvf/CZ8+eWXhY1rFc5LL710WH755QNJyD766KMwceLE8O677xb2ZyMkHVtwwQXDZpttFvr372+zAx7n4cOHx2m292WxlRZYYIGw0korhcUXXzwu5xi0uZ45s7g/btYv5XHm2Kuttlos5yuvvBJefPHFwPlXsu7du4e+ffuGnj17BsLK2fbNN9+salv2XS0fK0cl4WwcbX2Gn3/+efj000/9LI2LgAiIgAiIgAiIgAiIgAjknICEc44uUDnhTDFffvnl8Mc//rFQ4mqF8+qrrx722GOPgJBLDUF6++23h9GjRxcWHX300cFujMLMZOSxxx4LCEczxO5hhx0WevfubbMKQwT3uHHjwlVXXVWYx0gqnBHXCO0VV1yxaD0mHnjggXD11Vc3ms+MRRZZJFYqLLbYYpnL6Sbq0ksvLZltvFY+dpBywhkep59+eujcubOtHoflzqNoRU2IgAiIgAiIgAiIgAiIgAjkhoDpI/QK1uGV41ad5Uu35wOz+6n18zU+5wlUEs4c8ZxzzgkvvfRSPHg1wnmFFVYICOEOHcp35fX++++HYcOGxf3WKpyXW265cOyxx4ZOnTrF7Uv9++STT2JyMfM+p8K51HY2Hw/yWWedZZNxSGXAGWecEeaee+6i+ekEXXr9/ve/j552v6wpfGz7UsIZsXz22WeH+eabz1aNwzfeeCP84Q9/KJqnCREQAREQAREQAREQAREQgfwTkHDO0TXKEs54a73onTp1ajj88MNjqSsJ5yWXXDKccMIJRX0Nlzvdhx56KIwYMSIKbbsxSq1vHue55pordpdVSbjafnxfx7UKZ/aBxx3PO9alS5dw5plnhvnnnz9OV/r34YcfhuOOO66wWlP52A5KCWfC2Xv16mWrxeHHH38cj22VBkULNSECIiACIiACIiACIiACIpBrAqaP5HHOwWXKEs5333132HzzzYtKd88994Qbb7wxVBLO559/fiOvJ+2FEb2E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CfwmUEFF93Te41XLeemZrYWW1v2+EkDEklcEDzDPW9o3dBYX3te8D3nG8AwT1mwJvrLWLzfPP++8W6koaymj/HjAqSygwjCv3x8txUPHaRsEJJxzfJ34OMJTwA8LiZtI1sIfCSEqGduS4RDvI+EuiCJ+mKoRHHgeaLM2//zzh8mTJ8dENdWEzPACWG211UKvXr1ijSbH5IeYhBXljO0oJy8CwhHxglDWasprP7y9e/eO2Rfffvvt8MYbb+gHuBxwLRMBERABERABERABERABEaiJgIRzTbhaZuXNNtssthfzqfvtyNQqjh49ulHfe7acUD5CZdNwO5YjuO+4446YQdnW98NddtklDB48uFEIEOsQ6nvRRRfFUCC/DeO02SGkqV+/fplt5BD7ZHtOPRdsR/cMQ4YMiUI73S/nSggvXTGkgh+hvN9++8WQ43Q7phHQV1xxRSC5hUwEREAEREAEREAEREAEREAE6iEg4VwPvTm8LW1NaEeG97WSpX3gsf6gQYMCXSf49qBZ+5k4cWI4++yzC4vw+J566qmB9mnljNA9klX4dm14tmmXlyXU/b4QwcOHDy8ko2EZ7XCrOde0vIQRwqnSeVJe2t9KPPsroXEREAEREAEREAEREAEREIFaCUg410qsGdffdNNNA4kfqjUyI7/66qtxdQRs2j9guf2Q5AHxje2zzz6B/vuqsTTREwlmKmWHtP36zM7rr79+2GuvvWxRYYhnGU90atdee20YO3ZsnM15kgXWGyI5S0jj5T700EP9qhoXAREQAREQAREQAREQAREQgZoISDjXhKt5V8br67Mck2EQkUhb32233Tam8vcleOihhwpZhcmGSntoby+99FLs3oT+8/r06VMkLD/66KPotSWzIR3Te9GJd/j222+Pff1tsMEGYd555/W7jWHXL774YmbXRISDk+2Y/Q8YMKCRJ5pwb5aTkXWppZYq7JdjIsLp+oD21ZyPLxPtpc8444yw2GKLNerb78EHHwzXXHNNLC/b0VbaG/OqaaPtt9G4CIiACIiACIiACIiACIiACBgBCWcjkYMh4ccLLLBAoSR0AXTbbbcVptPuS2jHSygylnZXhNgmhNqMrofWWGMNm4yJtOgSgHbNtDH25rsP6NatW6BPQi9i77nnnnDjjTeGww8/PKyyyip+0yhuEblml156aVH7ZUQz4pn+ARdddFFbLWaSZH9mdJVAtwVmnA/loAIg7RaFtsx0YYDR9tnvh3kcj3bWMhEQAREQAREQAREQAREQARFoCgEJ56ZQa4FtSAxGdmv+evToEcOX8f4iZM3IPo2XlnmIQ28IVoS3GUnDjj76aJuMicKOOeaYOM9uAhamodjMO/DAA6N3mXGMPv4Q9GnINNmz8V57IxybczCjfTTeZuYTru0Nr/CECRNiub349usQxk0lgRfy1m0K2z7xxBNVdefg96lxERABERABERABERABERABEShHwDQT+ZewDg3htbPKbaBlzUsAgUuCL/r18+Iw66gmnAltPvLII4tWGTZsWHj//feL5mVNEP7sk4J5L3bW+n5e6k32y0qNf/HFF+Gwww6LXVbhLS91joR8I7JHjRoVu9Ly+yNreN++ff2sovHPP/88PPnkk4F20Wk27qIVNSECIiACIiACIiACIiACIiACVRBIhfP/AwAA///hlLv+AAA6LUlEQVTtnQn8FlWhvw+KrILIvikgqCCCghsuiUpW7rdMo9TU6n9NMm9lppmZV65J3WtevWi5Xa9tUlp600RzzdRbmGKg4IahuCAGiigi6//9DpzxvMPMO+/Mb2be7Tl8Xs6Zs805z8z5zXznbO0mTJiwwWBqQmDkyJHmm9/8pmnXrl1V51+yZIn59re/bQ488EBz8sknl6X56le/alauXFnmF3Zw+eWXm6233toPevbZZ80Pf/hD/7iS47rrrqu6rDaf1atXm9NPP907HD58uPnWt75l2rdvb4M3szds2GBuvfVW8/vf/74s7Otf/7rZddddy/yCB2+99Za56KKLzDvvvBMM4hgCEIAABCAAAQhAAAIQgEDVBEaNGuXFnT9/vme3QzhXzS7ziFdccYXp2rVrWb5vvvmmeeGFF8xLL71kjjzyyDKRa4XziBEjPAHtJrzgggvMq6++6nqFui+++GLTv39/P+yVV14x3/ve9/zjSo6f/OQnZquttiqLsn79+rLj4MGKFSvMN77xDd9bonnSpEme+O/Xr1+kEL/66qvNrFmz/HRyDB061Bx++OFmzJgxpkOHDmVh9uDtt982Z511lj3EhgAEIAABCEAAAhCAAAQgkJgAwjkxsnwSDBo0yOsddXN/5plnzL//+7/7XkGRa4WzxKeEpWtuuOEG8/DDD/te6lX+7Gc/6x+vXbvWKM7XvvY1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adM1DhlKCoH6J1Bv7VC9y0ceeaTRnOagefPNN82TTz7pLZy5vrRziTVaTVuLhWmNEC0epjrp47MW/1IaLQam1bWt0TvOiBEjzO677+6vK2LDZGvO8x133FHq/Fjreje0O07AxoWnrXxe+aYtTxHp8ha2eeeflBHCOSmxnOJnKZw7d+tr+g3fL7uSusJ5U0+z19usnubSH/ONolk9zquNepsHDNvDbDdy/+zOn2FOz87ScO2fhQpnPVxkrGC2doanb1NW9fbAb1NlCk6McC4YeBOfLm07TJuuiVFSNQgUTqCe2qHeOQ4//HAzZMiQzThEDXcdNmyYOeigg0yXLl02S2M9Vq5caR588EHz97//3Xr5dlCE2ACt/XHnnXc2Tc9znICNC7dcktp55Zu0HEXGD95TUfdu2jLlnX/SciGckxLLKX6WwrnnwF1N974jsiupI5zV22xKXc8b5zdv7G0uG6a9+gMzYvwRpteAHbM7f4Y5LXlprnnkt9/1hXMjDddu6wNfHwK0rYX+sA8YMMDbnklfrvXx47333vPmTj322GPmlVdeCSWuOVMaTmbNzJkzvblYu+22m/f1e/DgwR5XzbnSF+y7777baJupKKPFTzSnS0ZpNFwsL1OtcNb8sq5du/rF0Bd8PQTCTN++fb1hcBpuLrd6DpYtW+bx07yxBQsWhCUze+65pxdfgeLzwAMPhMZzPTXczr5c6XrdddddbjDuAgmkbYdp0xVYNU4FgaYnUE/t8NBDD/WenS509fref//95vnnn3e9vQ/6hxxyiP/MLAuMONBzSHmpo8M1O+64o1FewbnU6qm+55573KgN644TsHHhaSueV75py1NEujhhu/feexvFsUbvme57VVx4XP4236JshHNRpGPOk6VwznRRMJU7IJyD85vtgmBej3NpW6HdJn7edO7WK6bGtQleufxNc9f1X9pMOIcN126mHmfNnTrmmGOq2gdSD9tf/epXmw3bGj58uDnllFP8C/cf//Ef5itf+Yrp3Lmz7+c6dJ/85S9/Mb///e9db99db4uDnXzyyd5wNr+AJcf//u//mr/+9a+ul+c++uijyx4Em0UoeSxatMjceOONRvtouuZb3/qW6datm+911VVXxe4rff755/vXLu8VyP2C4QglkPbFO2260ELgCQEIpCJQL+1Qz+QDDzywrA7qKdbzcsmSJWX+Ohg/fry3PZUbIJGtj7Vvv/226dGjh/cxPCiGtf3UE0884Sbz3PrYe8QRR2zWc/3QQw958543S9BgHnECNi48bXXzyjdteYpIFyds44RxXHhc/kXU0T0HwtmlUUN3lsJ5u10PM1u275hdbcKEc6nXS4uCufOb15SGaa8p9Tjvc9gZ2Z4/u5qYdWs+MLddcZz3pdVdIKyZhbMEs3o5k5jFixebK6+8sixJUDhrhc+oFTvdhFrQZMaMGa6X564n4XziiSeanXfe2S+jRP+tt95qZs+e7fvJod7o008/3ZtTVhYQcSBGN9xwgyeibZRJkyZ5Q+3scRQfG66e+VNPPdUeemX67W9/6x/jKJZA2hfvtOlUO42E0IuzVs7Vh5iFCxca3QNRcxI1//FjH/uY9zKtEQp6Ef/Nb35j3nrrrVBYSeNvu+225lOf+pQ3ckJ/R/Xifu+990au0KuX+U9+8pNGw0w7duzojXBR24oabZE0fhpGjc60Ga5B6M2Ys2db2mFWRVMZJk+eXNbju2LFCq9NayGwoOnZs6fRYppqa9bMnz/fG6WlD6nWaDEwjQobNWrjNjny1zvar3/9a09g23jW1t8TtWP3Q66eWfpwrjnTjWziBGxceNq655Vv2vIUkS5O2MYJ47jwuPyLqKN7DoSzS6OG7iyF89DdjtFE3Wxqs0k0KzMN9tl8YbC1pT/MpfnNpT+2a0qidG1JOO939FmlmBmdXyfO1Gwwv7n0GO8BpJczO1S7WYWzXlK/853v+PO2hVIvz3pp1TBkMdCwbb2UK65rrrjiCm+hEesXFM7WXw/mP//5z2bevHneF+99993XBO/nm2++2VsV1KaRXS/C+XOf+1zZi4ZEs8qr1UaD5ktf+pI/ZNqGaU9MDXHTsGuJXA2rFldrNAx+2rRp9tDo5UY9yHZEg15UNJQ8ykg0u3t6XnrppZ5QiYqPf74E0r54p02nDzXB9qQa6oX5Rz/6kSdC3Rp//OMfL5tSYcN0X//yl7/cTNwmja9Fhj7/+c/796/NX7Z6tzRP0jWai/mNb3xjs78vihP2gS5pfOWTlFHS+EkZJY2flGnS+EmZJo2f5hooTS1M2naYZVklVvXcdY1GN0VNkwrGj+pFtvkFe6dff/11T5TbcNfWFCt9XHdNpfhuvHp2xwnYuPC0dcsr37TlKSJdnLCNE8Zx4XH5F1FH9xwIZ5dGDd1hL0Zpi1O0cNY2VBqurR7nRhLOtsfZimcJGfsTeyts0l6HrNOleeBrKNaECRP8ojz11FPe12Tfw3FMmTKl7GH++OOPm9tuu82PESac1fv1k5/8xBPhfsSSQ6uE7rPPPr6X4v3bv/2bfyxHPQhnffWX0LVG4uKmm24y+pofNJpjLOFsjT4YqDdZi6q4Ri+dejHX0Dlr1BunPTOtOe2004xeWKz5+c9/bp599ll76Nv6oPO9733PW/ldnurZk3DG1I5Amnao0qZJd/DBB3tzEaNqqxdcDfW3Rs+RL3/5y5F/u/SR5vvf/77fU500vv5Wnnfeed7HH3vOoH311VeXCYDgvR6Mr6Gh7rzKpPGTMkoaPymjpPGTMk0aX7yTMk0aPynT4D1Q5HGadphl+YYOHeoNkXbz1HPZfT64YfoI+8///M9+m1ab12goPauijN5dNMLDinPFveaaa/x2H0yn0Re77rprmbeGjC8sjWxpVBMnYOPC09Y7r3zTlqeIdHHCNk4Yx4XH5V9EHd1zIJxdGjV062Gblcl0qLbzxzmqx9nbv1miedNQ7QlHnFnXQ7VvvfzTZUO1m1k4f/e73/VfciX0/vVf/zXygdu/f39vzrK9D1944QVvjq49DhPOEo7qcQ0zZ599ttGCYtb8z//8T9mCWbUWzhr65u6bqZeLn/3sZ5stymLLH6xPWC+6jash7Orp170lI/YXXnih59Z/Gkqnnm5rJL6vu+46e+jbemBoPrU1f/jDH8yf/vQne4hdAwJpX7zTpDvrrLPKPsAEq6t7Vh9W7Eu0eqbGjRsXjFZ2rF5n+2EoaXwtKqTe5kpG+82qbVjjLsxn/VxbQ0K1XoI1SeMnZZQ0flJGSeMnZZo0vrgmZZo0flKm9lrXwk7TDrMs56c//WnTr18/P0stjKmpTPqoFWYUV2ms0WJftv1avzBbzxgtAGbNLbfcYt544w17WGbreaWPyO7zWnGVplFNnICNC09b77zyTVueItLFCds4YRwXHpd/EXV0z4FwdmnU0J2lcM50cbAUwnncwaeaLt1715Bm9KlXLl9i7rz2iy0jnLWKtvaH1EIgGgYW9VVbxPSVWi9M1mgri//+7/+2hyYonJcuXWr+8z//0w8POvQF+zOf+YzvHZzLW0vhrJ5brQZujYSHhH3URwDFmzp1qo3uzf9yX/b9AMcRFObBoe8XXHCBP0dc81D1UUO2a84880x/302VUdcnal6rmw53fgTSvninSed++Iqq0X/913/5iwmFTSUIptNQag31lEkaX/MnNQy5klEb0gc1Gc2hPOeccypFL/uolDS+Mk7KKGn8pIySxk/KNGn8pEyTxk9zDSreEDkHpmmHWRUpbFi0eo/ti3jYeTQiSttPWaP5ytqrOc5oj2c9g6zR9lR6BkcZvYOql9o1lYaPu/Hq0R0nYOPC09Ypr3zTlqeIdHHCNk4Yx4XH5V9EHd1z2PZq1xKwH7LalYZ3Ro8DcXPAnQmBLIVzpttRVSmc3aHaO+15tOk9cKdMuGSdyRsvzTEP33K+1xOo3kD7a9Y5znH8NKxYQ5C1MJbm0WrBGWs0TOv666+3h5sJ5+DwYz+i43DFplb/vOyyy/zQWglnvwCOQy8jYXOabRR9ePjqV79qD83LL79s7rjjDv84zKEPB+6qqVrMyV1sTL0Irni//fbby7Zo0Grl3/72t/0hejrntddeG3Yq/AokkPbFO026c889t2x7tLBq6mOK7a064YQTYrercVeKTxp/9913N8cee2xYMXw/baPz05/+1DvWMFP1iFcyWkn4kksuSRVfiZIySho/KaOk8ZMyTRq/Hq9Bpfsh77A07TCrMiGcsyIZn0+cgI0Ljz9DeIy88g0/W334xgnbOGEcFx6Xf9EUEM5FE484X5bCuXO3vqbf8P0izpTQuwrhHFwcbODwvczQ0RMTnqiY6PP/fLOZ98jPPMGsFwo7TLsVhLN6nvUHSPeaXh60h7PqHWXihLM75DMqD700i7OM+4Ks43oSzloo7fLLL1exQs0ee+xh/umf/ik0rFpPbc3lim19pNCiSdZo5WP1HloTXGBIw8i1CBmmtgTSvninSRdcuC5Y82CbihNVGrXwwx/+0NiVe5PG14c2Cc9K6z9oXQStj2CNepzVixlldE/r3rYmafykjJLGT8ooafykTJPGF9ekTJPGT8rUXuta2GnaYZblZKh2ljSj84oTsHHh0TlXDskr38pnrW1onLCNE8Zx4XH5F117hHPRxCPOl6Vw1ikGjZxktur04V6xEaetznuTeNYQhA0b1nvz6TZU2I6q6zb9zG4Hnlhd3gXHeuCmc8yy1+aXDdWWeGxm4bz99tt7vUTa0iKJiRPOGqoct2WF27ujIcYajmxNPQlnlUkLFGmhojBz1FFHGf1xb4tZsGCBNxzczcOdGyhRo4WbVq1a5UVxX17Zu9mlVlt32hfvNOm0ArvaUNS2b2FrDGhvda1XEGbCVr1OGl/bXH3kIx8Jy94bMu5+/FGk4KJ6bkL9TdCK8+5e50njJ2WUNL7Km5RR0vhJmSaNn5Rp0vhpmLr3QZHuNO0wy/KxOFiWNKPzihOwceHROVcOySvfymetbWicsI0TxnHhcfkXXXuEc9HEI86XtXDu1nuY6TX4wzmcEaetzjtMOJf81pcWPPL2ci6tqO0tELZWq2qX9nIubUu19ye+Yjp2zki4V1fK2Fjvv/eWueOqk/zh2e4w7WYVznqB1grPlXqW9dKq3k5tJ+XOX4wTzhp2reHXlYy2XbLbXAVX1q6lcNZiXY899ljZiuMSrlqxOuxjQHB1cqVPOtdY88s0n801Gsp96KGH+l6ag64h8MGh4U8++aS3D68fEUfNCKR98U6bTgv2nHzyyd49YSutrc+016o+xgSN2rrmNmp9A9szrPtViwqFfRhKGl/n0zzbj370o97fUh2r7TzzzDNemXSuoBlW2r9Ziw+pt9QazdPUugJaHCloksZPyihp/KSMksZX/ZMyTRo/KdOk8ZMyDV7zoo7TtsMsy6cF5OyK1zbfSvOJg/HZjspSi7bjBGxceHTOlUPyyrfyWWsbGids44RxXHhc/kXXHuFcNPGI82UtnHWazBYJCwhnbei8Xj3P69d5C7us1z7OVjyX9nGWcN5+5EdKv4yGi0cwS+qtYdpP/enGst5mO1RbL5juT3nbl86k58krfpoHvitcVS694EoQa8VsLeLz6quven4K08ue2yMcXOk5uDiYtm2S2K5k3NVZg6vn1ko4S/D++Mc/9j4WnHHGGWUrnEYN2Q4Ov3zggQc8IVKp7tWEaRi7Fgmz95rdbio4/1n79Wr/bUztCaRphyp12nS2xmqfetnWPer20NrwMFsfYDSCIUycZhFfYklTPvThrRqjj2i9e/c22lInuBBeWPqk8ZMyShpfZaw3po1+DcKue55+bW2HWZRNZdCHJDuNSXmuWLHC22vZTqNwz6PRYvoYpvcVa7Qg0cMPP+zt52791POvDyp20SL560OW1vAI+8itKRQS5d26fdjJofUS9FEu7AOyPU8j2HECNi48bR3zyjdteYpIFyds44RxXHhc/kXU0T0HwtmlUUN3HsK5Q5ceZuCOpbnGJVHYJuMI55LK8oSWBJh6m/Xys26d9nGWeN64JZW2pWrfoUup13lKm06bdeI7r/mSeX/FkrIeZ7046SfhIlvGihhrZ12OtPklfeAHt5eSYNSey1FbUgR7ORctWuTt/WjLGxTOWqXzvvvus8Gb2Xqh0xZO1gTzq5Vwdj8IqIzf/OY3/WuusoYtehacj+yuHGzrF7Q1vFZM9cKiHsIoE1yF9+KLLzZf//rX/d654AeHqHzwL4ZA0nZoS5U2nU2PDQEItJ1AvbRDbYXoLh6pmmnNAu2fHPYhavz48WbfffctA6Bnup4v+uDao0cPI4HtinFFjuqd1rNJI6ncUSCKr1EplRbKVJxGMHECNi48bR3zyjdteYpIFyds44RxXHhc/kXU0T0HwtmlUUN3HsJZ1enaY5DpM3SvttXMFc6lnLx5zusloNdvHKpd+qK5UTyXhmyXvlaqx3lNqed5h7EfNYNHtPHcbSu5n/r5J+4ws+/9cWhvsxXOEsquWHbdfkY1dCR94AcXl/rrX/9qNBwsyhx55JFmn3328YO1fdXVV1/tHweFs76M/+AHP/DDg44TTzzRW63b+rvb4MivHoSzynHQQQeZSZMmyekZfRRSD69eRlzj9p7rK74WWdKLTpRxt6NSnuql1i9oRowY4Q3Ftf6PPvqo2W+/D0drhAl5Gxe7eAJJ26EtYdp0Nj02BCDQdgL11A41TWenncp3IJEY1rQKrU7vGr2PaF/mkSNHut4V3Zo+obz0/HGN9gJXXkGRrYX6tNZHM5g4ARsXnpZBXvmmLU8R6eKEbZwwjguPy7+IOrrnQDi7NGrozks4q0qeeB6yZ/qeZ+ePrv78esK55Of1OpcEhNfz7A7XLvU4q9e53RbtS73Op5v2W3WqIVlj1nzwnrnzmv9XsleU9TY30jBtAUz6wD/66KO9VbQtfA3ruvvuu+1hma2v38cdd1zZhwMNp7zqqqv8eEHhrIDgFks2ssqqha/sxwfdK8E9iOtFOKvM7iJdOtZXfHfrLPlNmTKlbF5acJ9rxbFGw1G1B7Otv/wrDbcODqm3+YRxs2HYtSGQtB3aUqZNZ9NjQwACbSdQT+1QH+0PP/xwbwG9YM1mzZrlrcMR9B9WWi9AH3uDPcVuPH3Q1YgwPaOCJihCbLhGYunjdjVTKGyaerbjBGxceNq65ZVv2vIUkS54TwXv3ThhHBcel38RdXTPgXB2adTQnadwVrU0bLvXoLGmY9dkKyv7SDaJZ++7pRXN3jxn9TqXfhLO3pDtjQuFqcdZ4rnPdqPNqL2O9rOpheMvd15mXnrqXk806wurHlZWNAd7m63QsXYtyht1zqQPfO0j/JnPfMbPTl+yJQaD8x3Hjh1rNKc2WGfNqZXYsyZMOEvY3XXXXUa9pNZoP+iTTjqp7Gv2nDlzzM0332yjeHY9Cec+ffp4+zS7DPSl3u0hFn/3Y4AqoT+gWuDIHYqtB+cpp5xiNN/MGg2Pnz59uj3czNZWV9ryKmiCw9uD4RwXTyBpO7QlTJvOpseGAATaTqDe2qHeSTTaS9tFBo0W0NPCkFqTxBW0WldAPdV6bukjreqkKT1a/0Bp1HNsd2dQnnrP0cgmrdWhNEGjtU60VaLeEZrFxAnYuPC0HPLKN215ikgXJ2zjhHFceFz+RdTRPQfC2aVRQ3fewtlWTattd++9Q/KtqoLCubRC2IbAcG2JZ29PZy0UtqnXWfYOux1qttuxbVv52PIntZ97/HZviLaEsvvTg8T+JJbsz+bvCijrV2s76QNfwu28887z6m3LLqGrh6Qesv369fPmRIlDmAmugh0mnG06xdXQZi0yEvwSrrBLLrnEW6TExpddT8JZ5QmunC1W+tDgLsp1zDHHmD33LI3ecIziaWEX/TRn2l1oRdE0rPvKK6/0XmicZGXO4HxwG/iLX/zCW63YHmPXnkDSdmhLnDadTY8NAQi0nUA9tkM9g7Wol0Z+hRlNi9LHZ+3MoK0JqzV6Bxg9erTRx/GovdQ1n1mj0VxhXm3+9RwvTsDq/UfvNHkb7XwQta5M3ucuKv84YRsnjOPC4/Ivqp72PAhnS6LGdlHC2Vazc7e+Rj/1QLfv2LUkrkq9YyUBGWk2CWeF2+HaH66ubec6bxTO5QuFSUR/YEbvd5zpO3hUZPZ5BCx69lHzyK1TywSz29Osh5UVzNZWOepRNKtcaR74ehBrrm01RsJXvdHa99kaDdXWkG2ZoHCWYIxjpSFjEo3BXm7lV2/CWWVy953WcdiQbe3prD/kcXVXer2MXHvttUbzxeOMFgRz99pm7+Y4YrUJT9MOVdK06WpTS84KgeYkUM/tUPOXJ06cWDZay70KWvFao5D0PNXHb/3klrCWMNYHWNVPP7klHqP2gFfvsrY/1DzoZjRxwrlz585m3LhxuVd99uzZZSPScj9hDU4QJ2zjhHFceFz+RVcZ4Vw08YjzFS2cI4pRlbcEkzVy2583ZFvDtjf91NPm/g741AVmu50/XPTI5pGHLdH88G8vqiiag8LZlqMaQWTjFmmnfeBriNaxxx4b+cVZw4wfLM2H0nDroNDWXse/+93vvGoGhfPMmTO9B7O+aAeZ6R546qmnzG233VZaLG5NKKZ6FM6DBw82p512Wll5w+Zxa1ugE044wXs5CdZdidUmtF2IFmOrtICYeyL1OLj7aP/tb38zt9xyixsFdx0QSNsO06argypTBAg0DYF6b4cSvPvvv7/RlKe8jHaFeOSRR0I/aOd1zqLzjRPOKs+QIUNCh8hnVVaN7tPc8WY3eQvbvPNPen0QzkmJ5RS/kYSzEFjxbEWza0s0STCHCeg9PvYVs9MeR+VEcWO2Gp79+B+uLBPNEsn62R5niZ3gT6nDRFCuhU2QeVsf+Np+QvOoJPo0fFoPz5dffnmzIdRRRQoTznZusx5A2jtSIlkPC83Jaqb5UlFMdL+o7WrBFm1ZpTlmqr/+sCatv3qy9eXVmkqLidk42MUTSNsO06YrvoacEQLNS6BR2qGe1dp+SkOKszIaMqztqfSManZTjXAWA70X6Z1IU8yyeP/Tu7A+lmukXti2Ys3IPW9hm3f+Sa8JwjkpsZziN6pwFg5XNMttBbMroK2Qlj1s7MfMHh89zWxVGiKepdHq2Y/fe7X5+5w/+ALZCmVrWwEdJppVliz+cGZZJzevWj/wKwlnt5y40xHQfHQNH5PRsPlLL700XUakypVA2naYNl2ulSFzCLQYgUZrh1r8a5dddvEWA+vYsWPiq6WP5FosbN68ed6H3cQZNGiCaoVzg1avroqdt7DNO/+kMBHOSYnlFL/RhLMwSCQHbSucre2KZ9fdoVN3M/ojJ5id98hmxe1nH/+defpPvzCrV71T1rPs9jLLLWFsbSuSg7ZXqTr8r9YPfIRzfjfF+PHjzSc/+Un/BME9r/0AHDUnkLYdpk1X8wpTAAg0EYFGbYd6b+nVq5fp37+/91M9tLq2xLQWAdOaGBLJWk1b857V47l48WKzdOlSrzOjiS5hVVVBOFeFKZNIeQvbvPNPCgHhnJRYTvEbWTgLiYSy/elYIjkonnVse54Vrl/Xbfqb4bsfZoaNmWS6dOutpFWblSv+Yf4+9z6z4MmZ5r3li/1Vsq1YliB2e5qtaNYJ5LY/e0Id17Op9QMf4Zzd3aG51FoITEO6NMRdDwZ7/2mIt/a8VnvB1B+BtO0wbbr6I0CJINC4BGiHjXvtkpQc4ZyEVtviap2bg0p7ixdltCaPVpivlUE414p84LyNKJxVBfflXu6wnxXJUbZN03vwaNNv+7Gm54CdTPeeg0yX7r1N+w4bh66uXf2+WfnOP8w7y141y15/zrzx8hzzj1ee9sWvxHKlnxXJQdteBita7HE92rV+4BchnM8++2xfQGZxDTSPux4X2Dr99NO9udFhddRD4b777gsLwq8OCKRth2nT1UGVKQIEmoYA7bBpLmXFiiCcK+LJNFCdAJMnT8703S2qgNILM2bM8HY8iYqTtz/COW/CVebfqMJZ1dONbI0VwUHbimb5W7dsexyMH8xXx1bcBsWvBLP8XOHsHgfj22NbZh03gqn1A78I4Tx16tRML4UWQ5k+fXqmeWaR2Wc/+1lv3lowL+0ZrUXBMPVLIG07TJuufklQMgg0HgHaYeNdszQlLmqfZm0Ppl+rGy1kpylneZsnnnjCW+Au7/NUyh/hXIlOgWGNLJyFScI3aFs/K5BdkWz9rG3DbB42rbWtuHVFrxXM8rPuoG3DlK+bVm7r5zka4L9aP/D1IJoyZYpP6uabb/a2nPI9MnBccMEF3vD6DLLystAD7brrrssqu8zymTRpUtnQJrUD7fV8ww03JF6NO7NCkVFVBNK2w7TpqioUkSAAgaoI0A6rwtTwkYrapxnh/OGtokXsdt11V28amqZJZmU0xXPZsmXe+6YWuau1QTjX+gpsOn+zCGdVx4pd2UF3UCjbOEHbXhab3gpd+VsBHLStaJa/63bTWLdsGTffjT71+z8P/Pq9NmlK1qNHD6M9trWCtrbvwjQGgbTtMG26xqBCKSHQGARoh41xnbIoZd77NKuMCOcsrlRj5YFwrpPr1ejCWRityLVIrRi2YfY4zrbxbT6ubYVuUDRXOlZ6Gx6Wl+tXz24e+PV8dShbqxBI2w7TpmsVrtQTAkUQoB0WQbl+zpH1Ps3BmiGcg0Sa/xjhXCfXuBmEs1CGiWfrb8Nc4eyGWX/5ydj4G4/Ke4etELa24li3bPfYuj3PTf/ZOK5fvbt54Nf7FaJ8rUAgbTtMm64VmFJHCBRFgHZYFGnOA4HmJIBwrpPr2izC2eJ0Ra91V7KDYcrH+tk8XbFr3bJdt+JGHbthNs9GsnngN9LVoqzNSiBtO0ybrlk5Ui8I1IIA7bAW1DknBJqHAMK5Tq5lswlnYQ0KX3sctN24NizusgTFseIH/eyxzSt4bP0bxeaB3yhXinI2M4G07TBtumZmSd0gUDQB2mHRxDkfBJqLAMK5Tq5nMwpnoQ0TwtbP2lHxqrk0rhi2bmu76cP83PBGcPPAb4SrRBmbnUDadpg2XbPzpH4QKJIA7bBI2pwLAs1HAOFcJ9e0WYWzxeuK5Ci/sDg2bpgdFMPBY6UJ8wvLqxH8eOA3wlWijM1OIG07TJuu2XlSPwgUSYB2WCRtzgWB5iOAcK6Ta9rswtlijhLHUf42XZQdJYyj/KPyaQR/+8BvhLJSRgg0O4Hly5cnqiLtNxEuIkMgVwJJ22+uhSFzCECgYQggnOvkUrWKcLa40wplmz7KbkbBbOvKi7clgQ2B2hNI+uJN+639NaMEELAEkrZfmw4bAhBobQII5zq5/q0mnF3sbRXRzSyWXU64IQABCEAAAhCAAAQgAIHaEEA414b7ZmdtZeG8GQw8IAABCEAAAhCAAAQgAAEI1BEBhHOdXAyEc51cCIoBAQhAAAIQgAAEIAABCEAgQADhHABSq0OEc63Ic14IQAACEIAABCAAAQhAAAKVCSCcK/MpLBThXBhqTgQBCEAAAhCAAAQgAAEIQCARAYRzIlz5RUY458eWnCEAAQhAAAIQgAAEIAABCLSFAMK5LfQyTItwzhAmWUEAAhCAAAQgAAEIQAACEMiQAMI5Q5htyQrh3BZ6pIUABCAAAQhAAAIQgAAEIJAfAYRzfmwT5YxwToSLyBCAAAQgAAEIQAACEIAABAojgHAuDHXlEyGcK/MhFAIQgAAEIAABCEAAAhCAQK0IIJxrRT5wXoRzAAiHEIAABCAAAQhAAAIQgAAE6oQAwrlOLgTCuU4uBMWAAAQgAAEIQAACEIAABCAQIIBwDgCp1SHCuVbkOS8EIAABCEAAAhCAAAQgAIHKBBDOlfkUFopwLgw1J4IABCAAAQhAAAIQgAAEIJCIAMI5Ea78IiOc82NLzhCAAAQgAAEIQAACEIAABNpCAOHcFnqkhQAEIAABCEAAAhCAAAQgAIGWITBq1CivrvPnz/fsdhMmTNjQMrWnohCAAAQgAAEIQAACEIAABCAAgRgCCOcYQARDAAIQgAAEIAABCEAAAhCAQGsTQDi39vWn9hCAAAQgAAEIQAACEIAABCAQQwDhHAOIYAhAAAIQgAAEIAABCEAAAhBobQII59a+/tQeAhCAAAQgAAEIQAACEIAABGIIIJxjABEMAQhAAAIQgAAEIAABCEAAAq1NAOHc2tef2kMAAhCAAAQgAAEIQAACEIBADAGEcwwggiEAAQhAAAIQgAAEIAABCECgtQkgnFv7+lN7CEAAAhCAAAQgAAEIQAACEIghgHCOAUQwBCAAAQhAAAIQgAAEIAABCLQ2AYRza19/ag8BCEAAAhCAAAQgAAEIQAACMQQQzjGACIYABCAAAQhAAAIQgAAEIACB1iaAcG7t60/tIQABCEAAAhCAAAQgAAEIQCCGAMI5BhDBEIAABCAAAQhAAAIQgAAEINDaBBDOrX39qT0EIAABCEAAAhCAAAQgAAEIxBBAOMcAIhgCEIAABCAAAQhAAAIQgAAEWpsAwrm1rz+1hwAEIAABCEAAAhCAAAQgAIEYAgjnGEAEQwACEIAABCAAAQhAAAIQgEBrE0A4t/b1p/YQgAAEIAABCEAAAhCAAAQgEEMA4RwDiGAIQAACEIAABCAAAQhAAAIQaG0CCOfWvv7UHgIQgAAEIAABCEAAAhCAAARiCCCcYwARDAEIQAACEIAABCAAAQhAAAKtTQDh3NrXn9pDAAIQgAAEIAABCEAAAhCAQAwBhHMMIIIhAAEIQAACEIAABCAAAQhAoLUJIJxb+/pTewhAAAIQgAAEIAABCEAAAhCIIYBwjgFEMAQgAAEIQAACEIAABCAAAQi0NgGEc2tff2oPAQhAAAIQgAAEIAABCEAAAjEEEM4xgAiGAAQgAAEIQAACEIAABCAAgdYmgHBu7etP7SEAAQhAAAIQgAAEIAABCEAghgDCOQYQwRCAAAQgAAEIQAACEIAABCDQ2gQQzq19/ak9BCAAAQhAAAIQgAAEIAABCMQQQDjHACIYAhCAAAQgAAEIQAACEIAABFqbAMK5ta8/tYcABCAAAQhAAAIQgAAEIACBGAII5xhABEMAAhCAAAQgAAEIQAACEIBAaxNAOLf29af2EIAABCAAAQhAAAIQgAAEIBBDICic/z+pWdKyEpU3ZwAAAABJRU5ErkJggg==)"
],
"metadata": {
"id": "hBIhTFNkFIGL"
}
},
{
"cell_type": "markdown",
"source": [
"First we install the d8n package from pypi. This includes a library to communicate with the API."
],
"metadata": {
"id": "y6HPRzLIFvp8"
}
},
{
"cell_type": "markdown",
"source": [],
"metadata": {
"id": "WOdeS8Wdxnk8"
}
},
{
"cell_type": "code",
"source": [
"!pip install d8n\n",
"\n",
"import requests\n",
"from google.colab import userdata\n",
"from d8n.d8nClient import d8nClient\n",
"\n",
"api_key = userdata.get('api_key')\n",
"client = d8nClient(api_key)\n",
"\n",
"url = \"https://media.licdn.com/dms/image/D5612AQHlEzNOh4bIbg/article-cover_image-shrink_720_1280/0/1673730667692?e=2147483647&v=beta&t=dUWIM4P6t15lohxqYepJe3-wfFH31PuIkznVUo36Y8U\"\n",
"img_data = requests.get(url).content\n",
"\n",
"with open('image_name.jpg', 'wb') as handler:\n",
" handler.write(img_data)"
],
"metadata": {
"id": "1xz9_lKFTYu1",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "dc8d9dec-f180-414f-9f48-6244557bad0e"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Collecting d8n\n",
" Downloading d8n-0.2.6-py3-none-any.whl (2.2 kB)\n",
"Installing collected packages: d8n\n",
"Successfully installed d8n-0.2.6\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"Code above will fetch a random image from the internet.\n",
"\n",
"You can see how the image looks like by opening the file image_name.jpg"
],
"metadata": {
"id": "zHkQUlyeF8pF"
}
},
{
"cell_type": "code",
"source": [
"# Upload the image to the API and run analysis on it\n",
"jsonid = client.from_local_file('/content/image_name.jpg')\n",
"id = jsonid['id']\n",
"# id is now a reference to the ID of your request\n",
"display(id)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 37
},
"id": "9pBEDR9HOucD",
"outputId": "e928cb9c-28be-43b3-fe8e-8d287ebb788c"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"'ca8fa272-408a-4d61-99d0-dc13b2f6a845'"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [
"status = client.fetch_status(id)\n",
"\n",
"print(\"Current status:\")\n",
"display(status[\"status\"])\n",
"\n",
"print(\"Finished tasks:\")\n",
"display(status[\"finished_tasks\"])"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 92
},
"id": "BMoeXBJxPWaZ",
"outputId": "5725e545-f59a-42ad-83a4-5f979f0e7c22"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Current status:\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"'Status.Line_Detection'"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Finished tasks:\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"'Status(Started|Symbol_Detection|Text_Extraction)'"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"metadata": {}
}
]
},
{
"cell_type": "markdown",
"source": [
"**Note**: wait until 'finished_tasks' is Completed. (shouln't take more than a minute)\n",
"\n",
"\n",
"This will download the collected info into YOLO format which you can input into d8n sandbox to view.\n"
],
"metadata": {
"id": "52HhJWu_S3iF"
}
},
{
"cell_type": "code",
"source": [
"# Download a zip file containing\n",
"# 1. The image you uploaded\n",
"# 2. The text file of labels of the identified objects\n",
"# 3. A text file containing all the identified objects with their identified coordinates (normalized)\n",
"# and the class predicted\n",
"import zipfile\n",
"\n",
"zip_file = client.download_entry(id)\n",
"save_file = './file.zip'\n",
"\n",
"with zipfile.ZipFile(save_file, 'w') as zip:\n",
" zip.writestr('out.zip',zip_file)\n",
"\n",
"from google.colab import files\n",
"files.download(\"/content/file.zip\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 17
},
"id": "j2o6MLUcXGns",
"outputId": "153b5b70-12d9-4758-fbd0-6be242f604c0"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<IPython.core.display.Javascript object>"
],
"application/javascript": [
"\n",
" async function download(id, filename, size) {\n",
" if (!google.colab.kernel.accessAllowed) {\n",
" return;\n",
" }\n",
" const div = document.createElement('div');\n",
" const label = document.createElement('label');\n",
" label.textContent = `Downloading \"${filename}\": `;\n",
" div.appendChild(label);\n",
" const progress = document.createElement('progress');\n",
" progress.max = size;\n",
" div.appendChild(progress);\n",
" document.body.appendChild(div);\n",
"\n",
" const buffers = [];\n",
" let downloaded = 0;\n",
"\n",
" const channel = await google.colab.kernel.comms.open(id);\n",
" // Send a message to notify the kernel that we're ready.\n",
" channel.send({})\n",
"\n",
" for await (const message of channel.messages) {\n",
" // Send a message to notify the kernel that we're ready.\n",
" channel.send({})\n",
" if (message.buffers) {\n",
" for (const buffer of message.buffers) {\n",
" buffers.push(buffer);\n",
" downloaded += buffer.byteLength;\n",
" progress.value = downloaded;\n",
" }\n",
" }\n",
" }\n",
" const blob = new Blob(buffers, {type: 'application/binary'});\n",
" const a = document.createElement('a');\n",
" a.href = window.URL.createObjectURL(blob);\n",
" a.download = filename;\n",
" div.appendChild(a);\n",
" a.click();\n",
" div.remove();\n",
" }\n",
" "
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<IPython.core.display.Javascript object>"
],
"application/javascript": [
"download(\"download_712c5c96-76f6-49a3-890c-c013292e1629\", \"file.zip\", 390738)"
]
},
"metadata": {}
}
]
},
{
"cell_type": "markdown",
"source": [
"\n",
"To do this unzip the downloaded file and then input the image into\n",
"\n",
"Sandbox url: https://sandbox.d8n.host/\n",
"\n",
"After that click on\n",
"1. Object Detection\n",
"2. Multiple- files in YOLO format.\n",
"3. Select both the .txt file and the labels.txt file in the extracted folder"
],
"metadata": {
"id": "VItWn3o1TyFT"
}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment