diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 748f79b..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/notebooks/Getting_Started_with_Unstructured_API_and_PostgreSQL.ipynb b/notebooks/Getting_Started_with_Unstructured_API_and_PostgreSQL.ipynb new file mode 100644 index 0000000..e0e0722 --- /dev/null +++ b/notebooks/Getting_Started_with_Unstructured_API_and_PostgreSQL.ipynb @@ -0,0 +1,811 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "toc_visible": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# Getting Started with Unstructured API and PostgreSQL\n" + ], + "metadata": { + "id": "Z8AvLcpmv8rE" + } + }, + { + "cell_type": "markdown", + "source": [ + "\n", + "[Unstructured](https://unstructured.io) is an ETL+ platform for transforming unstructured content into structured formats ready for downstream use. It lets you:\n", + "\n", + "* Connect to enterprise data sources — cloud storage (S3, Azure Blob), collaboration tools (Confluence, Dropbox), business apps (Salesforce, Jira, Zendesk), and databases (Databricks, Redis, PostgreSQL)\n", + "* Continuously ingest documents from those systems\n", + "* Standardize, enrich, chunk, and transform the content into clean structured output\n", + "* Store the results in a destination database — in this case, **PostgreSQL**\n", + "\n", + "You can configure all of this through the Unstructured UI, the API, or directly from Python using their SDK.\n", + "\n", + "This notebook walks through setting up a full data pipeline using the Unstructured API. We’ll source files from an S3 bucket, process them using a series of transformation steps, and insert the structured results into PostgreSQL — ready for querying, analytics, or integration into business applications.\n", + "\n", + "For source configuration, we’ll use S3 in this example, though you can plug in any supported [data source](https://docs.unstructured.io/api-reference/workflow/sources/overview). The destination will be a PostgreSQL instance configured to receive structured document outputs via Unstructured’s [PostgreSQL connector](https://docs.unstructured.io/api-reference/workflow/destinations/postgresql).\n", + "\n", + "\n", + "This is what the complete data processing pipeline will look like:\n", + "![image.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABTYAAAEOCAYAAACzTEjrAAAMP2lDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnluSkEBoAQSkhN4EASkBpITQAkgvgo2QBAglxoQgYi+LCq5dLGBDV0UUOyB2RLGwKPa+IKKgrIsFu/ImBXTdV7538s29f/45858z584tA4DGaY5IlItqApAnzBfHhQbSx6ak0kk9AIE/DOgBjMOViJgxMZEA2uD57/buFvSFdt1RpvXP/v9qWjy+hAsAEgNxOk/CzYP4MAB4BVckzgeAKOMtpuaLZBg2oCOGCUK8SIYzFbhChtMVeL/cJyGOBXETACpqHI44EwD1q5CnF3AzoYZ6H8TOQp5ACIAGHWK/vLzJPIjTILaFPiKIZfqM9B90Mv+mmT6kyeFkDmHFXOSmEiSQiHI50/7Pcvxvy8uVDsawhk0tSxwWJ5szrNudnMkRMqwGca8wPSoaYm2IPwh4cn+IUUqWNCxR4Y8acSUsWDN4lQHqzOMERUBsBHGIMDcqUsmnZwhC2BDDFYIWCvLZCRDrQ7yILwmOV/psEU+OU8ZCazPELKaSv8ARy+PKYj2S5iQylfqvs/hspT6mXpSVkAwxBWLLAkFSFMTqEDtJcuIjlD6ji7JYUYM+YmmcLH9LiOP4wtBAhT5WkCEOiVP6l+RJBueLbckSsKOU+GB+VkKYoj5YE5cjzx/OBbvKFzITB3X4krGRg3Ph8YOCFXPHuvnCxHilzgdRfmCcYixOEeXGKP1xc35uqIw3h9hNUhCvHIsn5cMFqdDHM0T5MQmKPPGibE54jCIffDmIBCwQBOhACls6mAyygaC1t64X/lP0hAAOEINMwAeOSmZwRLK8RwiP8aAI/AkRH0iGxgXKe/mgAPJfh1jF0RFkyHsL5CNywFOI80AEyIX/pfJRwqFoSeAJZAT/iM6BjQvzzYVN1v/v+UH2O8OETKSSkQ5GpGsMehKDiUHEMGII0Q43xP1wHzwSHgNgc8UZuNfgPL77E54S2giPCTcJ7YS7kwTzxD9lOQa0Q/0QZS3Sf6wFbg013fFA3BeqQ2VcDzcEjrgbjMPE/WFkd8iylHnLqkL/SftvM/jhaij9yM5klDyMHEC2/Xmkur26+5CKrNY/1keRa/pQvVlDPT/HZ/1QfR48R/zsiS3CDmHN2BnsInYcqwN07BRWj7VgJ2R4aHU9ka+uwWhx8nxyoI7gH/EGr6yskhLnauce5y+Kvnx+oewZDViTRdPEgsysfDoTvhH4dLaQ6zSC7urs6g6A7P2ieHy9iZW/NxC9lu/c/D8A8D01MDBw7DsXfgqAA57w9j/6nbNlwFeHKgAXjnKl4gIFh8sOBPiU0IB3mgEwARbAFs7HFXgAHxAAgkE4iAYJIAVMhNlnwXUuBlPBDDAXFINSsBysARvAZrAN7AJ7wUFQB46DM+A8uAyugpvgPlw9XeAF6APvwGcEQUgIFaEhBogpYoU4IK4IA/FDgpFIJA5JQdKQTESISJEZyHykFFmJbEC2IlXIAeQocga5iLQhd5EOpAd5jXxCMVQN1UGNUWt0JMpAmWgEmoBOQDPRKWgRugBdiq5DK9E9aC16Br2M3kTb0RdoPwYwVUwPM8McMQbGwqKxVCwDE2OzsBKsDKvEarAGeJ2vY+1YL/YRJ+I0nI47whUchifiXHwKPgtfgm/Ad+G1eBN+He/A+/BvBCrBiOBA8CawCWMJmYSphGJCGWEH4QjhHLyXugjviESiHtGG6AnvxRRiNnE6cQlxI3Ef8TSxjdhJ7CeRSAYkB5IvKZrEIeWTiknrSXtIp0jXSF2kDyqqKqYqriohKqkqQpV5KmUqu1VOqlxTeabymaxJtiJ7k6PJPPI08jLydnID+Qq5i/yZokWxofhSEijZlLmUdZQayjnKA8obVVVVc1Uv1VhVgeoc1XWq+1UvqHaoflTTVrNXY6mNV5OqLVXbqXZa7a7aGyqVak0NoKZS86lLqVXUs9RH1A/qNHUndbY6T322erl6rfo19ZcaZA0rDabGRI0ijTKNQxpXNHo1yZrWmixNjuYszXLNo5q3Nfu1aFouWtFaeVpLtHZrXdTq1iZpW2sHa/O0F2hv0z6r3UnDaBY0Fo1Lm0/bTjtH69Ih6tjosHWydUp19uq06vTpauu66SbpFuqW657QbdfD9Kz12Hq5esv0Durd0vs0zHgYcxh/2OJhNcOuDXuvP1w/QJ+vX6K/T/+m/icDukGwQY7BCoM6g4eGuKG9YazhVMNNhucMe4frDPcZzh1eMvzg8HtGqJG9UZzRdKNtRi1G/cYmxqHGIuP1xmeNe030TAJMsk1Wm5w06TGlmfqZCkxXm54yfU7XpTPpufR19CZ6n5mRWZiZ1GyrWavZZ3Mb80Tzeeb7zB9aUCwYFhkWqy0aLfosTS3HWM6wrLa8Z0W2YlhlWa21arZ6b21jnWy90LrOuttG34ZtU2RTbfPAlmrrbzvFttL2hh3RjmGXY7fR7qo9au9un2Vfbn/FAXXwcBA4bHRoG0EY4TVCOKJyxG1HNUemY4FjtWOHk55TpNM8pzqnlyMtR6aOXDGyeeQ3Z3fnXOftzvddtF3CXea5NLi8drV35bqWu94YRR0VMmr2qPpRr9wc3Phum9zuuNPcx7gvdG90/+rh6SH2qPHo8bT0TPOs8LzN0GHEMJYwLngRvAK9Znsd9/ro7eGd733Q+y8fR58cn90+3aNtRvNHbx/d6Wvuy/Hd6tvuR/dL89vi1+5v5s/xr/R/HGARwAvYEfCMacfMZu5hvgx0DhQHHgl8z/JmzWSdDsKCQoNKglqDtYMTgzcEPwoxD8kMqQ7pC3UPnR56OowQFhG2Iuw225jNZVex+8I9w2eGN0WoRcRHbIh4HGkfKY5sGIOOCR+zasyDKKsoYVRdNIhmR6+KfhhjEzMl5lgsMTYmtjz2aZxL3Iy45nha/KT43fHvEgITliXcT7RNlCY2JmkkjU+qSnqfHJS8Mrl97MixM8deTjFMEaTUp5JSk1J3pPaPCx63ZlzXePfxxeNvTbCZUDjh4kTDibkTT0zSmMSZdCiNkJactjvtCyeaU8npT2enV6T3cVnctdwXvADeal4P35e/kv8swzdjZUZ3pm/mqsyeLP+ssqxeAUuwQfAqOyx7c/b7nOicnTkDucm5+/JU8tLyjgq1hTnCpskmkwsnt4kcRMWi9ineU9ZM6RNHiHdIEMkESX2+DvyQb5HaSn+RdhT4FZQXfJiaNPVQoVahsLBlmv20xdOeFYUU/TYdn86d3jjDbMbcGR0zmTO3zkJmpc9qnG0xe8Hsrjmhc3bNpczNmfv7POd5K+e9nZ88v2GB8YI5Czp/Cf2luli9WFx8e6HPws2L8EWCRa2LRy1ev/hbCa/kUqlzaVnplyXcJZd+dfl13a8DSzOWti7zWLZpOXG5cPmtFf4rdq3UWlm0snPVmFW1q+mrS1a/XTNpzcUyt7LNaylrpWvb10Wuq19vuX75+i8bsjbcLA8s31dhVLG44v1G3sZrmwI21Ww23ly6+dMWwZY7W0O31lZaV5ZtI24r2PZ0e9L25t8Yv1XtMNxRuuPrTuHO9l1xu5qqPKuqdhvtXlaNVkure/aM33N1b9De+hrHmq379PaV7gf7pfufH0g7cOtgxMHGQ4xDNYetDlccoR0pqUVqp9X21WXVtden1LcdDT/a2ODTcOSY07Gdx82Ol5/QPbHsJOXkgpMDp4pO9Z8Wne49k3mms3FS4/2zY8/eaIptaj0Xce7C+ZDzZ5uZzacu+F44ftH74tFLjEt1lz0u17a4txz53f33I60erbVXPK/UX/W62tA2uu3kNf9rZ64HXT9/g33j8s2om223Em/duT3+dvsd3p3uu7l3X90ruPf5/pwHhAclDzUflj0yelT5h90f+9o92k90BHW0PI5/fL+T2/niieTJl64FT6lPy56ZPqvqdu0+3hPSc/X5uOddL0QvPvcW/6n1Z8VL25eH/wr4q6VvbF/XK/GrgddL3hi82fnW7W1jf0z/o3d57z6/L/lg8GHXR8bH5k/Jn559nvqF9GXdV7uvDd8ivj0YyBsYEHHEHPmnAAYbmpEBwOudAFBTAKDB/RllnGL/JzdEsWeVI/CfsGKPKDcPAGrg93tsL/y6uQ3A/u1w+wX1NcYDEEMFIMELoKNGDbXBvZp8XykzItwHbAn+mp6XDv6NKfacP+T98xnIVN3Az+d/AXbpfCGEDYNhAAAAVmVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAADkoYABwAAABIAAABEoAIABAAAAAEAAAU2oAMABAAAAAEAAAEOAAAAAEFTQ0lJAAAAU2NyZWVuc2hvdKQu/DEAAAHXaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI3MDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xMzM0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CkxMGC4AAEAASURBVHgB7J0HnFxV2YffDaSSEFogQIBIqKH33qtIkyrSghRpAp/0KqKIAgIi0kGqSJWO9C4oEER6hwAJIRAIsKlbvvs/4Sx3Zmd2d86ZnTuz87y/3+7M3HvPOe957qnvaQ2NjY2thkAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQqCECvWpIV1SFAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIOAIYNgkIUAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAI1RwDDZs29MhSGAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEMGySBiAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIGaI4Bhs+ZeGQpDAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACOYbN1tZWmzJ5SjCVGTNmmP5CZcqUKdbS0hLkXLpPnjw5yK0c1bLuTU1NNm3atOC4Z8m9nnWfOnVqZuk9lrt0b25uDk5zjY2NwW7RPRvuet9676GSZZqpZ91VNyjPhEpMXo3lXs+6qz2jdk2IqB2lej1UYrmjexj52HZoltzrWfeYNnRsXo3lHqN7Pfe7apl7bBs6yzRTz7pn2YaO5Y7uYW2C2DZ0ltyz0r0h6bTktJxVUTU0NAS9Ad8Ij3Ef6lYKo3v4e8uKezneW1a613J6r2Xu6B6Wz2O5xbqPKZ9jw451j+7ZpLla5650F1o/ZRn3LMOu97xay2kG3UWgdInJb3IrqdVyBt3d6yv5X0yaUWAx7mPcxoYd6z5L3RW2pBbzai1zR/ds2u9ZcW9n2JQiCAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBaiaQsxS9mhVFNwhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACngCGTU+CTwhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQKBmCGDYrJlXhaIQgAAEIAABCEAAAhCAAAQgAAEIQAACEICAJ4Bh05PgEwIQgAAEIAABCEAAAhCAAAQgAAEIQAACEKgZAhg2a+ZVoSgEIAABCEAAAhCAAAQgAAEIQAACEIAABCDgCWDY9CT4hAAEIAABCEAAAhCAAAQgAAEIQAACEIAABGqGAIbNmnlVKAoBCEAAAhCAAAQgAAEIQAACEIAABCAAAQh4Ahg2PQk+IQABCEAAAhCAAAQgAAEIQAACEIAABCAAgZohgGGzZl4VikIAAhCAAAQgAAEIQAACEIAABCAAAQhAAAKeAIZNT4JPCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAoGYIYNismVeFohCAAAQgAAEIQAACEIAABCAAAQhAAAIQgIAngGHTk+ATAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQqBkC7QybLS0twcq3traa/kIlJmyFGeMe3UPfWvbcs0pz5Ugz6F56uqtn7q0t2ZWxsdxj3WdZvqN76flULsQty/cWG3ase8U/VGLDjnWfle7ihe5hqSaGG9yzyatwh3tIbo/J61m2Z6ohvWdVt5WDO7qXnltiuce6zzKv1qPuOYZNAZg2bVrpqeY7F83NzdbU1BTsfvr06cENWnSvX+569yFSDWkmVHfFd+rUqSHRdm6UV5XfQkVus9JdlUSM7jNmzAguZ8Qrhnus7tNnhJeRmeseUb6je1xejWlYZZreM0wzKt9iypmmGU2mcjZUpk0Nb4tF656046J0T9qRofVDbBmpNii6l57q4B6RVyPSu/JJlv0uhR1aP2Stu8pndC89r6t8rOe+emjdJNIx9bLjnrQLQqWW+10xeVW86rUdGlsv1yP3hsbGxjCrUGjOxB0EIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgUgCOTM2I/3COQQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBihDAsFkRzAQCAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIlJMAhs1y0sQvCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAoCIEMGxWBDOBQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAuUkgGGznDTxCwIQgAAEIAABCEAAAhCAAAQgAAEIQAACEKgIAQybFcFMIBCAAAQgAAEIQAACEIAABCAAAQhAAAIQgEA5CWDYLCdN/IIABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQqQgDDZkUwEwgEIAABCEAAAhCAAAQgAAEIQAACEIAABCBQTgIYNstJE78gAAEIQAACEIAABCAAAQhAAAIQgAAEIACBihDAsFkRzAQCAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIlJMAhs1y0sQvCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAoCIEMGxWBDOBQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAuUkgGGznDTxCwIQgAAEIAABCEAAAhCAAAQgAAEIQAACEKgIgRzDZmtrq82YMSM44ObmZtNfqChs6RAi6A73kHQzbdq0EGfOTUtLS1R6b2pqCk7vUiBWd4UfKnKr+IcKuoeRg3sYN6VV0nsYO/JqGLcs86raQ7Wa3mnL0ZYrNceRZkgzpJmuE8iyry4ts25TqLwIlax1p99V+puj/V9fffUcw6aSS0NDQ+mppkwuajnsetU9Nt5Zu+/Vq10WKFNq7n5vYnXPkj26d3/6KBRCltxj01us7oV4dPUauneVVO5zsdxi3cekmdiwY93H6J77Fkr/lbXuseFn6T7LsEt/07ku6ln3XBKl/YJbabz80w0W19+M5e71CPmMDTvGfYxbxTVr97F1W6z+Ie/bu8la95i4o7t/i5X9zJp7TGyz1D00rTc0NjaGD13E0MItBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIFAArU7XS0wwjiDAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEap8Ahs3af4fEAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACdUcAw2bdvXIiDAEIQAACEIAABCAAAQhAAAIQgAAEIACB2ieAYbP23yExgAAEIAABCEAAAhCAAAQgAAEIQAACEIBA3RHAsFl3r5wIQwACEIAABCAAAQhAAAIQgAAEIAABCECg9glg2Kz9d0gMIAABCEAAAhCAAAQgAAEIQAACEIAABCBQdwQwbNbdKyfCEIAABCAAAQhAAAIQgAAEIAABCEAAAhCofQIYNmv/HRIDCEAAAhCAAAQgAAEIQAACEIAABCAAAQjUHQEMm3X3yokwBCAAAQhAAAIQgAAEIAABCEAAAhCAAARqnwCGzdp/h8QAAhCAAAQgAAEIQAACEIAABCAAAQhAAAJ1RwDDZt29ciIMAQhAAAIQgAAEIAABCEAAAhCAAAQgAIHaJ4Bhs/bfITGAAAQgAAEIQAACEIAABCAAAQhAAAIQgEDdEcCwWXevnAhDAAIQgAAEIAABCEAAAhCAAAQgAAEIQKD2CeQYNltbW23KlCnBsZoxY4bpL1QUdktLS5Bz6T558uQgt3JUy7o3NTXVLHfpPm3atOD3NmXK1MzSTKzuU6eG6y5gMem9HLo3NzcHv7da1r2xsTE43s1NzVHpXWkmhnuU7sn7VvihUsu6q4yqVe7SXfk9VLJMM7G6x5Qzet8x6b0cuqtdEyJqR9Wy7jHt0Ky5x+iudmhMXlV6j0kzsbrHtv/RvfTcnnXfJes0k1WfUfk0Nr1nqbvKyVDRO69V3VUv1rLuMe3QmPZQ1n3GmHZoLeuu9x2TV2u53xWqe0OSWHJazmpYNDQ0BJV3vlES4z7UrRRG9/D3BvfSkzzpPSy91XNeLUfcs8qr9a674h/KPqZugnvtcq/lNIPuIlC6xOR12hS0KUpNcaQZ0gxppusEYspnhRLjnryaTV4tx3sLbfuXI2z5ERp+THqN1T3Wfaju7QybUgSBAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIFDNBHKWolezougGAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQMATwLDpSfAJAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEI1AwBDJs186pQFAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEPAEMGx6EnxCAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACNUMAw2bNvCoUhQAEIAABCEAAAhCAAAQgAAEIQAACEIAABDwBDJueBJ8QgAAEIAABCEAAAhCAAAQgAAEIQAACEIBAzRDAsFkzrwpFIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAU8Aw6YnwScEIAABCEAAAhCAAAQgAAEIQAACEIAABCBQMwQwbNbMq0JRCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAwBPAsOlJ8AkBCEAAAhCAAAQgAAEIQAACEIAABCAAAQjUDAEMmzXzqlAUAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQ8AQwbHoSfEIAAhCAAAQgAAEIQAACEIAABCAAAQhAAAI1Q6CdYbOlpSVY+dbWVtNfqMSErTBj3Nez7jHvDO7h6T3LNBcbdqz7LPMquoeV0LHcYt2TZrJ5bzHcpbHee6hkmWbQPfy9RaeZlvCwSTOhuY02dCi52PQe4z7r9I7uYakmhptCjHEfm2bkPkbQPYwe3MO5xbCLzS9Zp/eYuNei7jmGTUV+2rRpYSkncdXc3GxNTU3B7hV2KMSsdZ8+fXrN6l7P3KdOnRqcXsuR3mMKnFjdlWZDRWmmNaLzGaO7yohY3UPLGfHKUveYcgbdw9N71txj6uUsdVcZGau7/AiV2Lxar7qrHRfLPbRuU9k8bXp4OzRWd1e3BXbcne4RbWh0DzOYlIN7bN8lNL3H9l2kd6zuoe2hWN3L0YauVd1j6uVa5x5TL2eZZmLb0NJd7z1UVDeFpvdq0D22TRHKTcxqlXus7jHlTGyayUr3hsbGxrCWRGgKwx0EIAABCEAAAhCAAAQgAAEIQAACEIAABCAAgUgCOTM2I/3COQQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBihDAsFkRzAQCAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIlJMAhs1y0sQvCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAoCIEMGxWBDOBQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAuUkgGGznDTxCwIQgAAEIAABCEAAAhCAAAQgAAEIQAACEKgIAQybFcFMIBCAAAQgAAEIQAACEIAABCAAAQhAAAIQgEA5CWDYLCdN/IIABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQqQgDDZkUwEwgEIAABCEAAAhCAAAQgAAEIQAACEIAABCBQTgIYNstJE78gAAEIQAACEIAABCAAAQhAAAIQgAAEIACBihDAsFkRzAQCAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIlJMAhs1y0sQvCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAoCIEMGxWBDOBQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAuUkgGGznDTxCwIQgAAEIAABCEAAAhCAAAQgAAEIQAACEKgIgRzDZmtrq82YMSM44ObmZtNfqChs6RAi6B7OvampKZi73lVMmmlpaYlKM+geklvMxF3sQkVu5UeoTJs2LdQpusO95LRDeievlppo1KaIKSPVFoopI2PqVXQPT++0Q0vNKTOfp/1P36XUlEOaySbNqF6K6avT7yo1pc98Pmvu9LvC3hv93TBuWfW7cgybYaqXz1VDQ0P5PCvRp9iwY92XqG7O41mGHWqIzokAPzIhEJtuYtz36hVX9MSEHQs7VvfY8GPc17LuMfHO2m2W3GPzCrpnnXoIv9IEYvJMjFvFM9Z9DKssw47RG7f1SSDL9Bobdqz7+nzjxDqGQGxbLss0W8+6x7zzenTb0NjYGDZkVI+0iDMEIAABCEAAAhCAAAQgAAEIQAACEIAABCBQFQRmrQot6kgJzXB88803LTEo29xzz23Dhw+vo9gTVQhAoNoIvPPOOzZp0iSbY445bMSIEdWmHvpAoMcQ+Oyzz+yTTz6xWWaZxdX9s88+e4+JGxGBQDUR0FJbtbWnTp1q88wzjy288MLVpB66QKBHEfj4449N9Vvfvn1tiSWWsN69e/eo+BEZCECgNghg2KzQe5oyZYrdeOONdsMNN9giiyxigwYNcpXA9OnTbbfddrPtt9++QpoQDAQgAAGz66+/3pVJQ4YMcUbNiRMn2pdffml77bWX7bDDDiCCAATKROCpp55ydf+nn35qw4YNc/ubvfvuu7byyivbnnvuaUsttVSZQsIbCNQ3AdVht956q8tviy++uPXv39+1tUVl1113tW233ba+ARF7CJSRwF133WU333yz2496vvnmcwMJr7/+uv3kJz+xHXfc0dS+RCAAAQhUigBL0StAesyYMfb73//eRo4c6Toxc845Z1uomi11xRVXuMbXSSed1HadLxCAAAS6g4AMmKeffrqpETpq1CgbOnRoWzAadb/qqqtc4/SYY46xgQMHtt3jCwQgUDoB5aeHHnrIDjroIFtvvfVyPLjtttvsoosusqOOOso222yznHv8gAAESiMgg8rZZ59ta621lv30pz/Nqb9effVV19aWoeXYY48tzWOehgAE2hE466yzTG3G/fbbz1ZYYYW2+zqkRgPnjz76qP3yl7/Mudf2EF8gAAEIdAOBuBM8ukGhnujln/70J9dpOeywwyxt1HziiSfcjKkzzjjD+vXrZ3/+8597YvSJEwQgUEUEzj33XFt++eXtuOOOyzFqqjy6+uqrTQMsWrYngwsCAQiEE7j33nvt6aeftksvvbSdUVODC5oZrfaBjDEyyiAQgEAYAZ1mrzb0LrvsYgcccECOUVN12+23327nnHOOaZXUJZdcEhYIriAAAUfgyiuvdFsYKc+ljZrKa6rPfvazn9k+++xjF1xwgX3zzTdQgwAEIFARAhg2uxnzPffcY9pHS1Py06JOzZNPPuku6btmRz3zzDOm5WkIBCAAge4g8OKLL7pGphqcackvj9Qx/OCDD0zPIxCAQBgBzdY84ogjcows8mmLLbawE0880c2c1kqOgw8+2K699tqwQHAFAQjYHXfc4faI/uEPf5hDI79uO/74400DDuPGjct5jh8QgEDXCGhLlZtuuskNjqddyKipfq1WJijfbbzxxs7oeffdd6cf4zsEIACBbiOAYbPb0M70WA2o7bbbLicUFfhe1LlRZSDZaqut7LHHHnPf+QcBCECg3AQefPDBdnuMUR6VmzL+QcDsP//5j80///y23HLL5eBQflt//fVdx88bN3/84x/bSy+9ZF999VXOs/yAAAS6RkAzMpWP0qK85tvXvq3dp08f23zzzdsmFqSf5zsEINA5gX/9618uD6UPv/NGTe9axk1d06QebbmCQAACEKgEAQ4PKhPlxx9/3Bklv/766xwfn332WfvLX/7Sds0bEdTIkmjmhjo5kqWXXtpOPvlke+2119xv/kGgmgjo1OyNNtrI1l133WpSC10KEJBR5eGHH7bPP/885+7LL7/s9tX0F/PLI2900X0tVz///PPdHkr+eT4rT0AHzGy99dY2ePDgygdOiJ0S0KnLOhhQeau1tbXtee2fvemmm7b91hflL1/363v6t7ap0XY1HLaQg6wsPxZYYAE3cKw2FlLbBO6//363vUNjY2NbRJqamuztt9+2xRZbrO2a8pZEz8vAkm5rL7PMMvbHP/7R/v3vf7c9z5fKEdC+3ltuuWW7QZ/KaUBIXSEwduxYZ5R8//33cx5/88037ZBDDmm75o2a6bpNN/3v8ePH26GHHupOTG9zxBcI9AACMu6rX+ztOD0gSjUfBQybZXiFWgKjUxj3339/m2uuuXJ8VMOpoaHBXfMNLV/Y67cyg//du3dvGz58uNubJMcTfkCgCgjISKZ9F2W81+xipDoJqJGpffsOPPBAU4c+LSpzZpllFncpvzySO4kvj/ScDhjSXklIdgQ0O0LLJ2VknnVWquzs3kThkPVuFl10UbefWPoJrdbQ7DAvym8+b/lr6d8ybKo9oKXpSHkJvPXWW85ofN5555mMWkhtEvj73//uDiTRViqDBg1qi8SUKVPsjTfeaPudX7dpeWx+W3uppZbKGeRrc8yXbifw3nvvue239J40cIdUH4HPPvvMHbIlA7QMN2m55pprTP1VSb5R0z+XX7ftvvvubls2f59PCPQE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8Y+2xBJLuGvegTpBGp0uRfJngBbzQ5WECncEAhCoPgJvvfWWPfrcE7br9QcEK7fkBsvYQ2ffZbfccovttttuBf1pbW214cOHm4yZX375pV144YWubLrhhhvanp8xY0ZRw6gvby677DLX4JVhc6+99rIf//jH1tDQYG+88YYzYm622WbOsKnBnPxyp1gZJQWK3StWful5/c06K1Vs2wvkS6cE7rzjGvvViSvZJhsv2umzxR5Ybtn57NiTzuvQsCmD/j333GMyeKizp1lryntXXHGFKS82NTW5T32XKA91VZTu9bx3ozyiv2JSLA/peZ+vi7nlOgRCCWgQ7J1vP7RtzyxcJ3XFX9Vtt//f9W55rWaiFRLloUUWWcSOPfbYttv57fH8+iX9O51/0tfbPEu+FMtD/nnd13cvPl/rmvJ6vnh3+ddVB6tO83k7/z6/IVCIwBdffGFff/11tFHT+73uuuuaJgEVM2z6584991wbP3683XfffXbwwQfbpZdeaj/4wQ/87aL5Jj8/qazQzEoZNtVuvOuuu9rN1uwoz6RXK6XbotoqrhS/pHixcNoixRcI1DkBel1VlgDU4Ch3Z9g3YvKjqqWa6jjICLDkkku6v5VWWsnmmGMO9+gTTzxhF1xwgX300UduX5NTTz3VFlpoITezY+DAgeZnYGy55ZZu5EoF/m233eYqm3/961/20EMPuY6SDBrffPONW4KgpQiaKfX44487v7VUdJlllrFf//rXzu98HfkNgXITePtrs48biy87my0pFVeZp8Fm6XpfvtwqVo1/msk9z9ILROszbNUf2KvPvNGhP5qp6Ruqagj//ve/N+3JpBlkZ555phugWWCBBeyUU05xS201w6x///6ufFK5pMEXbcGhPy3nXWONNexvf/ubM5JqpoBEDdOLL77YrrrqKvNlWEflnPxX2aVBn1VXXdXpIT2LlV9qcG+zzTamhvB+++1nP/nJTzqMcz3cVF5795ukQV4ky82a5LORSZUzdz8y3Ntvv2UnHhM3sLnUknPb9GnfmOp3X5en01ljY6Obzfx///d/belztdVWMxkt3n777baOn9Kw8o/aDxoA/dGPflS07lfeOOCAA9zyQLmR4UOGUuW3tFxyySV20003uTzYr18/U5tCHdT55kuMsYnhR4Ox+flaeR9pT2ByYo96aWKrTS1iM1ZuWmi2BhsR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9jfTzEEvClvP50uhZ+eff36bZ555ch7V7/nmm89dkz8XXHCB7bTTTk6nnAc7+eFnbXbyGLchAAEIQAACEIAABCAAAQhAAAIQgAAEIglg2IwE2JOday+Tr776ysaPH2+33367nXnmmbb33nubn21577332gEHHGC//OUv7bnnnrNbbrnF/WmJ8lFHHWV33nmn/f3vf7fRo0fboYcemoPqrLPOsv79+9uvfvUrW3fdde2yyy7LuS8/H330UTejU36k5bTTTnPG0uOOO85mmWUWu+mmm+zWW2+1Z5991oXb2bPXXnutaTbqYYcd5h498sgj7aGHHnJhXXHFFU6f5Zdf3qTjyiuvnPauw++aren/OnyQmxCAAAQgAAEIQAACEIAABCAAAQhAAALRBGaN9gEP6oaAlo7vuOOOLr4DBgywUaNGmWZ1vv322zZixAj7+uuv7f7777ett97aPTNhwgTbeeedbYEFFrDXXnvNLrzwwrbNsnfddVeTEXHfffe1zTbbLIehlo8ffvjhttRSS7l9N5966im3DP7pp592z8m4euWVVzpj6TbbbGNzzTWXu6+ZltJF9yZOnFjwWU3J1gzUwYMH27vvvut0kr7nnXeeXX311bbKKqvY888/b//4xz/sqquusieeeCJHt/wfbz35mr395Kttl7X35hLrjWz7zRcIQAACEIAABCAAAQhAAAIQgAAEIACB7iGAYbN7uPZIX7Xs/J133nFx00lbn3zyiVua/t577zmjpm7IKCiDpOTll192n2PHjnUGUC31HjdunLvW0b/FFlvMFl54YbvrrrvcY5oBKkNqIVliiSXshRdecLdkWJV+uqbZm/mi61perqXvEj2rJfP/93//Z7/+9a/d7FEZWxWHroqMmBgyu0qL5yAAAQhAAAIQgAAEIAABCEAAAhCAQPkIYNgsH8se7dPSSy9tJ5xwgh1yyCE58XzjjTfcbM0hQ4bY559/7pZxa8m6DgLSEnOJDIr9+vWzTz/9NMdtsR9vvfWWM4DKCKml8Ntvv71bzu6f1xJ5b+jU6dynnHKK29hYMzcVlnTykn5WM0615FwzNrU/6C677OJ01n6f2utz7rnnttdff90uuugikzvp3Jnkz9jUUnQEAhCAAAQgAAEIQAACEIAABCAAAQhAoPsJYNjsfsY1G4JmXt58883OIKll2yeffLKb7ag9Nr18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GptduU1GgAABAgQIECBAgAABAgQIECBAgEALAY3NForGIECAAAECBAgQIECAAAECBAgQIECgq4DGZldukxEgQIAAAQIECBAgQIAAAQIECBAg0EJAY7OFojEIECBAgAABAgQIECBAgAABAgQIEOgqcNfYvN1um/1+n07gfD5vTqdTOv5wOGyu12sqXu7cny2cmWsmrnW3y9+rl8tl2L36P/fds8u1/nzkfjwe138/exKxMUb22O3knrHjnlHbfNfqrPUe7/OZc489SfaIvVDsibJHZS8W7qNzj/dr5pB7rWbe0T2uedZ6f4V9aLZmXiF334zPP2V9q+f6DCFdeS+PdI/cR3+7ZO/VV8jdN2OswnPHqG/17bIsd7vPKLyPj7t+58NX8vNy3G63D8f8/sHK3DFOJV7uuTV/BfeotxE116Jm5P77CfDYOfeB9f71tth+5J/vI+s96ib7bot3y6y5t7hfsm4xd8Vd7rn38szur7CnyNa73L/eD/b/j21kfv2Ub5f8nsK9+quQHjwd+V6NFEfX+8i9XFx/5Rkp9xB87mhR7yPdI//sc27qb5drfHA+f7/8aWw+Vy5+mgABAgQIECBAgAABAgQIECBAgAABAv0Fcr8O0D9PMxIgQIAAAQIECBAgQIAAAQIECBAgQGAV0NhcKZwQIECAAAECBAgQIECAAAECBAgQIDCLgMbmLCslTwIECBAgQIAAAQIECBAgQIAAAQIEVgGNzZXCCQECBAgQIECAAAECBAgQIECAAAECswhobM6yUvIkQIAAAQIECBAgQIAAAQIECBAgQGAV0NhcKZwQIECAAAECBAgQIECAAAECBAgQIDCLgMbmLCslTwIECBAgQIAAAQIECBAgQIAAAQIEVgGNzZXCCQECBAgQIECAAAECBAgQIECAAAECswhobM6yUvIkQIAAAQIECBAgQIAAAQIECBAgQGAV0NhcKZwQIECAAAECBAgQIECAAAECBAgQIDCLgMbmLCslTwIECBAgQIAAAQIECBAgQIAAAQIEVgGNzZXCCQECBAgQIECAAAECBAgQIECAAAECswj8aWzebrd07hFbjU9P/hVYnbsaPyr3mHfW3CPvWXOf2V3uIZA7KvUaM1biK7HVuavxcg/B3FGxq8RGtiPjR85dvXa552q9hXvFvhLbIve82vh7tWJXiW3hXpm/Eiv32jfnzPfLqNyjXis1W4mt1ns1Xu75qqvYVWKra16Nl/tcNXPX2IzF2+/36Ss4n8+b+JM9DofD5nq9psLfOffT6bT5/PxMuUXQSPfL5TJt7lHrVfe4/uyx2+2yod/3aSX34/G4kfvz/FEzYZc9RrrHess9t3KVe7XqHvd55b0s99yaV91jL5bdUMc+Kt7r2WP23CvvppHucZ/Gfi57jM698px519zf+dsl6qVSMyO/XeI+nTX3eD5W9v8j3cP8XXMfuf+vuss991av7v9Huo/KfbssS/6/y3LrJIoAAQIECBAgQIAAAQIECBAgQIAAAQIlgbvf2CyNJJgAAQIECBAgQIAAAQIECBAgQIAAAQKdBDQ2O0GbhgABAgQIECBAgAABAgQIECBAgACBdgIam+0sjUSAAAECBAgQIECAAAECBAgQIECAQCcBjc1O0KYhQIAAAQIECBAgQIAAAQIECBAgQKCdgMZmO0sjESBAgAABAgQIECBAgAABAgQIECDQSUBjsxO0aQgQIECAAAECBAgQIECAAAECBAgQaCegsdnO0kgECBAgQIAAAQIECBAgQIAAAQIECHQS0NjsBG0aAgQIECBAgAABAgQIECBAgAABAgTaCWhstrM0EgECBAgQIECAAAECBAgQIECAAAECnQQ0NjtBm4YAAQIECBAgQIAAAQIECBAgQIAAgXYCGpvtLI1EgAABAgQIECBAgAABAgQIECBAgEAngX+nAycfEmQragAAAABJRU5ErkJggg==)\n" + ], + "metadata": { + "id": "5wNPAx2QwCGG" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Prerequisites\n", + "\n", + "Before running this notebook, you’ll need a few things set up so that Unstructured can connect to your source (e.g. S3) and send processed data to PostgreSQL.\n", + "\n", + "\n", + "### Unstructured API Key\n", + "\n", + "Create an API key from the Unstructured Platform\n", + "\n", + "1. [Contact us](https://unstructured.io/enterprise) to get access or log in if you're already a user.\n", + "2. Once logged in, go to the **API Keys** section in the sidebar.\n", + "3. Click **New Key**, name it (e.g. `postgresql-workflow-key`), and copy it securely.\n", + "\n", + "---\n", + "\n", + "### AWS S3 (Source)\n", + "\n", + "We’ll use S3 to source raw documents.\n", + "\n", + "Make sure you have:\n", + "\n", + "- **AWS Access Key** and **Secret**\n", + "- An **S3 bucket URI**, like: `s3://your-bucket/`\n", + "- A few files uploaded — PDF, DOCX, HTML, etc. See [supported file types](https://docs.unstructured.io/getting-started/ingest/supported-file-types) for reference.\n", + "\n", + "Store these credentials securely in your notebook or environment variables.\n", + "\n", + "---\n", + "\n", + "### PostgreSQL (Destination)\n", + "\n", + "You’ll need access to a PostgreSQL instance. For this tutorial, we’re using **Amazon RDS for PostgreSQL**, but other cloud-hosted options work as well.\n", + "\n", + "When setting up your database, you’ll need to manually create the target table in advance. This table must match the structure of the document elements that Unstructured outputs.\n", + "\n", + "Required connection details:\n", + "\n", + "- **Host**\n", + "- **Port** (typically `5432`)\n", + "- **Database name**\n", + "- **Username**\n", + "- **Password**\n", + "- **Table name** — the destination table must already exist in your database and match the Unstructured output schema. For this tutorial, we'll use the table name: `elements`.\n", + "- **batch_size**: how many rows to insert per write operation\n", + "\n", + "\n", + "Ensure your PostgreSQL instance allows incoming connections from Unstructured’s IP addresses. If you're using Amazon RDS, check that your instance's **Public access** setting and **security group rules** permit access. \n", + "→ [Unstructured IP list](https://assets.p6m.u10d.net/publicitems/ip-prefixes.json)\n", + "\n", + "> 💡 You must create the destination table ahead of time. The schema should match the structure of Unstructured's document elements. Here's a sample schema you can adapt:\n", + ">\n", + "> ```sql\n", + "> CREATE TABLE elements (\n", + "> id UUID PRIMARY KEY,\n", + "> record_id VARCHAR,\n", + "> element_id VARCHAR,\n", + "> text TEXT,\n", + "> embeddings DECIMAL [],\n", + "> parent_id VARCHAR,\n", + "> page_number INTEGER,\n", + "> is_continuation BOOLEAN,\n", + "> orig_elements TEXT,\n", + "> partitioner_type VARCHAR\n", + "> );\n", + "> ```\n", + "\n", + "\n", + "For a full list of options and setup details, see the [PostgreSQL destination documentation](https://docs.unstructured.io/api-reference/workflow/destinations/postgresql). \n", + "Prefer video? [Watch the setup walkthrough on YouTube](https://www.youtube.com/watch?v=QuIlEimejDs&t).\n" + ], + "metadata": { + "id": "hgI9-3XowHgu" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Step 1: Install the Unstructured API Python SDK\n", + "\n", + "All functionality available in the the UI of the [Unstructured](https://unstructured.io/) product is also available programmatically via Unstructured API. You can interact with Unstructured API either by sending direct requests via curl or postman, or using Unstructured API [Python SDK](https://docs.unstructured.io/api-reference/workflow/overview#unstructured-python-sdk). Here, we'll be using the latter.\n", + "\n", + "\n", + "> **Note:**\n", + "The Unstructured API has two endpoints:\n", + "* The Unstructured Partition Endpoint: intended for rapid prototyping of Unstructured's various partitioning strategies. It works only with processing of local files, one file at a time.\n", + "* The Unstructured Workflow Endpoint: enables a full range of partitioning, chunking, embedding, and enrichment options for your data. It is designed to batch-process data from any data source to any destination. This is what we're using in this notebook.\n", + "\n", + "\n", + "Run the following cell to install the Unstructured API Python SDK." + ], + "metadata": { + "id": "E5CL5iVB0oIF" + } + }, + { + "cell_type": "code", + "source": [ + "!pip install -U \"unstructured-client\"" + ], + "metadata": { + "id": "zp8T30s300Ky", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "collapsed": true, + "outputId": "3e1ba014-4dde-483b-bfc4-9cec420c6696" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting unstructured-client\n", + " Downloading unstructured_client-0.42.3-py3-none-any.whl.metadata (23 kB)\n", + "Requirement already satisfied: aiofiles>=24.1.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (24.1.0)\n", + "Requirement already satisfied: cryptography>=3.1 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (43.0.3)\n", + "Requirement already satisfied: httpcore>=1.0.9 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (1.0.9)\n", + "Requirement already satisfied: httpx>=0.27.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (0.28.1)\n", + "Requirement already satisfied: pydantic>=2.11.2 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (2.11.7)\n", + "Collecting pypdf>=4.0 (from unstructured-client)\n", + " Downloading pypdf-6.0.0-py3-none-any.whl.metadata (7.1 kB)\n", + "Requirement already satisfied: requests-toolbelt>=1.0.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (1.0.0)\n", + "Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.11/dist-packages (from cryptography>=3.1->unstructured-client) (1.17.1)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.11/dist-packages (from httpcore>=1.0.9->unstructured-client) (2025.8.3)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.11/dist-packages (from httpcore>=1.0.9->unstructured-client) (0.16.0)\n", + "Requirement already satisfied: anyio in /usr/local/lib/python3.11/dist-packages (from httpx>=0.27.0->unstructured-client) (4.10.0)\n", + "Requirement already satisfied: idna in /usr/local/lib/python3.11/dist-packages (from httpx>=0.27.0->unstructured-client) (3.10)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.33.2 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (2.33.2)\n", + "Requirement already satisfied: typing-extensions>=4.12.2 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (4.14.1)\n", + "Requirement already satisfied: typing-inspection>=0.4.0 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (0.4.1)\n", + "Requirement already satisfied: requests<3.0.0,>=2.0.1 in /usr/local/lib/python3.11/dist-packages (from requests-toolbelt>=1.0.0->unstructured-client) (2.32.3)\n", + "Requirement already satisfied: pycparser in /usr/local/lib/python3.11/dist-packages (from cffi>=1.12->cryptography>=3.1->unstructured-client) (2.22)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests<3.0.0,>=2.0.1->requests-toolbelt>=1.0.0->unstructured-client) (3.4.3)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests<3.0.0,>=2.0.1->requests-toolbelt>=1.0.0->unstructured-client) (2.5.0)\n", + "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.11/dist-packages (from anyio->httpx>=0.27.0->unstructured-client) (1.3.1)\n", + "Downloading unstructured_client-0.42.3-py3-none-any.whl (207 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m207.8/207.8 kB\u001b[0m \u001b[31m1.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pypdf-6.0.0-py3-none-any.whl (310 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m310.5/310.5 kB\u001b[0m \u001b[31m3.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: pypdf, unstructured-client\n", + "Successfully installed pypdf-6.0.0 unstructured-client-0.42.3\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 2: Set environment variables\n", + "\n", + "Fetching the values from Colab Secrets!" + ], + "metadata": { + "id": "PSLM5_I6wN2g" + } + }, + { + "cell_type": "code", + "source": [ + "import os\n", + "from google.colab import userdata\n", + "\n", + "# Unstructured\n", + "os.environ['UNSTRUCTURED_API_KEY'] = userdata.get('UNSTRUCTURED_API_KEY')\n", + "\n", + "# AWS S3\n", + "os.environ['AWS_ACCESS'] = userdata.get('AWS_ACCESS')\n", + "os.environ['AWS_SECRET'] = userdata.get('AWS_SECRET')\n", + "os.environ['S3_REMOTE_URL'] = userdata.get('S3_REMOTE_URL')\n", + "\n", + "\n", + "# AWS PostgreSQL\n", + "os.environ['PostgreSQL_host'] = userdata.get('PostgreSQL_host')\n", + "os.environ['PostgreSQL_database'] = userdata.get('PostgreSQL_database')\n", + "os.environ['PostgreSQL_port'] = userdata.get('PostgreSQL_port')\n", + "os.environ['PostgreSQL_username'] = userdata.get('PostgreSQL_username')\n", + "os.environ['PostgreSQL_password'] = userdata.get('PostgreSQL_password')\n", + "\n", + "\n" + ], + "metadata": { + "id": "iKEkEUBW0G2K" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# instantiate Unstructured Client\n", + "from unstructured_client import UnstructuredClient\n", + "\n", + "unstructured_client = UnstructuredClient(api_key_auth=os.environ[\"UNSTRUCTURED_API_KEY\"])\n", + "\n", + "# helper function\n", + "def pretty_print_model(response_model):\n", + " print(response_model.model_dump_json(indent=4))" + ], + "metadata": { + "id": "lNbpG7N01NW_" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 3: Create the source connector\n", + "\n", + "Run the following cell to create an [AWS S3 source connector](https://docs.unstructured.io/api-reference/workflow/sources/s3).\n", + "\n", + "When creating a source connector, you'll need to:\n", + "- Assign it a unique name\n", + "- Set the connector type to `s3`\n", + "- Provide your AWS credentials and S3 bucket location\n", + "\n", + "Your config must include:\n", + "- `remote_url`: the full URI to your S3 bucket or folder (e.g. `s3://your-bucket/path/`)\n", + "- `key`: your AWS access key\n", + "- `secret`: your AWS secret key\n", + "- `recursive`: (optional) whether to include files in subfolders\n" + ], + "metadata": { + "id": "78gSZnm3wVfw" + } + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.operations import CreateSourceRequest\n", + "from unstructured_client.models.shared import CreateSourceConnector\n", + "\n", + "source_response = unstructured_client.sources.create_source(\n", + " request=CreateSourceRequest(\n", + " create_source_connector=CreateSourceConnector(\n", + " name=f\"UnstructuredxPostgreSQL Source_\",\n", + " type=\"s3\",\n", + " config={\n", + " \"key\": os.environ.get('AWS_ACCESS'),\n", + " \"secret\": os.environ.get('AWS_SECRET'),\n", + " \"remote_url\": os.environ.get('S3_REMOTE_URL'),\n", + " \"recursive\": True\n", + " }\n", + " )\n", + " )\n", + ")\n", + "\n", + "pretty_print_model(source_response.source_connector_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "fzp8gaSIwm0i", + "outputId": "96b0a09f-d695-49e1-986e-703037aa9e18" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.11/dist-packages/pydantic/functional_validators.py:218: UserWarning: Pydantic serializer warnings:\n", + " PydanticSerializationUnexpectedValue(Expected `enum` - serialized value may not be as expected [input_value='s3', input_type=str])\n", + " function=lambda v, h: h(v),\n", + "/usr/local/lib/python3.11/dist-packages/pydantic/main.py:463: UserWarning: Pydantic serializer warnings:\n", + " PydanticSerializationUnexpectedValue(Expected `enum` - serialized value may not be as expected [input_value='s3', input_type=str])\n", + " return self.__pydantic_serializer__.to_python(\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"config\": {\n", + " \"anonymous\": false,\n", + " \"recursive\": true,\n", + " \"remote_url\": \"s3://ajay-uns-devrel-content/mm-agentic-rag/\",\n", + " \"key\": \"**********\",\n", + " \"secret\": \"**********\"\n", + " },\n", + " \"created_at\": \"2025-08-11T14:30:57.981194Z\",\n", + " \"id\": \"b517c8b2-d309-4c5b-9eb1-3578d1f848c8\",\n", + " \"name\": \"UnstructuredxPostgreSQL Source_\",\n", + " \"type\": \"s3\",\n", + " \"updated_at\": \"2025-08-11T14:30:58.256737Z\"\n", + "}\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.11/dist-packages/unstructured_client/models/shared/sourceconnectorinformation.py:182: UserWarning: Pydantic serializer warnings:\n", + " PydanticSerializationUnexpectedValue(Expected `enum` - serialized value may not be as expected [input_value='s3', input_type=str])\n", + " serialized = handler(self)\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 4: Create the destination connector\n", + "\n", + "Run the following cell to create a [PostgreSQL destination connector](https://docs.unstructured.io/api-reference/workflow/destinations/postgresql).\n", + "\n", + "When setting up a destination connector, you'll need to:\n", + "- Give it a unique name.\n", + "- Specify its type (`postgres` in this case).\n", + "- Provide configuration details including your PostgreSQL instance and table settings.\n", + "\n", + "Your configuration must include:\n", + "- `host`: the hostname of your PostgreSQL instance\n", + "- `port`: the port number (usually `5432`)\n", + "- `database`: the name of the database\n", + "- `username`: your PostgreSQL username\n", + "- `password`: your PostgreSQL password\n", + "- `table_name`: the name of the table where data will be inserted\n", + "- `batch_size`: number of rows to insert per operation\n" + ], + "metadata": { + "id": "LFaaWfdawZKQ" + } + }, + { + "cell_type": "code", + "source": [ + "\n", + "from unstructured_client.models.operations import CreateDestinationRequest\n", + "from unstructured_client.models.shared import CreateDestinationConnector\n", + "\n", + "destination_response = unstructured_client.destinations.create_destination(\n", + " request=CreateDestinationRequest(\n", + " create_destination_connector=CreateDestinationConnector(\n", + " name=\"UnstructuredxPostgreSQL Destination_\",\n", + " type=\"postgres\",\n", + " config={\n", + " \"host\": os.environ['PostgreSQL_host'],\n", + " \"database\": os.environ['PostgreSQL_database'],\n", + " \"port\": os.environ['PostgreSQL_port'],\n", + " \"username\": os.environ['PostgreSQL_username'],\n", + " \"password\": os.environ['PostgreSQL_password'],\n", + " \"table_name\": \"elements\",\n", + " \"batch_size\": 100\n", + " }\n", + " )\n", + " )\n", + ")\n", + "\n", + "pretty_print_model(destination_response.destination_connector_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "cjHe50Y0xBHh", + "outputId": "aa277c5f-b31e-433d-8a87-9a1ab008190f" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"config\": {\n", + " \"batch_size\": 100,\n", + " \"database\": \"uns_devrel_demo\",\n", + " \"host\": \"database-1.cmhg4iuswe98.us-east-1.rds.amazonaws.com\",\n", + " \"password\": \"**********\",\n", + " \"port\": 5432,\n", + " \"table_name\": \"elements\",\n", + " \"username\": \"postgres\"\n", + " },\n", + " \"created_at\": \"2025-08-18T13:32:24.631827Z\",\n", + " \"id\": \"c4b79641-20f5-45b2-afd6-fe3b9a4efc9d\",\n", + " \"name\": \"UnstructuredxPostgreSQL Destination_\",\n", + " \"type\": \"postgres\",\n", + " \"updated_at\": \"2025-08-18T13:32:24.750518Z\"\n", + "}\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.11/dist-packages/unstructured_client/models/shared/destinationconnectorinformation.py:190: UserWarning: Pydantic serializer warnings:\n", + " PydanticSerializationUnexpectedValue(Expected `enum` - serialized value may not be as expected [input_value='postgres', input_type=str])\n", + " serialized = handler(self)\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 5: Create the data processing workflow\n", + "\n", + "This step connects everything. We define a workflow that pulls files from S3, processes them through a sequence of transformations, and pushes the structured output to PostgreSQL.\n", + "\n", + "The pipeline includes three core operations:\n", + "\n", + "- **Partitioning**: Converts raw files like PDFs, DOCX, and HTML into structured elements — paragraphs, tables, titles, and more. We’re using the [`vlm` strategy](https://docs.unstructured.io/api-reference/partition/document-elements), which is well-suited for complex or layout-heavy documents.\n", + "\n", + "- **Chunking**: Splits longer content into smaller pieces to make records easier to query and work with downstream. We use [`chunk_by_title`](https://docs.unstructured.io/api-reference/partition/chunking#%E2%80%9Dby-title%E2%80%9D-chunking-strategy), which breaks text at logical section boundaries based on headers and character count.\n", + "\n", + "- **Embedding**: Adds a semantic vector to each chunk using Azure OpenAI’s `text-embedding-3-large`. Learn more about [embedding models and options](https://docs.unstructured.io/ui/embedding).\n", + "\n", + "Once defined, these steps are passed into `create_workflow`, which registers the entire pipeline. From there, documents can be processed end-to-end — source to destination — with structured, enriched records landing in Postgres.\n" + ], + "metadata": { + "id": "pCEO1jxjwb30" + } + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.shared import (\n", + " WorkflowNode,\n", + " WorkflowType,\n", + " Schedule\n", + ")\n", + "\n", + "parition_node = WorkflowNode(\n", + " name=\"Partitioner\",\n", + " subtype=\"vlm\",\n", + " type=\"partition\",\n", + " settings={\n", + " \"provider\": \"anthropic\",\n", + " \"model\": \"claude-3-7-sonnet-20250219\",\n", + " }\n", + " )\n", + "\n", + "chunk_node = WorkflowNode(\n", + " name=\"Chunker\",\n", + " subtype=\"chunk_by_title\",\n", + " type=\"chunk\",\n", + " settings={\n", + " \"new_after_n_chars\": 1000,\n", + " \"max_characters\": 4096,\n", + " \"overlap\": 150\n", + " }\n", + ")\n", + "\n", + "embedder_node = WorkflowNode(\n", + " name='Embedder',\n", + " subtype='azure_openai',\n", + " type=\"embed\",\n", + " settings={\n", + " 'model_name': 'text-embedding-3-large'\n", + " }\n", + " )\n", + "\n", + "\n", + "response = unstructured_client.workflows.create_workflow(\n", + " request={\n", + " \"create_workflow\": {\n", + " \"name\": f\"PostgreSQL Destination Tutorial Workflow_\",\n", + " \"source_id\": source_response.source_connector_information.id,\n", + " \"destination_id\": destination_response.destination_connector_information.id,\n", + " \"workflow_type\": WorkflowType.CUSTOM,\n", + " \"workflow_nodes\": [\n", + " parition_node,\n", + " chunk_node,\n", + " embedder_node\n", + " ]\n", + " }\n", + " }\n", + ")\n", + "\n", + "pretty_print_model(response.workflow_information)\n", + "workflow_id = response.workflow_information.id" + ], + "metadata": { + "id": "IGnCgfH2I2L8", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "c00ead35-8a39-46fb-90f2-ad1574e3b855" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"created_at\": \"2025-08-11T14:31:01.392505Z\",\n", + " \"destinations\": [\n", + " \"176b643b-f9f6-4b55-ac71-2a40f229f4e5\"\n", + " ],\n", + " \"id\": \"a84445dc-ddd1-4c68-acf6-482c2f211b40\",\n", + " \"name\": \"PostgreSQL Destination Tutorial Workflow_\",\n", + " \"sources\": [\n", + " \"b517c8b2-d309-4c5b-9eb1-3578d1f848c8\"\n", + " ],\n", + " \"status\": \"active\",\n", + " \"workflow_nodes\": [\n", + " {\n", + " \"name\": \"Partitioner\",\n", + " \"subtype\": \"vlm\",\n", + " \"type\": \"partition\",\n", + " \"id\": \"b84be967-2981-4d27-9e5c-1e59ebf1f751\",\n", + " \"settings\": {\n", + " \"provider\": \"anthropic\",\n", + " \"provider_api_key\": null,\n", + " \"model\": \"claude-3-7-sonnet-20250219\",\n", + " \"output_format\": \"text/html\",\n", + " \"prompt\": null,\n", + " \"format_html\": true,\n", + " \"unique_element_ids\": true,\n", + " \"is_dynamic\": false,\n", + " \"allow_fast\": true,\n", + " \"custom_host_config\": null\n", + " }\n", + " },\n", + " {\n", + " \"name\": \"Chunker\",\n", + " \"subtype\": \"chunk_by_title\",\n", + " \"type\": \"chunk\",\n", + " \"id\": \"141a257d-3605-42fc-b964-699312ce07a7\",\n", + " \"settings\": {\n", + " \"unstructured_api_url\": null,\n", + " \"unstructured_api_key\": null,\n", + " \"multipage_sections\": false,\n", + " \"combine_text_under_n_chars\": null,\n", + " \"include_orig_elements\": false,\n", + " \"new_after_n_chars\": 1000,\n", + " \"max_characters\": 4096,\n", + " \"overlap\": 150,\n", + " \"overlap_all\": false,\n", + " \"contextual_chunking_strategy\": null\n", + " }\n", + " },\n", + " {\n", + " \"name\": \"Embedder\",\n", + " \"subtype\": \"azure_openai\",\n", + " \"type\": \"embed\",\n", + " \"id\": \"c19ca380-ee2b-43c2-a07d-17ace2d58e39\",\n", + " \"settings\": {\n", + " \"model_name\": \"text-embedding-3-large\"\n", + " }\n", + " }\n", + " ],\n", + " \"reprocess_all\": false,\n", + " \"schedule\": {\n", + " \"crontab_entries\": []\n", + " },\n", + " \"updated_at\": \"2025-08-11T14:31:01.409100Z\",\n", + " \"workflow_type\": \"custom\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 6: Run the workflow\n", + "\n", + "Run the following cell to start running the workflow." + ], + "metadata": { + "id": "tOIkt9GOwf6i" + } + }, + { + "cell_type": "code", + "source": [ + "res = unstructured_client.workflows.run_workflow(\n", + " request={\n", + " \"workflow_id\": workflow_id,\n", + " }\n", + ")\n", + "\n", + "pretty_print_model(res.job_information)" + ], + "metadata": { + "id": "7QLgPRt-JNYD", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "5f510ba6-8714-44de-eeb9-48b7f952c3e0" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"created_at\": \"2025-08-11T15:13:16.416810Z\",\n", + " \"id\": \"036eff90-49a3-46d0-ab97-be5541bfc32e\",\n", + " \"status\": \"SCHEDULED\",\n", + " \"workflow_id\": \"a84445dc-ddd1-4c68-acf6-482c2f211b40\",\n", + " \"workflow_name\": \"PostgreSQL Destination Tutorial Workflow_\",\n", + " \"job_type\": \"ephemeral\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 7: Get the workflow run's job ID\n", + "\n", + "Run the following cell to get the workflow run's job ID, which is needed to poll for job completion later. If successful, Unstructured prints the job's ID." + ], + "metadata": { + "id": "ObIv1fHfwigb" + } + }, + { + "cell_type": "code", + "source": [ + "response = unstructured_client.jobs.list_jobs(\n", + " request={\n", + " \"workflow_id\": workflow_id\n", + " }\n", + ")\n", + "\n", + "last_job = response.response_list_jobs[0]\n", + "job_id = last_job.id\n", + "print(f\"job_id: {job_id}\")" + ], + "metadata": { + "id": "LP5ZPuQJJgQp", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "2113cd82-e8e6-4646-a5ea-af2d5ec2d358" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "job_id: 036eff90-49a3-46d0-ab97-be5541bfc32e\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 8: Poll for job completion\n", + "\n", + "Run the following cell to confirm the job has finished running. If successful, Unstructured prints `\"status\": \"COMPLETED\"` within the information about the job." + ], + "metadata": { + "id": "hJoLbPwLJupD" + } + }, + { + "cell_type": "code", + "source": [ + "import time\n", + "\n", + "def poll_job_status(job_id, wait_time=30):\n", + " while True:\n", + " response = unstructured_client.jobs.get_job(\n", + " request={\n", + " \"job_id\": job_id\n", + " }\n", + " )\n", + "\n", + " job = response.job_information\n", + "\n", + " if job.status == \"SCHEDULED\":\n", + " print(f\"Job is scheduled, polling again in {wait_time} seconds...\")\n", + " time.sleep(wait_time)\n", + " elif job.status == \"IN_PROGRESS\":\n", + " print(f\"Job is in progress, polling again in {wait_time} seconds...\")\n", + " time.sleep(wait_time)\n", + " else:\n", + " print(\"Job is completed\")\n", + " break\n", + "\n", + " return job\n", + "\n", + "job = poll_job_status(job_id)\n", + "pretty_print_model(job)" + ], + "metadata": { + "id": "nEfi8Q_SJzuh", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "6f647b43-f5f2-4142-f6c2-eaa498efba8e" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Job is scheduled, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is completed\n", + "{\n", + " \"created_at\": \"2025-08-11T15:13:16.416810\",\n", + " \"id\": \"036eff90-49a3-46d0-ab97-be5541bfc32e\",\n", + " \"status\": \"COMPLETED\",\n", + " \"workflow_id\": \"a84445dc-ddd1-4c68-acf6-482c2f211b40\",\n", + " \"workflow_name\": \"PostgreSQL Destination Tutorial Workflow_\",\n", + " \"job_type\": \"ephemeral\",\n", + " \"runtime\": \"PT0S\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 9: View the processed data\n", + "\n", + "Once the job finishes, your documents will be processed and stored in PostgreSQL. Each row in the target table represents a structured element from the original files — including metadata, chunked text, and embeddings.\n", + "\n", + "You can query the data directly using SQL. For example:\n", + "\n", + "```sql\n", + "SELECT id, LEFT(text, 100) AS text_preview\n", + "FROM elements\n", + "LIMIT 5;\n", + "```\n", + "\n", + "\n", + "\n", + "![image.png](data:image/png;base64,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eGlmOlBpeGVsWERpbWVuc2lvbj4xMTgyPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CvF6yR4AAEAASURBVHgB7J0HuBTF8vaLIAbMORJMXFTMmDGLGRUVrngVc45XFL0YMOvfHDErBgyfmBVQMYuKGUHMCRXMAUUQtb96694eZ/fsTM/Gs+ect59nd0LnX/fMztRWVbcSEacfBhIgARIgARIgARIgARIgARIgARIgARIgARKoKIHWFS2NhZEACZAACZAACZAACZAACZAACZAACZAACZDA/whQ8MSpQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkUBUCFDxVBSsLJQESIAESIAESIAESIAESIAESIAESIAESoOCJc4AESIAESIAESIAESIAESIAESIAESIAESKAqBCh4qgpWFkoCJEACJEACJEACJEACJEACJEACJEACJEDBE+cACZAACZAACZAACZAACZAACZAACZAACZBAVQhQ8FQVrCyUBEiABEiABEiABEiABEiABEiABEiABEiAgifOARIgARIgARIgARIgARIgARIgARIgARIggaoQoOCpKlhZKAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAVPnAMkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAJVIUDBU1WwslASIAESIAESIAESIAESIAESIAESIAESIAEKnjgHSIAESIAESIAESIAESIAESIAESIAESIAEqkKgjZY6uColV6HQ1VdfXTp06CBffPFFFUovvsgtt9xSll9+eVluueVk6tSp8uuvvxZfSCxHvfUv1rSydtu1aydt27aVP//8s6xyysk8++yzi3POPuWUk5+3devWgnkwyyyzyLfffpsfnXPcXMd3mWWWkRVXXFE+++yznP62lAPMbwTMr0IhFN+zZ8+K3D8K1c1z1SVQzPVf3ZawdBIgARIgARIgARIgARKobwJ4W2oSn2eeeca9+eabddPWv/76S981/xv23XffsttVb/0rd16st9567rXXXnN//PGHQfr888/doYceGnF666233KRJk3I+n376qZt77rktzahRo9zo0aOj9PntCeVHeozL888/b21AO5588kmnL4vuxRdfzKk33o6hQ4cm1pnfhgUWWMD6liVPpce3XD433nhjQQZrrbVWZj4qcHPvvPOOe/XVVwsyW3/99R36Pf/88xeMz+dZ7HG1y59rrrncU089ZZyWXXbZnD5g7B999FE3Y8YM98svv7ibbrrJqZApShOK9339/vvv3c033xzl8+frYVttvtUuv9oMi7n+q90Wlt80nmM4ThwnzgHOAc4BzgHOAc6BljgH2mqnGUokMMcccwi0WFSwUWIJzTcbNAFuuOEGWWqppeTWW28VFSjJFltsId27d4863blzZ5k2bZrcd9990TkV5snvv/9ux9Bug6ZUUgjl32GHHeTaa6+Vjz76SM466yxZfPHFZY899hC07YknnpAFF1zQit5vv/3khx9+kOHDh9uxCjeTqmxwHlpuV199tTz33HMN4qp9olw+4LHkkksao3hbv/vuu8x8/vWvf0mXLl1kxx13jBcR7W+44YbSo0cPmW222aJzldypZvnQYrv77rtlo402sibjeo8HzG/MaRU6ysILLyz9+/c3bcxBgwZZslC8L+uiiy6SU045RQYPHmxz1Z+vh201+aJ/1S6/2gwb8/qvdt9YPgmQAAmQAAmQAAmQAAlUikArLQj/tBcMxx9/vIwbN04eeeQRi+/Tp4+9YF1++eV2jBcs1XYwMxuY2uDF/Z577hHVLLF4mJhss802AlMS1RyQ119/3V7ksprktG/fXgYMGCDdunWTCRMmyLbbbmsmTaussoqV36pVK+nVq5eZOs0zzzwmAIIQACZdG2+8sb0UXnjhhYIXaYQVVlhBdt99dxOETJw4USC4gNABgo+tttrK6hkzZoxcc801JhBJK98K1K9VV13V+oVyrr/+en8607ac/uFlGH1EXzt27CiqlSHbb7+99eXOO+80s582bdrIQQcdJKp5JKqVIaohI4jLEvbaay9LdtdddxmLLHniaTbffHN57LHH5IILLrAx9HF4eYewCUG1REQ1jwRpCwWMEQRPMGUsFEL5v/zyS5lzzjlFNVXk66+/tiLmnXde+fHHH3OKU40Tefvtt2WDDTbIOR86gEAF8wbhpZdekgceeCAnS2h8cxKXcFAuH8wHzKFZZ501tfY0Pi+88IIsvfTSJtSLm1KutNJKsttu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1e/YsGUkQAIkQAIkQAIkQAIkQAIkQAIkQAIk0KQJtG7SrWfjSYAESIAESIAESIAESIAESIAESIAESIAE6pZA21q0TFdIM6evpTh+Lad9WF4bzoURsPw4HJQzkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJ1IZAqsbTjTfeKJMmTWrwWWuttWTDDTfMOf/ggw+KLgsuWNnNh6WWWkp0qXhb5UuXbZfhw4fLXHPNZdEXX3yx5ddl031yGTlypJ074IADonPl7IwYMcJ8gMAPyHbbbVdOUVXLu/766xsjrP5W6TBq1CjR5esTi3311VdzxhBjfcstt1j6LOOTlv/FF19sULafS0OHDk1sUzzi+eefb1DGZpttFk/CfRIgARIgARIgARIgARIgARIgARIggTomkKrxhCWtl1xySbn22mtzuvDdd99J165dLQ7CgYkTJ8omm2xiwp311lvPBFDIcO+998oaa6xhzl+xpHTv3r1NCNW/f3/B0vEoG/vHH3+8dOjQQaChhLDAAgvYttwvCMFWX311QRvrNUCA16NHD1uKu9JtBFMsp54UHn/8cZlvvvlk//33F4wpnPW+9dZbljzL+KTlf+KJJ2TBBRe0snSVQsFy7hA8Irz55pu2DX117NhRsIz7ww8/HCWdMmVKtM8dEiABEiABEiABEiABEiABEiABEiCB+iaQLJX4X7t///13KaSBBMETws033yzXXHONLLLIIvLFF1/I9ttvb+e7detmQqf77rvPBBsweZswYYLsuuuucsghh1gafEE4semmm1ra6GTGHQglevXqZQKreeaZxwRMV199tZn1oYjp06fLtGnTEktLy7/RRhvJxhtvbGVBAPLUU09Z39CfO++8U3QlbxOKpNU/aNAgeeedd2TFFVe0DwQvEO788ccfstJKK8luu+1mdaCBSPvjjz/Ke++9J14jCCaK22yzjfTs2dM0xV5//XW5++675bPPPkvsUzERAwcOtOR9+/a1sSk0zmnjk5b/P//5T9SUXXbZxYSThcqPEiXsjB07tuD8iyfH2GOsZ8yYET/NfRIgARIgARIgARIgARIgARIgARIggTog4LQNBT9qquX0Zb5gnJquqezFORUmWLya0Fla1Wyx4z59+lj8oYceGuW/8sor7dwKK6zg7rjjDvf999871ZZy119/vVMtGPfCCy9Y/AknnBDlSWob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fHPp3r17MVmYlgRIgARIoIkTKOb5o4l3lc0nARIgARIggbonQMFT3Q9R027gfPPNJyNGjJDjjz8+2JGLL75YrrnmmmA6JiCBYghcdtllMmDAgGKyMC0JkAAJ1D2B9ddf33wczj///FVpa7XLr0qjY4UW8/wRy8ZdEiABEiABEiCBKhBoW4UyWSQJRAR+/fVXufrqq+W5556LznGHBEiABEiABEigPAIbbrih9OjRQ2abbbbyCkrIXe3yE6qt2Gk+f1QMJQsiARIgARIggbIJUPBUNkIWkEQAD8Qws/vuu+/k559/bpCsffv2ponSrVs3mTBhgswxxxwN0vAECZAACZAACZDA3wRWWmkl2W233WTjjTe2k4MGDZIff/xR3nvvPRk6dKida9WqlfTq1Uu23HJLmWeeeeT555+3P4H+/PNPWWONNaR3797y4IMPyosvvmjpsULsmmuuKUOGDJF55503WL5lSvk65ZRT5KOPPpJVV11VllxySav/8ssvl7/++styde7cWfbbbz+577777DkBzwFjxowxredp06ZJWvvR7y222EIuvPBCe75AgSussILsvvvucuutt8rEiRNNIJf2/JFW/plnnikPPPCAvPTSSzk9BM9VVllFTj/99JzzPCABEiABEiABEshGwGkyfsig4nNgn332ca+++qpD0IfhBuXff//9FqcPp04fNG3/zTffbJCO85PXZzlzQF9C3J133sl5xXsc5wDnQLOYAypMcq+88or7+uuv7XdT/7ix4yuuuCLq3+DBgy3um2++cZ9++qntn3/++Ra/+OKLW94vvvjCLbjggm611VZzM2bMcG+88YZT7SmXpfzQPdkq1C8VdFnZOD7jjDOi9m299dY+iW1RP0KXLl0sTVr7+/XrZ2kPPPDAqDwVatm5lVde2c6Fnj/SylfhmEN5+X18+umn3aRJkxqcz0/HYz6zcA5wDnAOcA5wDhScAwVP8oeVD+gVmwOq7dRA8KTaTW769OmRQGCttdayh0YKnng9VvpGTcET51Sl5xTL45yqhzlwwgkn2O8mBEnx9iyxxBIOwhPVIHKzzjqrxalmkQmgfDoIl5Dmqaeecqop5aZOneqWX375nHKSyvdlpG3RsJkzZzoIgiDcwn34rbfeisr3gqfPP//crbfeeq5NmzZOTfusvaH2q7a0++WXX6ztaAPyfvXVVznl+7YVev4IlT9+/Hj38ssvW1v33ntvt91221kdqPP222+P+uDr4Jb3A84BzgHOAc4BzoHwHKCpnc4ShtoTgKq8PhDLsGHDrPKxY8fK+++/X/uGsEYSIAESIAESaEYEsEIsTMngXPvSSy+1ni299NLSoUMHMxXTP3hk1KhRcs4554gKlyxetYjMVK+SGFSDSsaNG2dFqoBLDjroIFlsscVk8uTJUTUwtYOJHcIzzzxj2yztRz6YG6rQTWB6uPDCC8tFF11k+UNfofLhk1I1pqzs6667TlTLSXbYYQeBewD6qwzRZTwJkAAJkAAJFCZAwVNhLjxbZQJLLbWU1RD3/YT9WWaZpco1s3gSIAESIAESaL4EINxBgNPxTp062T6EPfjAx5MPEKj4EN/358rdqplfVITfzxc8QSCVH7K0/7bbbjOfTn379hX4h1IFq+iPrPzy8o9D5UO4pGZ8cuyxx0rr1q2lY8eO0r9/fysGvrIYSIAESIAESIAEiidAwVPxzJijSAJwFArnovHw5Zdf2qGq4cuTTz5p2k/q28GckcbTcZ8ESIAESIAESKAhAS9Emn/++cX/piIVnHojjBw5Ug4++GDbz/+Ck2w454bAaa655pI77rhD1NeTeAER0ieVn19W0jGcmPuA+n766SeBtlU8/Pbbb/FD28/S/scee8zautdee5lgCMKizz77rEFZhZ4/QuWrSZ2Vc9RRR8mIESNMo+roo4+2RVK8BleDiniCBEiABEiABEgglQAFT6l4GFkJAnhA3HXXXeXkk082c7p77rnHhE1Y6hir8eDBc5NNNpE555yzEtWxDBIgARIgARJo9gS89s25555rq7l9/PHHtkodhDDYh5ZO27ZtbUU5mNntvPPOZmoHQdNdd91lWkLqa0mWXXZZW13ulltuERxDewghqfysYGH+du+994o6QbfV9R555JFImJVWRqj9yPvHH3+ILhohhx12mBUFDahCodDzR6j8Tz75RNTxuqgvKHn44YdNoAUNqBdeeCFala9QXTxHAiRAAiRAAiSQToCOEulIvKpzQJdTdqNHj3b6oAh/o05V/62+Pn36mINQnMOqdnACipV6dLryQwYVmwN0Ls7rifcUzoHmOAfUDMzdfffd5sQbv6/4nfX9VA0jW6UOv68++N9XrG6HUGhVONUgispIK9/Xk7T1dWJVOwQ183OqARWVvfnmm9v5nj17RufiZaW136dbZ511rIzff//dqdZXwXKSnj9C5asGmJXduXNn16tXL9s/8cQTC9bh28Mt7zOcA5wDnAOcA5wDyXOg1f/g6IaBBKpLAP4m8O+rV2NHbfDpBH8LuiKN6HLK1W0AS2+RBFTwZA5u4QuEgQRIgASaGwE4Esdvq65S10CjaKGFFjKn2D/++KPgU0rILx8OvfEpFD788EP54YcfTGvqyiuvNOfl+I3/4IMPGrStUP78c5VoP8os9PyB85UqH2UxkAAJkAAJkAAJJBOgqV0yG8ZUmMD06dMblKjLLRf0y9AgIU+QAAmQAAmQAAk0IKDqOILf0kIBPpvifpsKpQmdyy9/4MCBcsABBxTMdvjhhwtWgvMBi4bEFxHx57NuK9F+1FXo+QPnK1U+ymIgARIgARIgARJIJkDBUzIbxpAACTQDAnCQ653kNoPusAskQAIk0KgEjjzySMEnLcC30+uvv56WhHEkQAIkQAIkQAItiABN7VrQYLOrJNASCbRv394ET0n/eLdEJuwzCZAACZAACZAACZAACZAACdSKAAVPtSLNekiABEiABEiABEiABEiABEiABEiABEighRFo3cL6y+6SAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAnUiAAFTzUCzWpIgARIgARIgARIgARIgARIgARIgARIoKURoOCppY04+0sCJEACJEACJEACJEACJEACJEACJEACNSJAwVONQLMaEiCBxiEwfPhwOeussxqnctZKAiRAAiRAAiRAAiRAAiRAAi2cQNsW3n92nwRIoJkT6NKli8yYMaOZ95LdIwESIAESIAESIAESIAESIIH6JEDBU32OC1tFAiRQBoE2bdoIPgitW7e2/Xbt2tnxzJkzxTln+/wiARIgARIgARIgARIgARIgARKoLoFWWnziG9iwYcNkscUWy2nBmDFjZNCgQXaO8eTD+cHrI36DqJf7w9ChQ2XPPfeMNy3aP+644+S8884T3r94/+L9i/ev6MagO/Vy/0KbeH/i/Yn3J96feH/6mwDvz7V7//6bOvdIoLIEUjWepk2bJr/++mtOjdOnT4+OGU8+nB+8PqIbgu7Uy/0BL20TJkywpg0cOFCmTJkiEEYhjB492ra8f/H+xfsX7192M/jfV73cv9Ac3p94f+L9ifcn3p/+JsD7c+3ev/+mzj0SqCyBVI2nylbF0kiABEig9gTGjx8v48aNk379+tW+ctZIAiRAAiRAAiRAAiRAAiRAAi2cAFe1a+ETgN0nARIgARIgARIgARIgARIgARIgARIggWoRoMZTtciyXBIggbogsNZaa8nUqVNl4sSJddEeNoIESIAESIAESIAESIAESIAEWhIBCp5a0mizryRAAiRAAiRAAiRAAiRAAiRAAiRAAiRQQwI0tashbFZFAiRAAiRAAiRAAiRAAiRAAiRAAiRAAi2JAAVPLWm02VcSIAESIAESIAESIAESIAESIAESIAESqCEBCp5qCJtVkQAJkAAJkAAJkAAJkAAJkAAJkAAJkEBLIkDBU0sabfaVBEiABEiABEiABEiABEiABEiABEiABGpIoI3WNbjU+jbddFOZZZZZ5Lvvviu1iKLyrb766tKhQwf54osviso366yzWnrnXFH5apW43Pa1a9euqv3L0r5llllG1llnHZlnnnlk8uTJOejmnHNOmTlzZs65Sh6g/N9//z2xyCx85pprLvnjjz+kmDmSdf7PPvvs8ueffya2rxIRafwrUX4anxDfcvsfGt9Q/zbffHNZYIEF5MsvvwwlZXwjEij2/r7lllvK8ssvL8stt5ytWvjrr782YutZdTUItG7dWjDOeM749ttvq1FFVGax8y/KWOJOJeZvLfnkd3ONNdaQTp06yeeff54fxWMSIAESIAESIAESKEgA0piSPvqy766++uqS8qLO559/3k2aNCnns9lmmyWW98wzz7g333wzJ15fiN1TTz1lZSy77LI5ceuvv757++233V9//eX0odXdeOONTh+UojSh+kPxpXLz+dLapy/LOVw8p08++cTpi7z1QV+m3aOPPupmzJjhfvnlF3fTTTc5FQJE/fP1JG1D/UtrX7zM++67T+U1/w3PPfdcVP/o0aOtXYj57bff3PDhw93CCy8cxcfLKHYffb/77rvdzz//bBWj/9dff71TIUVUfohP27Zt3UUXXeS++uorK0NfXN3ee+8d5Q+1KTT/t956a/fBBx9Y2T/++KO1L3980uYv6g/FI00S/9D4hvoX4hPim6X/SW3IMr5JefPPT5w40d15552Zx9XnHzVqlMMc9sfc/v07cfHFF9v96fzzz4/4jBw50s4dcMAB0blimBW6v6flx33dh3333bekOtPKb8w4FeIby9133z3q1+mn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PIXKRXwWfknlYE7AbAkf3BsgmIXpbDw95iTurYXMdUP1ZykfZVSTP65brMiFazjeL7+f5f6etX0wQYMZny8bW3AFP1yj8fNZ98sZX19H1vb79PEt2g+zVvU7lzgH4unz90P9T5tfECKoBq3DaqwQQifNwXL6l9/etGPcz/LHMdQ/lJfWvizzL61Nobg0vvl5C81fnwbXkb+e/bn8bSE+Pk1S/tD8zsLX11Gtbdr4hdpfiTal1R8qvx74hdrI+PLfgciQDDkHOAc4BzLPgcwJS3pw50CQL+cA50BjzoFqCp7K6de///1vBy07NUd1aqaC93ynK0RV7D5b7fLL6Tvz1v89AfMRgieOVf2PFceIY8Q5wDnAOcA5wDnAOVDvc6DsVe20gwwkQAIkULcE4IcEn3oL8NUCHyxYjRL+iY4++mjzh1Spdla7/Eq1k+XUJwH4doKvPwYSIAESIAESIAESIAESKJcA1vbGP5oMJEACJNAsCag5hgme4ASXgQRIgARIgARIgARIgARIgARIoLYEKHiqLW/WRgIkQAIkQAIkQAIkQAIkQAIkQAIkQAIthgBN7VrMULOjJNAyCejqQ9K9e/eW2Xn2mgRIgARIgARIgARIgARIgAQamQA1nhp5AFg9CZBAdQmoc3EZN26c9O3bt7oVsXQSIAESIAESIAESIAESIAESIIEGBKjx1AAJT5AACZAACZAACZAACZAACZAACZAACZAACVSCAAVPlaDIMkiABEiABEiABEiABEiABEiABEigCRAYPny4nHXWWU2gpWxicyHQtrl0hP0gARIgARIgARIgARIgARIgARIgARJIJ9ClSxeZMWNGeiLGkkAFCVDwVEGYLIoESIAESIAESIAESIAESIAESIAE6o1AmzZtBB+E1q1b2367du3seObMmeKcs31+kUA1CNDUrhpUWSYJkAAJkAAJkAAJkAAJkAAJkAAJ1AmBG264wbScoOnUtWtX6dOnT3Q8YMCAOmklm9FcCVDjqbmOLPtFAiRAAiRAAiRAAiRAAiRAAiRAAkpg2LBhMmHCBGMxcOBAmTJligwdOtSOR48eTUYkUFUCrbR06tRVFTELJwESaEwCEydOlHHjxknfvn0bsxmsmwRIgARIgARIgARIgATqgsD48ePt+bhfv3510R42ovkToKld8x9j9pAESIAESIAESIAESIAESIAESIAESIAEGoUATe0aBTsrJQESIAESIAESIAESIAESIAESIIHaE9hnn31k6tSpta+YNbZYAhQ8tdihZ8dJgARIgARIgARIgARIgARIgARaGoGxY8e2tC6zv41MgKZ2jTwArJ4ESIAESIAESIAESIAESIAESIAESIAEmisBCp6a68iyXyRAAkbgzz//FHwYSIAESIAESIAESIAESIAESIAEak+AgqfaM2eNJEACNSSw9tprC+zYGUggn8Cdd94pr732mlxyySX5UTxuBgQ4vk17EDl+TXv82HoSIAESIAESiBOg4ClOg/skQALNjsCvv/4q06dPb3b9YofKJzBx4kRp166dLL/88uUXxhLqjgDHt+6GpKgGcfyKwsXEJEACJEACJFDXBOhcvK6Hh40jARIol8Dmm28uP/30k7z88svlFpWTf8stt5TWrf8ru4fWzFdffZUT39QOVl99dZllllnkpZdeatD0ZZZZxoQzX3/9tbz66qsN4itxIq3+SpRfqIzBgwfLEkssIUsuuWSh6JqdC/ENxdesoU2sonoZ38bGNvvss8vvv/+eY3K86aabyhdffCHvvvtuYvNwf+vZs6d8+umnAiFQPBR7/yvl+ub4xYlznwRIgARIgASaPgGnXeCHDDgHOAea5RzQFyanJhsl9W3llVd2kyZNch999JFr3759Thl//fWX82HffffNiav2PXXDDTe0dqFt+Dz44IMObZhjjjlKbsczzzzj3nzzzQb577vvPt9N99xzzzWIr1Rfk+oPla8vwG611VYruV3XXnutGzFiREn5R40alTMO66yzTtHlhPiG4kN8qhGPOXfMMcc06CtYvvfee65Vq1YN4kptR2OMbzWur1L7X04+3BOef/5598cff9jnySefdCpMsrH57bff3HXXXZc6TgsssIBd+0OHDm2Qrtj7X6nXdynXJ+aMvze+/vrr7vbbb3drrrlmgz6Uw5Z5+d7AOcA5wDnAOcA5UNwcoKmdzhgGEiABEihEYMcddzRtmM6dOwv+4Y8HFfLI+uuvHz9Vs/25557b2gVNhJEjR0rXrl1FXyLlsssuq2gbFl98cenVq5fcdttt0qlTJ9lmm20qWn4lCjvkkENku+22K6mobt26mcbTwgsvLGussUbRZejLtKjQSiZPnmzjgXEpJoT4huKLqauSaaEhtuKKKzYoctVVV5XZZptN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5bPPPmtAh/O7AZKKnqgF3549e9bt/bOiMPMKW2ONNaRTp07y+eef58XU5jDL72ttWtJ8a6nF9ePprb766tKhQwf54osv/KnMW9xj11lnHZlnnnlk8uTJmfOVkxDzD89tac935ZTPvCTQlAk4bTw/ZMA5wDnQLOfAxIkT3Z133llU3y6++GI3adIkd/7550f5Ro4caecOOOCA6Fw5987ffvvNXXfddallqcDMIQwdOjQ1XTntSMr7119/Wd342nfffWtef1K74ucbk0+8HdXaX3/99d0zzzzj5p9//rrkX61+N4VyK3F96IuJe+edd9yrr75acHyb+/wOjXO58z+UvxZ8v//+e3fzzTcXHN9Q/0Pxof5VO39a+c8//7zN7bQ05cal9T/L72u59dd7/jQ+lWh7La4f3078Dr755ptFX0f33Xdf9Bzz3HPPFZ3f11/s9vfff3dXX311zeortn1MT7lHY80BOhdX8gwkQAIkECew6KKLypJLLin9+/eXtm3bytJLL22aRzinD1vxpFXdh5aRPrzIY489VtV6ChU+xxxziD64Foqqm3ONyacWEDbccEPp0aOHzDbbbLWojnUUQaAS18e//vUv6dKli5x22mkFa27u87tgp2Mny53/ofy14HvRRRdJv3797Dck1rWK7Ib6F6qk3Pyh8qsd39Tb39T51OL6KYfR4osvLr169ZLbbrvNtO+22WabcopjXhIggQoQaFuBMlgECZAACTRLAgsuuKBAZRpmA/lhs802k2233dbUv3/++Wd5/PHH5fbbbxf9ey1KinxIs/LKK8tXX30lt956q7zwwgtR/FxzzSUnn3yydOvWTV566SW58sorZdq0aRYPgcNWW21lqtooPz8MGjRIVFvCzHRgqjN8+HC555575I8//rCkrVq1socumARBxVz/gTYhVtYV/uCM3bclv24ch8oP8encubPst99+ov9IWj/BYMyYMXLNNddYvaH+lcsHZgIHH3ywCXZghvnyyy/bw+nZZ59dqLsNzsFMEg+yMKXBOL7++uty9913m8mUb9sVV1wRmXgutdRSctBBB8nDDz9s/UzLv9JKK8luu+0mG2+8sdULFj/++KO89957otpvdi6N/0YbbWR5MdYdO3aUp556Srbffntjrdp/NkfT6m/Q2QInQuPTpk0b6+96660nM2bMkFGjRgnqRjjzzDPl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BIgAESACrUCAiqdWoEgaRIAIEAEiQASIABEgAkSACBABIkAEJgAEbrjhhnDCCSdMAJySxd6CwCS9pSPsBxEgAkSACBABIkAEiAARIAJEgAgQASIQR2ChhRYK33zzTbwQc4lACxGg4qmFYJIUESACRIAIEAEiQASIABEgAkSACBCBnobAxBNPHPCHNNFEE+n5ZJNNptffffddyLJMz/mPCLQDAbratQNV0iQCRIAIEAEiQASIABEgAkSACBABItBDELj00kvVygmWTgMGDAiDBw/Orw866KAewiXZ6K0I0OKpt44s+0UEiAARIAJEgAgQASJABIgAESACREAQGDFiRBg7dqxiceihh4bx48eHK664Qq/vv/9+YkQE2orAD4Q6beraCjGJEwEi0J0IvPzyy2H06NFhyJAh3ckG2yYCRIAIEAEiQASIABEgAj0CgTFjxuj78Xbbbdcj+CETvR8Butr1/jFmD4kAESACRIAIEAEiQASIABEgAkSACBABItAtCNDVrltgZ6NEgAgQASJABIgAESACRIAIEAEiQAS6HoGhQ4eGL774ousbZot9FgEqnvrs0LPjRIAIEAEiQASIABEgAkSACBABItDXEBg1alRf6zL7280I0NWumweAzRMBIkAEiAARIAJEgAgQASJABIgAESACRKC3IkDFU28dWfaLCBABReA///lPwB8TESACRIAIEAEiQASIABEgAkSACHQ9AtzVrusxZ4tEgAh0IQJTTjmlKp7+9a9/dWGrbIoIEAEiQASIABEgAkSACBABIkAEgAAVT5QDIkAEiAARIAJEgAgQASJABIgAESACRIAIEIG2IDCxUB3WFsokSgSIABHoAQj85Cc/CdNPP33429/+1gO46T0srL322mGyySYLn3zySbd0qivan2iiicJ6660XJp100vDxxx93Sz8n1Ea7Yny6E5tll1029O/fP7z33nvdyUZS2/PNN19YccUVwzTTTBPef//9pDosRASIABEgAkSACBCBViOQCUH+EQPKAGWgV8rAyy+/nF133XV19+2yyy7Lxo0b1+lv+eWXr5tWb5xj//nPf2YXX3xxt2HRFe2LwjJDuuKKK7qtnxOq7LRifFZZZZXskUceyfr169cQ/s3Wj2H/pz/9KXvllVca4itGt9V5N998s8ow/j322GM9nt9W95/0+H5PGaAMUAYoA5SB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iAARIAJEgAgQASJABIjAhIBA08Etp59+et1K/C9/+Us2xxxzVNJ75JFHshdeeCHPl/gk2bhx4zr8rbPOOpoPmthGGVvoIn355ZfZJZdcUteuQgJ+TgtbnVfxl8q/0Us9xvqXSkMUPtlDDz2kGM0///w5dsX6jfLv8Ycdfc444wzdph1j8NVXX2U77bRTzgO2tsa4IGFLd2x9PNNMM+X5RR4bOd9ggw2yN954Q+ljO3qMP3a4aYRWWZ1m+ffqe/llPNk9bGVd+2zg+p133slEEacYrLLKKvrcff/999nHH3+cXXbZZbq7FWg0+/x49b1860eK/FrZqmOj8m30Ggkunto/a6PR4xJLLKHj/NZbb2XYAapROj2xHuaEiy++uFf1qSfiTJ4YkJQyQBmgDFAGKAOUAcoAZaCny8AkwmDT6fTTTw8DBgxQOrBOSU1zzz23WrLccccdeZXx48fr+cwzzxy23HLLcNddd4VXXnkliBIiDB06NIiiI+y77755+ZQTjz8vP6WNsjKx/pWVr70n20cHUb6FNdZYQ7N+9KMf1RbR60b59/g79dRTFeunn346nHfeeWHRRRcNsK6xJEom5e+9994La665po4XgjgPHjzYijR8RMDk6667LohSJRx11FFh2WWX1fGXXbzCMccc0zDdYsVm+ffqe/lFXmrP8RxA9i3BognyL8rTgFhFsDA7//zzw3zzzRfOOuusIFuphx133DF8++23Yffddw/NPj9efS8ffKfKr/Wx6tiofFfRS7mf0r8UOl6ZzTffPIiyXoutt9564cYbb/SqMJ8IEAEiQASIABEgAkSACBABIjDBIdDUF2lYZiB98sknelxggQVyeviCf+yxx6rl0nHHHZeJAqODxZMoLDLZ2SUvL8jl57C2mWeeefLr2WabTem/+OKL+T2UF4VEJooIbQNbE6+00kod8mP8oX4sH9ZXsuhV2pdeemm23XbbZbLg70C/yHPteax/VjbGP9ouJlhHWD07xvi3MlXHGH+wVPniiy8y2dUqE2VTp3ZraaLMN998o1ZlxbxY/4rlas833XRT7fppp52mbcPSCfzAaq1YNkYfY7XZZptl5557bnb11Vdne+21VyYKnA71jVYV/5bvHb36Vfkx/ottbrzxxorHr371K+Uf1m9II0eOzPsjSrkMlmGol/L8xPDx6nv54MGT35Tnqxn5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9XfffReyLNNz/iMC7UCArnbtQJU0iQARIAJEgAgQASJABIgAESACRIAI9BAELr30UrVygqXTgAEDwuDBg/Prgw46qIdwSTZ6KwK0eOqtI8t+EQEiQASIABEgAkSACBABIkAEiAAREARGjBgRxo4dq1gceuihYfz48eGKK67Q6/vvv58YEYG2IvADoU6burZCTOJEgAh0JwIvv/xyGD16dBgyZEh3ssG2iQARIAJEgAgQASJABIhAj0BgzJgx+n683Xbb9Qh+yETvR4Cudr1/jNlDIkAEiAARIAJEgAgQASJABIgAESACRIAIdAsCdLXrFtjZKBEgAkSACBABIkAEiAARIAJEgAgQga5HYOjQoeGLL77o+obZYp9FgIqnPjv07DgRIAJEgAgQASJABIgAESACRIAI9DUERo0a1de6zP52MwJ0tevmAWDzRIAIEAEiQASIABEgAkSACBABIkAEiAAR6K0IUPHUW0eW/SICREAR+M9//hPwx0QEiAARIAJEgAgQASJABIgAESACXY8Ad7XreszZIhEgAl2IwJRTTqmKp3/9619d2CqbIgJEgAgQASJABIgAESACRIAIEAEgQMUT5YAIEAEiQASIABEgAkSACBABIkAEiAARIAJEoC0ITCxUh7WFMokSASJABHoAAj/5yU/C9NNPH/72t7/1AG7SWVh77bXDZJNNFj755JP0Sn205HzzzRdWXHHFMM0004T333+/j6LQs7rdCvmdaKKJwnrrrRcmnXTS8PHHH7e0g6C74IILhgUWWEB39fnqq69aSp/EOiKwzDLLhLnmmiv89a9/7ZhRcZUyPu2Ujwq2eLuHItAb5as3y7f3fHv5rRTDCeH9oV75biU+pEUEWo1AJgT5RwwoA5SBXikDL7/8cnbdddc11LclllgiGzduXPbWW29l4rLXicYqq6ySPfLII1m/fv065aXMq7H6//znP7OLL764IbopbfeWMjfffHNm6bHHHiNePUjyPWkAAEAASURBVGQea4X8isJYh/aKK65o+bh+//33JjbZzjvv3HL6veX5alU/ME++8MILyTinjE875aPZfo8cOTK7//77k/vbbHt9vX5vlK+eLN/Nypv3fHv5zbZv9SeU94d65dv6xyP1Gz1NBhhcXEaEiQgQASJQhsDmm28e5phjjjDPPPOo5UVtmdVXXz2sttpq4Yc//GFt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CsyJuOWWW2TChAny3nvv5cSKvWTstttucvPNN0u569eRarLNNtvIQw89JLNmzcqrN3qQpX987T/00EPl6KOPtult4Pviiy/KiBEjRD/fW3UwOKbxh07oiC3Zaaed7G/s2LEybtw4WbVqleVfa621jBem/GAKCvofRkS3giOc6vfr18/6fcaMGYIX5UICnPFDT5KCr30++TGN54ILLjA9xDTYDz74wF4ub731VqvymmuukWnTpsnkyZPtuHfv3tK6dWvTcUT46veV7+NnlSb8O/DAA+3aBWvo1KuvvirHHHOMXWu4B6CPffrr6x+ffL7+Sbv/JDQrL9onv69/8wqLOfD1X0yWvChf+0q9vnz64+Pv67+8xsQc+PQjrX+y6KePf6n8YpqUF5UmPxL+5z//sWm+4LjBBhsI7t/ffvutPPbYY3nlxB1kuX+n9Q9+73v16iXPPvusvPvuu1bF8ccfL3vvvbfcf//90rJly5J/v+Pkzo3z6bfv/oiy0A78Bu26664yf/58eeKJJ+Sdd94Jq8FzSf/+/e03Ar/F9913X+o9P8yoOz798cmfW1bcfqn3l7gyGUcCJFA7CHCoJadYUQeoA/VWB4qZajdy5Mjg999/D5D3kUcesSlK+sBmQ/6vvfZaY4XpaQhqdArUGGD7V111VchRH+gsTg1NgRo6bP/MM8+082osCD788MPg119/tXg1DNjxkCFDwvz685C6bxn1n778mgw41of1MM9RRx3lktgWciJsv/32lqZv377BRx99ZHFxU+187fOVnyY/pqmokSyU1aV97bXXbDojjkutP3eq3d13323tVMNfoP6sqtTr6nfbLP3ja78aTYJFixYZYzUqWv0DBgwI6/bxx1QIBOiWGoBs/4orrgjzoyyEBQsWBD/++KPt504NfeaZZyxOjZNh/kKm2oGFGjWtjLipdr72+eS/5557rGykU+On7eOf64PoVJBJkybZdeTO++r3le/j5+qJ26ph1OR1/YIDt9+pUydrg09/ff2TRb60/km7/8S1KRrnk9/Xv9Hyose+/oumjx772lfq9eXTH8iTxj9L/0XblHvs04+0/sminz7+pfLLbUvcfpr8SK+G6AD3LgT8huL3Ug3r4f0hrkwXl+X+ndY/OtLKfpvVH16gH5+CPfbYw35jP/3000BHJwdZyneyFLv16bfv/qi+LYMVK1bY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JwceVPGgnHvO177ctJXYr+n6XZuK6R/kVWfpAXQD+V1ZSds4/klpc+OxqiJekqMrJiINdEpHQoUr3+XmK3QfK23pyKS8dhTSvmh9Tt+x2iKuE6x0qCP28srHix2uH6SJ5sdxWv1ZykcZafzi6iwkzqe/Wfonq3xx/ZP1/pPUJp/8Sfmyxqf1X5YyCmlfoddXVv1xcsbxx7ms/efKyd369KPU/imEf6H8ctuRtF+q/EnlRuNRj+vP6LlS+seVlVQ+7l9Dhw61FU2T7mGujLitT79990eU2bhxY/sNQFlxdZQS59Mfn/yl1M28fB+gDtRZHaizgpf9Jkolpi5QB+qfDlTS8FST+uIMTzUpA+uuf9dLdfWp+k4LdEpTMGLEiECnQdqoAF2BsGy/65Uuv7o4sZ6aucaoPzXDvT7pu/qIstHMF198cdnua/WJD9vCa4w6sObpAJbYGaB/DCRAAiRQLwlccMEFttw5fA7Up6BTBQR+HuBvgYEE6hoBHSVgPr423HBDc4R73333Cf7UAlWWplS6/LIIyUJqLQHqT63tmjojGJyS66hkefbZZ+uMzBSUBEiABCpJAGszl+cpr5JSsmwSIAESKJKADgc3h9twMs1AAiRAAiRAAiRAAiRAAiRAAiRQvQRoeKpe3qyNBEiABEiABEiABEiABEiABEiABEiABNYYAg2ytLR9+/aiK/FkSVon0+iqT4JlyRlIgARIgARIgARIgARIgARIgARIgARIgATKR8A74klXgpDPP/9clixZIrpUd17Nb731luiKOXlxutSo6NLceXG1/UCXupaJEyfKaaedVttFpXwkQAIkQAIkQAIkQAIkQAIkQAIkQAIkUGcINPJJeuqpp4ou1S3HHXdclaTbbLONwAHjpEmTwnPz5s0L9+vKzj333CM33nijDBgwQL7//vu6IjblJAESIAESIAESIAESIAESIAESIAESIIFaTcA74umdd96Rdu3ayeabb24OenNbM3v2bNFlkOX444/Pjc6837ZtWzn77LNl/PjxcuSRR8ouu+wib7/9tjz44IOydOlSadiwoejyytK1a1dZvny5TJ06VUaNGmXl33LLLTJhwgR577338urr2bOnYLWnm2++WRo3bizdu3cXTKVr1qyZfPLJJzJmzBj56aef8vJsueWW8uOPP8rQoUPlwgsvzDvHAxIgARIgARIg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)" + ], + "metadata": { + "id": "605bniKrNfIY" + } + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "DLptIOnHha-9" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/notebooks/Getting_Started_with_Unstructured_API_and_Redis.ipynb b/notebooks/Getting_Started_with_Unstructured_API_and_Redis.ipynb new file mode 100644 index 0000000..119c7ef --- /dev/null +++ b/notebooks/Getting_Started_with_Unstructured_API_and_Redis.ipynb @@ -0,0 +1,777 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# Getting Started with Unstructured API and Redis\n" + ], + "metadata": { + "id": "Z8AvLcpmv8rE" + } + }, + { + "cell_type": "markdown", + "source": [ + "[Unstructured](https://unstructured.io) is an ETL+ platform for prepping unstructured data for GenAI pipelines. It lets you:\n", + "\n", + "* Connect to common enterprise data systems, including cloud storage (S3, Azure Blob), collaboration tools (Confluence, Dropbox), business apps (Salesforce, Jira, Zendesk), and databases (Databricks, Redis)\n", + "* Continuously ingest documents from those sources\n", + "* Standardize, enrich, chunk, and embed the content for downstream use\n", + "* Push the results into a vector store or database, in this case, **Redis**\n", + "\n", + "You can configure all of this through the Unstructured UI, the API, or directly from Python using their SDK.\n", + "\n", + "This notebook walks through setting up a complete data workflow using the Unstructured API. We’ll pull files from an S3 bucket, process them with a few key transformations, and send the output to Redis, making the data ready to be queried, searched, or integrated into a RAG pipeline.\n", + "\n", + "For source configuration, we’ll use S3 in this example, though you can swap in any supported [data source](https://docs.unstructured.io/api-reference/workflow/sources/overview). The destination will be a Redis instance configured to accept chunks via Unstructured’s [Redis connector](https://docs.unstructured.io/api-reference/workflow/destinations/redis).\n", + "\n", + "This is what the complete data processing pipeline will look like:\n", + "![image.png](data:image/png;base64,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lQ977kEoCfls8syHfjbhH+recl+T/mzy/QrFh3urZzPzNxPuSX42ee5D6jXYwCiUhHw2+T6F1pvo/VA2Q+hnM/RvbuhnE/ahn81Q95ZnM/Rvbmh7MKTeDP1sUveQejPJ9mDSn81KsAeDPpvT1FfJZs9gJ4fUa6GfTX5zQ/ejQ//mJrmvkmR7sD6ezaB6rR7swVDPZujfXOzYJD+boe3BpPdVQvZzQz+bfKdC91WqZmjsOpvNk6S+SvN4I5o2TfHfxHeV5H2TJk2MvxASsmxf31B1p/yQZfvyQzKqr/r7e1HKV88lZBtClx2yfP/8lJJ5vCxfd/8a31eK95QbqmzqF7p89HKo+oeuu+dTivuYqYxQXOLXCnmN0PxDPjv+3obiE5oN5WOMhxJf/yTzCcUm6c8O9Q9pL4d6Zvz9rI9n018rxGt98QlRd8ps2iRcX8vf21B1p9yQ/H39Q12jSdMwfVDP29fffy7lK2XXx296KescLyskG65TH+XH21Pq96HrXx/PDm0IIaHZUOdQdfdlRz3REGhcmaH5qPzcty70s5P76nXdO3+MJFQbQj87IW1xyIasf8iy/VMR0uYJ9cxU1/1/43ehrhOq3PT6+891eW0yefLk6hELBi9CVj7J5fuBnVB86qP8UHXnAUzyvU16/evj2YFRqOdHzw50s0uS+ejZzH5f2ZPke5v0+uvZ1LOZm0D2vXp2srNhj/Raw/HRs9lw7PXs52fPESH7EqHLD1V36i29CYXsEpKP9GZ27uwJyT7p5evZ0bOTm0DuvSG/W3o2G449Vy7lvU1x2ORulvaKgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiEIBBuXn6I2qpMERABERABERABERABERABERABERABERABERABERABERABEahAAnLYVOBNVZNEQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQASSRUAOm2TdL9VWBERABERABERABERABERABERABERABERABERABERABESgAgnIYVOBN1VNEgEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERSBYBOWySdb9UWxEQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQgQokIIdNBd5UNUkEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERCBZBOSwSdb9Um1FQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAQqkIAcNhV4U9UkERABERABERABERABERABERABERABERABERABERABERCBZBGQwyZZ90u1FQEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERqEACcthU4E1Vk0RABERABERABERABERABERABERABERABERABERABERABJJFQA6bZN0v1VYEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERKACCchhU4E3VU0SAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQARFIFgE5bJJ1v1RbERABERABERABERABERABERABERABERABERABERABERCBCiQgh00F3lQ1SQREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREIFkE5LBJ1v1SbUVABERABERABERABERABERABERABERABERABERABERABCqQgBw2FXhT1SQREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREIFkEZDDJln3S7UVAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQARGoQAJy2FTgTVWTREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEkkVADptk3S/VVgREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREoAIJyGFTgTdVTRIBERABERABERABERABERABERABERABERABERABERABEUgWgRSHzeTJk23OnDlBWjBv3jyj/Llz5wYpf/bs2TZ16tRg5c+cOdOmT59utCOEzJgxw/gLVf60adOMNoQqf8qUKcY9CCWTJk0K9mzyTFJ/PZuZ7x7PZVVVVbBnh2dz1qxZwcqvj2cz1LNTH88m/EPVP7TeRCeHfDb5TQn5bCb5NxdbIaTehHvIZ5PnJuRvLs9myN9c/2xm1tp135r0ZzOkPeifzVD2VOhnM7Q9CPtE24OTZQ9m0yD1YQ+G1JuyB7PdWXPf2ZC/uaHtwfp4NkPag6GfzZBjMLIHs3+v2KO+SnY+2FGhn836sAdD9aND24Pqq1Tus+l/c0M9m/zmhuxHh+6rhP7NLeXYdfP4Y9qyZUtr2jTFhxPfXef3lN+kSZM6l5OpAOrdokWLYOU3a9YsWNm0p3nz+bciFB/YwChU+aGfnVatWgV7NmES8tnRs5npG7tgW+hn05e/4IqlfcezGep7RblJ1ps8+yH1DnozZPk8OyF1f0i9WR/PTpKfTe4rEuq7W1/PZmm12YLSQj6bXCXks8M9TfpvOoxCPZv+NzF0+bQhhAS3B1uG60vIHsz9RIR+Nlu2CNvPTbw92Dzcs89vLs9/KAndj66P3/SQfEL+5lLvkOWHttdCl18fzw5tCPWbLnswu9aqj990rh7q3tbXs5mdYN326NnMzs/rhJDPDlcPVX5wezCw36OUfZUmkVe7esoIXu5Q0LmhKh8KmUVsMnPxW8XHk6j/V7HPzVx8cvMJuVfsc9MVn9x8Qu4V+9x0xSc3n5B7xT43XfHJzkdssrNhj/jk5hNyr9jnpis+ufmE3Cv2uemKT24+IfeKfW664pObT8i9Yr+AborDZsFmvRMBERABERABERABERABERABERABERABERABERABERABERABEagvAikp0errog1xHfL4/fTTT26thsUXX9w6dOjQENXQNUVABEQgMQTIbTt27FgXNbrEEktYu3btElN3VVQEREAEGoIA+dLHjRvnZqx36dLFWrdu3RDV0DVFQAREIDEEWMfi119/dWlou3bt6lJsJabyqqgIiIAINACBiRMn2m+//ebSAHfr1s3pzwaohi4pAiIQkEBFO2xYrOjWW2+1hx56yN5+++0UjCuttJJtv/32duyxx1qnTp1S9umDCIiACDRWAizCdtNNN9nDDz9sH3zwQQqG1VZbzXbYYQc78sgj5fROIaMPIiACjZkAi0sOGzbMHn30Ufvkk09SUKy11lq200472ZAhQ6x9+/Yp+/RBBERABBorAQYbr7nmGvvPf/5jn332WQqGdddd1+nNgw46yNq2bZuyTx9EQAREoLES+PHHH+3GG2+0xx9/3L766qsUDAMGDLBddtnFDj74YDlvUsjogwgkl0C41f8amMldd91lvXr1snvuuccprtdff91F7uCFfu+99+yoo45yThy80SNGjGjg2uryIiACItDwBO644w5bbrnlnBG4995725tvvmnjx4930Ts4vQ888EB78cUXrXv37jZy5MiGr7BqIAIiIAINTABdiE586aWXXCf5nXfecToT3Tl69Gj729/+Zo899pitsMIK9q9//auBa6vLi4AIiEDDEyCgEr2Jvjz66KPt/fffd3qTWTb02XfeeWe7++67bdVVVzX69BIREAERaOwErrzySltllVVszJgxdvLJJ9tHH33k9CbZMF555RXbaqutXLA6AZYEXkpEQASST6Ai17C5+OKL7ZJLLrErrrjCDj/88Jx3CWV2wgknOMPw0ksvzXmsdoqACIhApRI477zz7LrrrrOrrrrK9t9//5zNpPOM3hw8eLBdeOGFOY/VThEQARGoVAJnnnmm/fOf/zQ60XvuuWfOZt522212/PHH2zHHHGNnn312zmO1UwREQAQqlQADjY888ojTmzvuuGPOZl5//fV20kkn2emnn26nnXZazmO1UwREQAQqlQCzZt566y03vrnlllvmbCZjoNiZ9NGxOSUiIALJJdAsMoDOTW71a9acVD4oJwzB3XffveYB/9uCF3rppZe2lVde2aVGw8FDNOSGG26Y9RztEAEREIFKJDB06FCjU0wU+HbbbZe1iV5vrr766rbFFlvYOeecY6xzs95662U9RztEQAREoBIJXHbZZfbvf//bpfPZZJNNsjbR683evXvboEGDXFRk8+bNrV+/flnP0Q4REAERqEQC9NGffPJJe+KJJ6x///5Zm+j1Zt++fd1xzMJZeOGFbZ111sl6jnaIgAiIQCUSOO644+zjjz92unONNdbI2ER05vfff+/GNwcOHGjMsjniiCPc52znZCxIG0VABMqKQEXNsPn888+tT58+RhRjrkjHiy66yE0b5E489dRT7oa8++67tv766zsDcoMNNiirm6TKiIAIiEAoAh9++KFzuNx333227bbbZr0M06wR9OMZZ5zh3pMCaOutt7YXXnjByDcuEQEREIHGQIB0kZtuuqmzIXMF+mTSm6zXQEARaX9wfktEQAREoDEQePnll52d+dprrxkO7GyC3vR9cW9vMrObtLz010kvKREBERCBxkDgwQcfdI6XN954w6Utz9RmnDXMuvH60r8OHz7czUykr7/kkktmOlXbREAEypxARa1hQ5Q4U6vzOWu4JzhqMAZ9Z3rttde2U045xUWMl/k9U/VEQAREoGQELr/8cttnn33yOmvQl97BjdMb2Wijjeywww4z/7lklVJBIiACIlDGBIgSJ3Ixn7Mmk95kFiPr2pCyQiICIiACjYUAKXpIa5bPWcNgox9w9PblXnvt5TJiXHvttY0Fl9opAiIgAnbBBRc4fcgas5nEO2uefvrpGnrzkEMOMWYpDhs2LNOp2iYCIpAAAhXjsJkxY4ZbzJX8jtnEz6xBsSEYg3SmvTF46KGHutyQn376abYitF0EREAEKoYAaSBZxwuDLpt4p3Zcb3Ks/zxkyBB7/vnn7ccff8xWhLaLgAiIQMUQQNe9+OKLhu7LJl5v+v1+8NHrTXQuUZO//fabP0SvIiACIlCxBEjn88477xh97WziZ9YwEwdJ15sHHXSQ3XnnnTZz5sxsRWi7CIiACFQMgdGjR9vPP/+cdU1ubEo/syab3mRmInpTIgIikEwCFeOwYZpgx44dLVsece+USZ9ZE79tSyyxhJHzkTQVEhEQARGodALozR49erhUkpna6jvPmfSmNwxXXHFFW3XVVY2yJCIgAiJQ6QR8KrPll18+Y1PjepMDvP3Je683SSHZrVs36U2gSERABCqeAHqT1OOdO3fO2Fb0Jg4a76TJpDc333xza926tfRmRoLaKAIiUGkESB+58cYbW4sWLWo0zTtrMs2siR/MrG6Cgz744IP4Zr0XARFICIHErGHz3HPP2SOPPGI//PBDRrREPDZr1szefvvtGvu90eeNQA5gG39x45DtpLjgWgxCSkSgUgmQ/5m1R7I5OCu13Y2tXcyeeeaZZ1x0Tqa2f/fdd9a1a9fqVGfxY/ygYyF6kzSUH330kfXs2TNehN6LQNEEmjZtaqQo3WGHHUyLZBaNTyeUgMD9999vzz77rI0bNy5jad98842tueaaGSMWs+lNOtbM6I7r0y222MLGjh3rFoTNeCFtbFQEyC+/xx57uMGZRtVwNbYiCKA3Ce7JNmuQdWbRedddd12N9npnDTrSC330THoT+wBZaqml/KF6FYGiCCy++OJuHbnNNtusqPN0sAiUmgAzXxh3nDBhQsai0ZuseUhatLjEnTWF6E3GfRZeeGEjOF0iAiJQPAGCRZjYwfexvteDal58dev/jFNPPdXuuOMO22+//ewvf/lLxgqg7H755Zca+zI5a/xB6c4atrdr186WXXbZrNfx5+pVBJJKYN68efbee+/ZTjvtZCeccILWbUrqjcxTb9L1oBf33ntv9wOT6XAWv27SpEmNXZkGHf1BmfRmhw4dnJObZ0oiAnUhUFVV5WYhrLfeem5gh999iQjUB4G5c+fa/vvv71Lj/vWvf61e9Dr92g899JCh89Ill95Md9ZwLrPCF1pooZzrh6VfQ58rl8BXX33l0pOyNtytt95auQ1VyyqKwKRJk9xz+9lnnzmH46BBgzK276677nJ97PSdmZw1/phMerNTp07WvXt323TTTf1hehWBoggQrHbMMce47AK33XabNW+eiOGwotqog8ubgE9zxtjlbrvtlnUA+Pbbb7f27dunNCabs8YflElvYrPi7B4wYIA/TK8iIAJFEJg8ebI9+eSTdvHFFxv2DDPf6kvK/hfqxhtvdBE7pNvBkZJLbrrpppTd2Zw12bZzMh7uddZZxwYPHpxSlj6IQCURYBCUgXyi2Im6YHBKUjkE0HGffPKJvfnmm0YkWTbhxwenTVyyDTrm0psTJ050qS6kN+Mk9b62BFjf45///KfLdc8sGx9RW9vydJ4IFELgzDPPdDNe3n333YwDi74M1v5Kn81dG73JQOeOO+4oe9OD1asdd9xxzi4777zzFEyj5yERBM466yy3psyHH36Ys75EiqfPvsnmrMllb06bNs1IjbbPPvvkvJ52ikAuAieffLLTtQShXXrppbkO1T4RKDmBs88+2wXtPPbYYznLxh79448/Uo5hzRrSoMVn1nBAPr1JajT+JCIgArUjcOSRR9r555/vgvsYZ2OiR31I2a9hA5Rzzz03r7NmlVVWcQOUs2fPdtzwPiPx9BN8zqXM2E9an169evFWIgIVTYAc+qeffrpdc801Fd3Oxta46dOn29///nc3fTqXswYuK6+8srEQrJdM6SfYl09vUgZlSUSgVAT23XdfN+04X2emVNdTOY2bAFGOpOpBd+YzwNF12Ipe0I+ZIhqlNz0hvRZKgJQlPDdXXHGF4dCTiEA5ExgzZowxQ4HnNZ/QT487dbzeLGbQkRm4DJJQlkQE6kKA9DY4am644QYjrb5EBOqLwOjRo40UkoWMv2TSm4xtFqM3Se/7/fffq59eXzdY16loAjhbmeV777331ls7y9phgyE4ZcoUl7opH5G+ffvaIossYg888EDWQwvpPGNMZpvOnbVg7RCBhBLYZptt7L///a9NnTo1oS1QtdMJMJDI1OdCcjOTegUdyxTPbJJPb7766qtGegHKkohAKQmwxtZbb71VyiJVlghkJIDe7Natm5thnfGA2EZ0HevYMPM7m+TTm48//rjNmDFDejMbwEa8fcMNN7RFF100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YE0ovVMf9mAovcPTE8qZQtnc05B6WXoTypLGSIBnn75uKL0pezD7U8VvSWi9FrIfze8tz0+oZyc7Oe0RAREoZwKltAdTHDZ+ACNE41HIIcsPUWeVKQIiYMGcEZ5tSGcK1witd0KWj94MzcffB72KQGMiEHLQDo6hyw+tF0LqNfiELF96E8KSxkgg9KBR0vVakvVmaL3GsxP6+WmM30m1ufwJ8NyH1G0hy4ZukvUa9U+yPSidyR2UiIAIpBMopV6rvxw76a3QZxEQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAUdADhs9CCIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiLQwATksGngG6DLi4AIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAcNnoGREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERKCBCchh08A3QJcXAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQATls9AyIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQAMTaN7A1y/7y3/99df21FNP2fjx44PUtV27drbhhhta3759g5SvQkVABERABERABERABERABERABERABERABERABBovgVdffdVGjRplU6dODQJhscUWs80339xWXHHFIOWrUBFoTATksMlxty+66CLjb7311rMll1wyx5G134WivPjii22XXXaxK6+80jp16lT7wnSmCIiACJQBgVmzZtkrr7xif/zxR8lq06RJE+vWrZv169evZGWqIBEQAREoFwLTp0+31157zSZOnFiyKqE3l1lmGevTp0/JylRBIiACIlAuBOhHM/g4efLkklUJvbnccsvZWmutVbIyVZAIiIAINDSBKVOm2HHHHWf33Xefbbzxxta+ffsgVcKWPemkk+z000+3M888M8g1VKgINBYCcthkudM4T0aOHGlPP/20bbDBBlmOKs1mZu8ccsghdtRRR9k///nPWhU6duxY+/77723ZZZe1zp0716oMnSQCIiACdSVw00032Zlnn2XNWrew1guV1hCc+OOv1mOZpe3qy660zTbbrOCq0qH//fffU47HOV5fDvKqqiq76qqrnH7ec889U+qR/uFf//qX/fTTT86gbtmyZfpufRYBEahAAtddd52dccYZttii7a1Dh1YlbeE33/5mq6++il1++TU2cODAWpc9d+5cGzNmjPGKEyi9o8+A6YQJE4yZ44suumitr1PsidjQOLsWXnjhiF2HYk/X8SIgAgklcPXVVzu9uVDXztaibWn15vgvf7Q+A9a1a6+4xnr37l0wIWzNXFHriy++uLVu3brg8tIPnDlzptHnb9q0qQtiSt9fqs8M7BJ0RV2pczYp9Lhs52u7CIhA/RE48sgj3ff6s88+syWWWCLohXHaHHDAAU6HnHjiiQVda86cOfbdd9/Zzz//7PQbeg57EruyIaSY/nsp66exgFLSTH5ZcthkuIcYW2eddZbdf//9wZ01XB4HC1/MlVde2Z588knbeuutM9Qq86YXXnjBzdCJD0YyG+i8885TmrXMyLRVBEQgEIFhw4bZGWedaX2H7mPL71t6R/e8OXPt/Qsfsh122MGeeeYZW3/99QtqyYsvvuh0evrBPXr0sI022siOPfZY1/lN31+bz1999ZWNGzfOllpqKVt66aVdEe+//77de++91qplK9t1112tRYsW9ttvv9nnn3/uBhhXX311dxyG4dChQ2327NluKvnaa69dmyroHBEQgQQRuPzyy+2aay63O27d0vbcbaWS13zatFl21vmvOyf366+/XnTUOB3nK664wt5+++3qKHY60dtuu60LNPJBQg8++GDUjmtsu+22swsuuKDk7chW4Pnnn+8i7Inm/Otf/5rtMG0XARGoIAIXXnih3TDyFtv4nqOtx/alt5VmTphq7557v22x1ZY26vU33IybQvDhfH/kkUeyHnr99dfXyXH+xRdf2N577+1sx5dffjnrdeq6g3TwZBkhZfvNN9+ctbhCj8tagHaIgAjUC4E33njD9Z3/+9//1kvAIhmK0Ic77bSTc9wsssgiedtJAA795Lhgby6//PLOcb777rtbz54947tL9r7Q/nvJLhgVpLGAUtKs3LLksMlwb1FoDLRts802GfaG2YTnmOuRRqhQh80TTzzhIouoEQZV165djYHBb7/91g4//HC74YYb5LQJc7tUqgiIQBoBIvFOOeUUW/+2Q6znHgPS9pbmY5NmTa33Obva7Gkz7Yxzz7KXnnuxqILRs+uss447h1ksrFF2xx13uDXKLrnkkqLKynYwzveHH37Y9t9/fzv66KPdYVwTp1D37t2ds4aNo0ePdtPEcdb4mZWtWrUy6vHLL78UPaiarT7aLgIiUL4EiCQ855xz7LH7d7Lttg7TCW3btoVd+feN7M/JVZEj5Rx74IHsg4nppAgGOvTQQ+2HH35wTm30FXrqgw8+sMcee8w+/vhjp7/SZ9ukl6PPIiACIlAqAkSHk058q2dOsyXWL72Tm3q2XLid9R862F75Y5qdf9GFdvtt/yiq+vTJGWRMF2YCSkRABESgvgk8/vjjboyxvrJL0L4tttjCOVhwLuO4KUbIGoS+JGiIAEf+nn32WRsxYoSb5V1MWYUcW2j/vZCyCj1GYwGFkmrcx8lhk+H+T5o0qUaqhwyHlXwTSunPP/8suFwfwXPwwQc7B40/kSjD5557znWmceTEhamGpE5j4LB589TbT950IrxJKdG2bdvq0/B2kwIDzziR4b/++qvNmzevOvUahjPpMdq0aVN9Dh5j1rHo0qVL9bb0N0yjpqz4IGb6MfosAiKQDALM9uvcs2swZ02cQq8jt7D7VzrBGXF0igsV9BER4F5wkONUIUIQJze6yAvpfXDqoPfS00Fk04GkwWB2DcIrfwsttJAb6Nxqq62qZ/Gg59OPQ+eie9dYY40ofdHqTucSVRQX9Gpc9/p9zMhhYLVZs2bGQo8cw0Aw093jetkfzyv6mWNgkj7V3P8WYNSTDoMgAAZkKVsiAiJQOgJ0PtdZu3swZ028pkcO6W29B9zh0vWkf+fjx8XfH3HEEc5Zw3oOw4cPd/qQ/ehGUvl+8803bvvxxx8fP829Ry9hbxIAhW7ygp7E/kO3xAcO0IszZsxwuob6eT3UsWNHp8c4h22sZZZPvE7kOHQwTiYv6F7289vBWhVefL3QmVwTfcs1sW8lIiAC5UMAvdlj0GrBnDXxlq5w8CB7cLsrinbYbLjhhi6IKV5W/L3Xb14/oW/ol/PZy7Rp04wxiVzr6GLL4VDP15fOpvf8tXjlGOxOP2syvi/+vtDjvC2KPk2Prvftl50ZJ6v3IhCOALok/XsY7moLSqZvy7WLlX/84x/VNiJjkcyqxPEzZMgQ+/e//10j9W6ufq2/NulzsV+x6+LjoOhf9BrCK3+Z+u/etiymv51tPKHUYwHU3Y9P0F+njqTPJL16Q9x36iMpDYHUEfvSlKlS6okA06KR9AHLs88+2w488EDXGfZVIa/4ueee61JaYADSIWURWrb5XOOkgWPhxvS0EnvttZcbDLztttvcdMQdd9zRdaqZ5shCYigcv4/IcqLF6cQjOKFY3Gz77bf3VXGRmawR9Mknn7hBSRTJ4MGDDccTDiGJCNSFwPfTzV6NliuZMLOwUlpFY+K9OpoNzD9Tt7ACG+lRGAltl1jQ0QyJoV33+esjYMCl679irsv6ZAz+/fjjj/bee++5Di/OCdL5vPvuu9VFrbbaam6bH7jLpgOZYUSdEGZA8ke6I5wi8RQWl156qUt/yXFww5mzxx572Kmnnmq+7HvuucdWXHFFDrGHHnrI6VXqhjAASnl/+ctf3Gec5nzGsUTdTzvtNJejGGOUqeWU64WZUOh90hthuDJgyXpA1D39t4A1NUhzxPR5HFroaEl5EJgzz+z56FH7eqoZ7/NJdJuta5Q2v38U3Ltk7dPn57uM9hdJgO9/1yUXBMgUeXpRhy/dI/qhiwQdVYjDBmcLugUbDUd3vMNHykfWXST9LnnK0x02t99+u0ujg47B3sQO3G233dz1STdMeSx4y9peXphdyLqRXtd4mxQ9RBQiQQEEDzF4ee2119oKK6zgT0155Rj0GcfjAPfpfB544AE3oxJHNYK+I686+hfx9SIKlI4uum/dddetPt8dpH9lT+Cl38w+mxIFJcwtrKqdI19e/8j+67Eg5qywE3VUgxFAb7bqWj/2Zvsei9mc2XNcXzfuYK5r471+YxCS2YroOJwl2GPoQuw00qQTaMksbfrm6TqPPjv2Hc5m9CyZOljkOx7sk0/v0Y5PP/3UGDsgJRDCWmf9+/d37+P/Cj0OHYztS+pibE5klVVWcamJeUV8+2VnOhxl+2/GHLMXI5367TSzuQXamt0iG3Ng1E1bTMtwlu19TVrFcCJfdtllrq/75ZdfGtmQSL+LFNKvxQGDjnvrrbdcUCNBkuhVbECc3aTTLaT/Xkx/O994QqnHAmDhxxCYhcTvCKwQUqxjNxdi+7sT9K+sCDQvq9qoMkUR4Mv3/PPPu9ziRFdvvvnmxpoMeLJZD8cLhhxRkgy6MeDIrBsUFoYe22+99dZazSgib7iPCCf6mo4223C6UBeUAgOWKEg6/FtuuaVLQUREO3Ui9RseYAy6W265xXXEWQxNIgK1JXDTt2b/mD8WU3QRG0aTB45dzmwpDWYWzS7JJ+DARtBXLOaKDiL6Bj2JMcdgJOl/0FuPPvpoSlPTdSAOlBtvvLH6mH322cc5Vyg3Lqy9Q+fcd2Q5bs0114wfUv0eHYoTBr1KR56O+EsvveTSgRA1HneGEw1OeiXKwlDEcY7jh98DBiFpK+3jt4D2MZg5atQoN8Wc6CIMvHjEORH1RCyRh7gujrHqxuhNSQi8EY1/nP9Z1ElJfawKLvvE5c12W6rgw3VgIyXw0UcfuZYzuybTrBYcHd7ZEUeEs5vONA7xd955xwX80HHE8e0H6+LH53tPlCWzcVhv7PXXXncRg+hjBjMzCZ1gnDXYu3RQOZdjWY+BAdc999zT6TW24dwmijI+OInOJxoU/d+rV69Ml9C2MiSAk+a8MWZfRU7s2sghy5gduHRtztQ5IlCTAJHYzBiMC/ZVfLYf+0hfjvPY983pEzNjhshoZulgK9Jnv/POO50Tx5dH2fSv0VME57z6yqtRussHXH+eFLxIIXqPgcxjjjnGzShk4JLyCOgZMyb6MsWk0OM4BX2PA5yURtieOMkZryC9Jo5wHxzEsbIzoVCe8kIUFHRhZGtOjZw2xUqT6ITTVzLbYcliz9TxIpCZALpzwIABzgmBfYrDptB+LQ5vzmHslGAhlpBAJ5FZ6KabbnIBkIX0333N8vW3CxlPCDUWQB1xiNNvR59jh2OXo5cJEJAkj4AcNsm7Z9U1pqOJ8YfCYbFv/ojkxlnCjBUfDUnkDgN0RGXffffdzlhEkeBNxlNM9DYDhsVKv379nIPGD/CRHoPpz9TL56lk4JAITGbe4LDBMKUjfMIJJzgvOddkkPMvu/7FiMik3jiBJCJQLIHbv6+9s4ZrvRxFEM2MIjKHzl//vdjL6/iEEcBpjM7xTpPevXs7R/J+++3n0uCgi9BtLHC4ySabuA40jhwiy72k60CiH1l/Jn0NG2YTxoUoSHQlMxRJf5YenR4/lijFdL1KHmLOJdrIRxhxDoYred0Z2ESIgMcxT+cbnYzDid+CQYMG2dVXX+2OYdYMs3OYYcSxDLJ6YXCTwVKtT+GJNPwrUY7Hzh9Hr3VlrogCrhaOIh8361zrInRiIyDA+jTISitFoy5FCLOuGTgkJSPR4eg7IuLRQ7Vx2DC4xyxuBiWpE/Yqg5nMjEx3JOF0vvfee10wEIt7+4h4dCWCDerrQEcWe5XZ4nGHDTYqucwzrT9RBAYdWo8EZkS220nR4zquqvYXHf6tWfuoV7zHgp/42hemMxs9ARwW/MUFfUWfPC4EWqKXsDcZTEN3MtOF1Ob0h3E+02fmldkoXgimOeigg1xfnm3eLiRVEIE56MtC9B5BQQTs+DECHNzYkji2vX1M+YUeR0Q37WYmJDa279P7tpGFgxmXXmRnehLl9frJZLPTPq19nZiMc1Hk7GGWjTJY1J6jzkwl4O1Rb58W0q/FGe774fSdcSTT72VMFH3HTHDGMAvpv/va5OtvM8aQbzyh1GMBfjyWOm666abVYwsjR460oUOHOhvc11+vySIgh02y7ldKbenEMpiHcUQUNZHSdGAxhnDCMHOGlDpeqTGw5yN7mPFCZDZpKfz+lMIL+LDzzjtXR2NzXfLREgUej/hmah4LjnklQocdoUMcN2SrZs7vZbEIeLZI8wKqpEMaKYHfo0jzG76pe+NHRZHrT0cpTLdcou5lqYRUApPe/t4mvRN51dKkY58e1nGdHmlbw3xEVzJLBSFNJGkb0E0nn3xytYMbBzIDjm+++aZz0vjUjZxD5zXusInrQPaXWrxeRV/vsMMO1cVj5BEtToQPM2m8tGrZKsXhguMGJwypjRCv69P1LzM0ERZ0jDts0N1y1jg0ZfPvzh9KUxVmIsphUxqWlVqKT1HLwGAxwkwanDUIqcWIIiSq2uuhYsriWKLMGXxEKJuZ2QwwUl7cYUMEOovTIjhr/KxAr0fZjj73HXc66chXX37lfgvch+gfNqicNZ5GMl4fH1s3Z41v5Y2RHbl75LAhOlxSeQSmff6rte6+sDVtEz79Nn30uL0IzUxrw+As9n3ktdZayzlsVl111WpHB2kZEdZBwHbzwjk+OJJt2IU4RZh5g62L7Ua/HMml9wjiQTifwUuEdEEEWTKO4KXQ47ydiVOdzBte4nam38ar7Mw4jfJ5/68S2ZoEU8phUz73Nek1YUYM4nWV1zf5+rXMrGEMktmEjFMSLEl/39uWxXLJ199mSYhixhNyXd/bsPnGAnBEeSHQ1AtBmjhsmCVJwD7lSJJFQA6bZN2vjLWlY+mjbpgxQ4T1hx9+6Ka+ER2NEwRh9k1c/CKGfr2Z+L5C3scH8vw1WEOBDroXDEoMPwRvNAOhCCnQMgkR7HLYZCKjbbkIfLSgD5PrsIL2vRs9onLYFISqqIN+vPkVd3zHdZauPu/Hm16xXrf8rfpzfbzxub1J84PBxmCgn5FCNDgdXiIgeY8wIMjAZaZBy7gODFH3uF719eY66FUGRHHWcIzX5S1btUzJXe5z1TJDB/HlMTU6vkaP2xn9Q//GxZ8f36b3DUtg1ITSXP/LKG3Q+MjR3Vl2e2mABijlzXd+t30PHlWrkse8u22tzoufhH5EsCszCXrF68V4B9DbfP6c9M9+e6Gv6ef7z16v+XK8s4bPpBTya4B5vcd2HN3pQsAQDiAv0nueRHJe354/Ll3nCk+PfvY/jGzANTvVuSgVUIYEfrzxZVtir3WsU99lgteObBespZVPvGOc47zjJj6IGLf94mUxc8XrQn8udiHpxxjgi+vkXHqPYxHvZHcfMnwu9Lh8+lZ2pidc3q+vz4/jqnMl34/0aVU0A5L1YiXJIzA56i/+Eo3ZeT3ULnIqI10aaE1TAgsRgncQr2/y9WtJEUbqM5zIzGhE6DsfcMAB1esruo0F/svX3y52PCHXZX0bGWP194Hj08cC4g6b+G9D3KZNt5tzXVf7yoeAHDZ1uBdvvfO+O3vdPmsZ73mNi98WPy6+vy7v6ZgyxY0ZM6TT8UYeUwVZsJU8sV6pMTBJZEy8M8u1/eeePXu6qnhHi3eqsJHOOFHc+cSXgfeWvL3e2OQ9HWHKJrIIg5BjmBG0zDLL1CjWn1djhzY0GAF+dGbMqIoWY/vNOnbsEM1EWLjB6pLtwtPmj61n2+22//7wMKv6+kPrevzwnMdNnZ1zd73vhD/fn3HjxtuMKCK461JdnTOhdetW9V6Xul4QZ023IetXF4PDxs+6qY9ZNji377vvvurrp79h1h/pzEhRQaocBiwxdIhOievF9PNCfUZ3I+hMZgN5Qw2Di+hFhGOYel2IoKf5LSCXL5E/6eLLT99e7p//+H2CTYqiTxfvvJi1ir4X/res3Otdm/rNyKPr5s2qsh8u2MMW2/MUa9trQM5LMDhZqeKjyMb+Ms6qooiybt2WiuyZmdVReUlod98+i9o/b+nfYFX1DhuCetAbPpWYrxCzZnBwk0oHvVmoeD2TrlOZ9VgX4Xu/1157uXRmrC9GlDodcm+fMsD57LPPVtvL8WvFB03j28v1PTYZ9jKDn61btbYlllw8xfYu13qHqlchNuBPVxxo7dba2BbabO+c1SikrJwFJHin15s///xL9DzNiRZjXsrl+PfRzAluWsVVnYhyZt34lGPYiKT0QdDJbdq0ce/z6T3sXfR7uiPFjxG4QqJ/hR7n9S3rRPz973/3pyf2lRlLOL9++OEn99qlyxKNIkodJ0sumTPpd0OnLnHQJdaqxyq5DjV0aiU7bJj1wXjcjz/+7FJYozf5jU5iP50biZNmSrTuCa+To9dO0Sy/Hocd5u7x99E6rX9Ga2r9HDlxukZOm/Z9+liHaPZKfQiz9FjDFfH2aaH9WvQXAe2MmbIuLctJsMYXOirEOq2lHE8odCygPu6BrtEwBOTvrgP362/+h3PU7HfIMa4UHDP8+c/sv2H4SPPH1eFSNU7F+UE+WfJsk+/WC4O7KCDEd669UnvkkUfcLBf2YYD4DjYLTyPegUKHFiMQoUPupx+6DVn+EYXO9D8cNPFUZ+Sv3Xrrrd1aN5zq6/LUU085wwcjiM77lVdeaTfffHP1dbNcRpvrmQAdtrPOush6r7W+bbH5Tta/36Z2wP6HR52CcdHgV5l5NvKwadKshc2ZMjHPUeW1m4H49979MEqHtadtsP6W0fpUO9mqvfraTTeOKK+K1qE2OG0+PfhOG9X7Evvx5lfrUFLdT2XGCoKDhjQVOGu++OKLopw1Pu1kvsHHQo4jnQZrkeE4jzua0N3o8I4dO7qOuat0Af+8/sVQRe+if/kjjy9roJFGIykCk59/Hmv77XdYdK82dfpprUhPnXP2xdWzo5LSllLWs0mLVjbl/RetSYv5qU1KWXZSypoyZaqNeuMt22rLXaIZdFvb5pvtaGusPiBaj+nOpDShup44bWrzV11AHd7g7Bg4cKD7PrGINaknfHQe0Yys/YJsu21xs3l8FCCLvvrIwU8//dQ+eP+DOtQ2WtspqiNrIzBLm8FMZp4ziIl9utBCCzn7ksVXvd5jXR0WYUX/+aCnOlWgHk++JepbrLZqv+jZ3ilKY7mVbbft7lG6j/eiAKvCnPf1WNWyudSsX3+wpq3mD2KXTaXKqCI4a55//iXbeNB2NmijbW2zTXewtXtvaHfftaCPWUbVLbgq2JWk5EXmzzWef2p8+/wtyfvPejVesBG9w41BzEL13sorr+yKYC0I3/fHmf6f//zHF+1eCz3O25nod+xgr29J205fnzS9SZLbb7/L1lxjoLMjNorsCfrCr7022qZMbty61tma7z4f2ZrJCx4s5fPHuNdjjz1l6w3cwjbZeDvbdJPtrV/fTaKlCR5LSbVaymuGLOvzyDHzeRT03TzKLLFmFBi+/kcfuct9FM1E4e+dN96w92fOshv+mGhvR84bjmUGTkghQ89bkZPoiCOOcMGK6KIBA+YHpHl9k6tfy+xAlpBgpiG2IOu78J6xVGxEHNZIIf3yQttZ6HhCIdcs9VhAoW3QceVDQDNs6nAvjhiyv3PQUASza3DU9F2nt/vDccN7tr8ZdaJKLUQD7rHHHm4hVpQOubuZvULnd/z48W4wbrfddnOXZe0DnDt4lHfddVdjoVU620TPoOhYhwFB+bH+DdGUTOWmPIw/8vD63LPuwCz/WMiLyO0rrrii2iDDQKMjvMsuu7izULbkkCRVG2k2SFnBEra4JwAAQABJREFUMWPGjHF1YZFsSfkQOPyw4+z//i/VuH711VG2x+772ZNPPRClipIKKcXd+j2aITBq1NvR92E5W2GFntVF/vDDz9GCogdWf/Zvbrjh1sj5Ot1OPuWY6tlsfl/SXkmJ5mfX4Lj59O3v6j1NmmeGPmTwjjXAiF7GqYGjm1y1fp0tf2y2V/LGMoOQzi4Ri9lSYqBviYDEkGTxQ/622mqrGsWefvrpbo0djM2XX37ZzR55IzKYqRv7ihloJG8vC9Oi/7keCzGSPoNycU4xNTwpUlU1M9JDg93Ms3id7733oWhW5+92083XxDfrfQUSyKY3x4z5PFqMOdWWwMF39VXXO5vm0EMPjDpmycgFN+zmL2p1544cskKtzks/CXtuyJAh9lHUad9nn31cYA4DcMz6Q1hfoVi9gZ4lnSSzt5npR7AQkeHL9lzW2YLpdSj0MzqRP6Iod999d6fnRowYYQdHUaDMmOTvxBNPNCK/cYQT3IRtu//++xd6iQY/zj3HV99gt95ye0pdPv/8S9t3nyFRkNW/bLXVe6Xs0wcRiBP44ouvowwMX6XYmww6Ytsfc3RqCi+Chi6++ErntP3b3rsnaoYibZ7vlPkuZWZ3nAU2Z9wGje+r63tsLfq36YJNSEBQXYWUN379WsYEcEYj6Ds/y7gQvcc6OARaYq8yHsA6Ojhb0PNxKfQ4osH33HNPZ0vvu+++NigKgGIsgXEIXn0K4njZ5fieYNVbht9u1157U0r1vv32exsSjffc8a/h0e/f2u43J+UAfahIAl5v9u+/TjQuNj/TCP2QJx5/2k4/7byUNk+YMNEFjzWJVkPbaeftEjPT5qe33rZPR785vy3/SxvGbBqEWTb8RfnEbOycubZTx/bWNeon/xAF9r5+7TA7KtI7pRYcKzhY/JqzlI9+uTFyFPk0X4X0a9Fl2HuUwzgp46AEIDFeSjleHxfafy+knYWOJzTEWEAh9dcx5UWgaXlVJ1m1wSmTngaNFrCNff79yOFD3Xu/zX0owT+cG+ecc47r7LL46ujRo10kODNrUGYsGIgwlf3aa691n4nKZiARI5yF/oiQ9NOm+/Xr5wYGcdDQKSR6++qrr3avhVQXRXfBBRcYadkYUHzttdfcujmXXnqp6yBTBh1zckcyUMig4cjIe//N19+4WTg+WrOQa+mY8AReeum1Gs4af9WxY8dFhuxIN+XXb9Nr3QnQicYoRJgtd11aRyF+hZEj74yMjd/jm8r+vZ9N4xwzUUc5XboN2aA6EjJ9X318xmFCSh305G233eZmMB5yyCHWpWvq+l+56sIAJmV06tTJRQThKM8kGIkMHhIJyYKwOE0yCQYraYe8cxu9usIKK9h5551XreMznZdpGx18ZtLw20B0+R133OGc68yyRBdjGCdBuD/DI/1DmsBM8sILL0fteiPTLm2rQAJxvUnzhl5zY9ZWXj/sloJmDWctoB53sIZNbf9KVU3sQ3TG4MGD3axtIq9x1pBL++ijj7brr7++enCw0GuiG1kAFXuQGTv81hHwQwe3FNK1a9fqdR3JWY4Oxt7FPuWazPBmdjqDh6QQJpAoKTJx4qQazpp43Rlc9LOg4tv1XgTSCcT1JgEqufTmlVcOS1xwkHfWZFsnkfS83Q7dwM3w9jNw0hnV5TOzVYiyTv8jWrwUgtP7sssuc0E/RJ+T5WK//faLghUOqi6+EL2H3Yc+7t27t02cONFefPFFN6AZL4cCCz2OY08++WTnCGeg9N5773UZPYhmZ4YNszaTIGSRSHfWxOvN94UAAUnjIkBwpe+nE/iT8xkZemNinDXcxaXWXcelN/shevY/qZplr117nUt/Vu2s+d+tbtvEbMKcefb69CgFc3Rsr359gzwE2IYE1WBv0m/F2c0a2PG+aiH9Wo4hiw8ZfwhSHD58uL355pvOOY0t6J0/hfbfC2lsoeMJDTEWUEj9dUx5EWgSGRTVM4T/+OMPNzgfYh0RppzR0cMJ4CM/8qEgoo8fdoyeQs/JV2Yh+5lijKMCAyib4Hwh1RmzaJhBw2wbhO2HH7KfrdpnI/vknZfcZ7ZxDMeyL5uceuqprq10gIsVOp4MwHXp0iUnKzpydLaZPZMrMhuDEgVXW+GeoWjjSjW9LCK6qAt1ltGTTqd+PvPDhYOPBXrj92p6tFbKsOuGRz+Mt2etSJ/oeb7zzlujzsg3hu6orfCccP9zPY/5yh49O8r1X7VsymHjRkTpUKqmVm+r+vZTm/Xbj9Z+nS2qt/Gmy+GpkfhrN/vdDmz9TcoxuT7wHNdVZ0Zfy+j7uyB/f9euS0adp9VtrTXXczNpsl3/iisvitKlbZ2ym3QDRBf7COiUnQE/4Igd9uA/bKPnTsp4lWwdYj+7hpM4BmdO//dOy1hGfOPtbfdzjmHS35RacFh7PUnkYm2E3zw6v0Ry5xO+P3z/8ulB9Co6nN/RUgizLBdbbLEakZSlKLsUZRA9SoS8T/Ppy4TBXnseEDn9MzvDOG7IoQfYvvvu4Yxzf178lfuD5GMeP6eY9+g1dFqpyz9p2lo2bd6CmY1V335ifzyRmo5gwpO3WceBO1izTotVV7n1smvYwlsfUP2ZN+e0/dgWbzIjZZv/gF7D7qqLXvZlZXoNoTdXj2YWdOvWxVZeaZ1Ml6zedts/brD110+NcCaQhUEmZv7WpzAb5MN377NH7ts2+GUnTKyyRZa63kg/huOiNkKqMZ4Jv25CbcqIn1NXWzNeVqHvCVjij0GAcpXu3bu7mejMBorLM0+/YEceeWJ8U8p7bJFP//umix7FsV1qKVe9ed305W3M3AUBB/OqptnYEaenNH/yG/+x1sv0shZdelZvb77Q4tb5r6nHHdH6C+vV7M/qY4p5Uwq9lut6pSg/+mmKZqEusDfXWmu1yP7oGKU+3iDXpe2x/9wbBeQtn3IM2R3osxIwWJ9y9tln2yM/j7KBty5wTsSvn81Z89mx99uSf13HOvVdpvpwjiWYKNtMmynfjrcHep3kZgHibC5HIVIcWy7X73Uheo9Zj9gs+fr/hR4HKwZcsaNLZbeWmn+vXr2M52mbbbZxAazeZhs16i03azHX9T75dLQbe/FrB2U7NpQ96K9Xin60L8u/Hjm1T5RCsIn/aNM+ed3+fOne6s/zZs+yic/80zpttJs1bbegT9J2lf7WaeM9q4/jzaXtPrD2NitlW/xDKfRavLz4e/oL/G7VdRwxXW+uvfYaUd+/mUuFFr9e+vsX/+9xW2qp1KA/dCYz8J5++un0w4N+JsiGFFxkbMgkzLB5K5pR3alpE/tz7jznjOG47lE2FbYhP8yaE+2bG31uGm1vZh2jV2bZ7PTu/Bl+7qC0f8wiOSxKtcaMu9BSSL+W7yv6Mlv/vpj+e772FDOe0FBjAfnaoP01CfCbwVrCTJDIJtxPbIa66h7KX9Drjz6UqtBMFecHsBhnTaYyymkbs2j8zJm4E8bPuMFZg/CZv/gxIdpBFAv5avMJxhx5yfNJPmMt3/mFdObpWJKXUVKeBJpE39lc0jR6lsgITVRXXQRjCsnV0chXfrup7cyqUo9q0rJ1ipLkc5Nmza1Z2wWGZeoZ8z/xA17IILs/lx92b+D7bcW+MnYcd9g4tFEhTZrkuQd57lGx9Qh5fNwxk34dHDWT3on+onRoCB1opGOfHtXp0tyGevrHM1CIPs1VHZ6JQp+jQo8rRK/mqlP6PiLRkyr59AX6id+YbGxLoXdysQtVftPpkU6oDrOJZuJN/TOjTmvaul3G7fE6Y/Mt0jxzYEYp9Fr8WunvS1F+ut5MAZN+wdjnpv/reMY26W2BBEo96FZXW7PAaqccRkSjj6hM2ZGAD03yPLv+2ea7HYJtKL3m0de2/DZ/tDFbEJ/jiku39bD/mrRsm1cvtu/QwRZp3cxXqajXUui1bBeEDX91tTfHj68ZYEXqnnyS7zc33/nlvj+XjVrudWf2Sj4pRO8xa6cQKfQ4yiJrR7kLNj+zSePfrfj7bPXnO4Fdnm+t39rqtWzXTd+O3qEuJf2OTk3VCXOnR8HTsf7zvCiwDWnapn3K9kzrhBGQ1rFp5CnOIonVm76znqVdbC7pPclxnVLtYsbMJMZsmzW1gW1aOWcM23743wVw1KzWan4g43znzSw3M6dU169rOYX0awkUzyXF9N9zlcO+YsYTsvVX069R6rGA9PL1uTQESulXSXHYlMIDlKuJocvPde2G3tf053et1WOH2Yz9nrF5rcozQqehGen65UMAw3XgwL42PJpFlk0GRPtnRgvP4bCpq9Mm2zUK3T5mXHRkWh908X3OSjn9j8dutqnvPW+L73d+yvb0Dx07dIzSVOV26qSfU9fPrMXgxa9jMzuKWNlwo4H25BPP+l01Xvv27VNjWxI34KwhwpEOM384bnDikK4iyZ3oJN6LJNSZvNEDB/aLcrbPTz2aqc7sLwfdlKluddnW9Jfo7PmTg1wxbVcdaPzF5bcHh9rC2x1qbVboHd9c4z1R/D2icc6kSrre7NFjftDK+usPyJkSb801VktEk0mHVts1bP45PHUGUSIarErmJdAnCgDLJRtttL6LJua73ZikFc6amMOmSau2NWy9aZ+Osk6DdrOOG+yaE02XKKitZ/6JsTnLKOed8Uhx7E0f/b3GGqvahx9+krHqbdu2seWXXzbjvnLcSLqzH6OK+TVqstUxPrsm2zHaXvkEGFRPd9CstlqvnA0fMKCvCwoiiKHUgQw5L1xfO/0I/f+u136dLaMMFfNT7bNp7vQp9vsjw2zRXY+1lrFZi5mqt/TSS9vCtUtWkKm4BtmWrje7dFnC1WOZZXpEmUa+z1inJZdcwsiYkRQhJRrOGD+7BkcNs2tw3EwiQup/Ep9l45w3H2bPduDP0asINDYCpfR7pDhsGhvIura3xTu3Vhcxp8vaNrfr2tWf/RscNS3euSXa18dmr3OwnDUejF7LngADnltttVmU7/25GnVddtmlo4Ut90vMws01GlCmG7yzhuox1frYYw7P6rAh5dNCC1WO8xfHTDzXOB1tiQhkItC6dSs7+JD97NFHn4hSnqX1KqMTttlmC+sXLQwqaRwE4ovA0uLjjj8iq8Pm+BOOtGbRzKskSN8+i9qRQ5JQU9WxvggQJX/EkYfY9cOGZ7zksccdXmPgMeOB2tjoCcT1JimV0I37DT4sI5cTTzzarfnEmqhJkYxOm9ikgbizRoFBSbmr9VdPHDgnnXRMlD5qaMaLHh/ZGZLGRWDRRReO1hBdLpo1Nj+zCEGr6M2jjzo5IwhsUWZfkYYsCUJKtI+jtWu8k4ZUZ252TeS4YWYN4tOhpc6ymWsbJ6GBqqMIJJRAMnqtZQp3Vp+DXM1w3OCUafrYu+4zjhscNd6BM6vPwe492yQikCQC1153mV104RV2++3/rq72lltuauedf3q07kXCw2WqW9TwbzD+4p1nX6MlllzcHn7k33bhBZfb29E6WEj7Du3t0GjNrEP+t26WP1avItCYCKB/7r7nH1Hu8Yvt2WdeqG76fvv9zU4/44Tqz3pTuQSy6c2ePZe2u+6+zS65+MrqiPFFFlnYDjv8IBs8eK9EAcFpIxEBT4BFjo855lBr365tlDv7NmNNIWTttde0M844MYrmzZ3qw5ej18ZLYIUVekaDjj1TABAJukY083DEiGHRQvZDo7W8vnD7l4xsUByEu+++c+JS+9AA77RJaWzsQ7Z1a2KH6G0jJTA/MGiwtY5mF9xw/a3RWjzz0zgw8+a0046PZpylfocaKaZG0+xMepN+yCabbGjXXXe5XXXVMPvmm+8cj+7RbO9jjjksWuR+8yglVnKGWplh0+/ww2z0DTc6Rw2OGz/jhoZNmjM3LR3aXJcObdNofRqJCIhAOALJ0SLhGNS5ZOe4+Z/zhsKcs2b7mrNtvAOnzhdUASJQjwROPuVYO+XUY+2PPyZa+/ZtXZ7fpOVk9biadVywCLffVi6vPmInXh/SUPTqtbL9+64RbmCmasZM67z4YhZiMeH4dfVeBMqdANGPiy66SLTg8RXRAuLT3B+D8uTCbszCQrAd+21n82bPbBQYMulNZiH07r2G3f/AHTZx4p/Gop+dOydTb5IWrTYiR09tqCXnnL/tvbsdeNC+Nv7X36xl5MTp1Kl+07gmh9SCmrbsunyj0YsLWl34u/bt21n/KM3TY/+5xyZMmGhzoujqxTovalUzqhLprPEtx2mTSbJtz3SstjVeArvttrPts8+eNn78b249CjIbMCOtlOlukkgXG7PjgB0avU5lDWmcNltutWnk1CO9+TzXN5k5c2ainDX+Gex72KHG35s33mQ/vvWWfRzNusFx44UZOAjOHRw1vEpEQATCEljwDQx7nUZVen05Zk455RRnNAB3ySjnct++fW3DDTcsmvXIkSPdufzonHbaafbvf//bGSX5Cjr99NPdFPn04zbaaCPbfvvt0zdXf546dWqtFnx9+OGH7a3ox+Oiiy6qLiv9zbvvvmuff/657bnnnum7okjbD+3BBx+0X375xVZaaSXbf//9G3ztlRqVLMMNPjpk8chRUK7SroD1YRfZvrDcMu3LVCu6HMn/G5NJUlqKQp8Z1qyJp0Hjc8d1li709KzHEYF88cUX24UXXujyTfsD6XCdeeaZTufdfffd0ZooA2211VLXtvj2229t2LBhUVqEk2yJJebnK/bnT5w40ZU5ePBgW3311f1mvTYAgXZRtDl/86UAZdAAdSzVJdtGzZs0O3tpTZq3sG5n3Jn9gNieQvRm7PBEvfX56ONpI5OmN3HW7HvwqFpxH/PutrU6L37SfffdZ8sss4ytu+668c0Fvx8xYoT997//rXF8t27dbLvttqu2Nxn4Igihbdv53+FcdlyNwhrpBv8sE8AhiWYeF6D2ux57Q0GoytUGLKjydTzI2/sLL7xQdUmtohSklSKxjGjBm/TGG2/Y008/beeee27wa+W6wKhRo+z//u//7KeffnK6fNttt40GlMPP3Lzjjjts3rx5tu+++1ZXD5uafvjxxx9fva3c3zDTBiHow0tjcNa0iXTqtDm+xTVfm3VYpGBbsxD9XPMKydnS4n8ZR+IBRIypJVnijhvawawbnDMrR/Yg+0KJ73dTPnY8Nuimm27qxu2KveZZZ53l+vlPPvlk3vFDX/YPP/xgQ4dmToN44IEH2iqrrOIPTXklWDBux6bszPPhvPPOi4Jze9luu+2W9chs9ji/L+h4xi8WX3zxaLb12jZgwIBajbP6i9OOFi1aOKc07dprr73c71i2tvvzsr3Gy/vyyy+rbX+uISmMQJkOTRZW+cZ+1PPPP29XXnml6+T++uuvdu211xqvf/nLX4pCgyNj2WWXdV/wo48+uiBnDRfgOgx6fv3114Zhds4557jr4jzKJRiL//nPf6LZGu1zHVZjHwpoueWWq7E9vgFnzCef1Fw086OPPjIcTBiJKLTnnnsuipjZxx555JFGHyUT55fU92sv6FvWuQmbdK5zESqgSAId+/SwbodukHIWzhq211VwdGGA0XneYIMF1xg9erR9/33kFIr2M0C4wgor1LgUThn0LHrnsLQp3+gO9m299dY1ztMGEQhFYGA0zvLgz3UvfZUOZosmuz9ZdwhlXgKzZErheKltMz/99NMo9WntHxICiNZYYw13+cMPPzxaC+By14lkBlSPHj3M25tffPGF0bHGcY5ks+PcTv0TgQwE+kZLCjw3PsOOIjd1iHrFq2uyUpHUknP40iduZs0X9sEdYev9r3/9yz744APbeeedbc011wx7sSylP/bYY3brrbc6p8mgQYPspZdeskMOOcQI1OzQITICAgmzC7gGDps99tijeg0PbGpsb0n5E1g/sjWf+bXu9Vw36p+3mL/8Sd0LUwn1TsA7Z/xr6AqgIz777LMo3fXZLmMCY4xHHnmkG+Ms1mGAvjv11FPd+Ga+8UPfrkUWWcTpLD7j6KE+OCyQrl27utdM/7766qsUOzbTMdm24ahZeOH56yJlOyabPQ6fjTfeOJrltYmznZ999tloGYPb7eabb64OgspWZrbtBLMSVMVvBk6zY445xjnOsh2fb3u8vLjtn+887V9AQA6bBSwS+Q5Pqje6unTpYldffXW1wwZD8bXXXnP7MRi9gwRD6oUXXnAzUeIDmKQNwbPtt73yyiv23nvvucFKlIGPfvSguDZCpF+bNm2qozCZQYMDB4cIgsE2fPhwGzJkiDPg/vzzT7vhhhtsiy22sLXWWsulenrxxRdd9E///v2dd5jziAgiqp12UD7eZxxSyOzZs+2pp55ySp1jaB+DANkEpb3jjjs6hcYx3hONIibSiCj8THVgIIFBXbz7CBFKDO4yg+jOO+90rKgHs5toC46hV1991Q0Co+w6dZq/KDxtpnzKwvFU24hVVwn9q0GATvaRUTrhYV/X2FXUhg0iA5WOv6R+CbDga8hFX/m+Ynh53UbrnnziyZwzAT0B9AvOGTq5PqoOnXb//fe7mY3+OL2KQH0Q2Lu72eNjzarm1u1qB9TdF1q3CujsRBBA1z366KPO6Y3tgt2HA5xBt3hw0OOPP24rrrhiiuM77gSn09e7d+9qmwg7EXuT2YnYg3TQeY2X6QH9+OOPzmblHAJ+6PBJRCBOYLsoTuzOH8y+mx7fWvz7IcsUf47OSA6BVkuVMLorR7N/++0318em30uAYtxhc9ttt6WkNaZ/S8YH+pQ77LBDdZ+erBL0ienjo4PpY2LHciyBRi+//LLLHLH88su7wCE/q9RXi/7yNddc4wbvmNWIUB7brrrqKhdkST97qaWWcjMh0etex/sysule6kq/mODHadOm2TbbbGP+GpxLudTXv99yyy3de/1LDoF9o5/ZUjhs9qt7ooTkQFNNS0KA8UY/TtavXz+bPHmyPfPMM252C4Hi2XTf77//7nTSH3/84XSprwxjfPHxQxzZ6DZs0vXXT02ZyViiv/bHH3/snM3+M2OCb7/9do0xQcYW0u1YgsO5BmN/1BnnB7OFkPTxQ8Yi0d+M4zJeiL4fN26cG/ckKDTXMgSwYgzS15HfkL///e9Ox+MoQbLpccZS01ng8CEYlfFKb3N/8803zlan/T///LMbk2VWDzb/Vltt5a7BvzfffNMFxxLoxbgLvwnp5cEhPtacjRG/ITjI6BtwPPeJ+9VYpWljbXgltptpa/5LTef50ksvdV9+vvR77723MxDpfBPJyBdo6aWXdg4UvgzIlClTXDo03j/wwAPOO0uHG4dJMVO64+VQFtckwgfxygpP90ILLeQMPQxa6sDA6BVXXGFM+0NwslBXlBdfelKd8QVGUEIYrigLZtQweyaXYIQ+8cQTKbNv/vrXvzpnDcZmtjrEr0n5OGwoByEalPRsOMJoC/VhWiNKesKECdHixoNdyjjKJzr/u+++c+3gvjz00EOuDP0rHYF9ooHMQ5apfXmbL2522oq1P19nli8BDAocqdOnzx/NqaqqsldefcUK6UTSmaVD7HUPrcRQ4XvOdokI1CeBpVqbDY0y8HVrU7urNo9ywpy5ktmGC7J71K4gndUoCPzjH/8wUhhgn2HvYFsutthiLtqRTiZCENBll11mRCYWKt5OJCWC16PYha1atUopguhBZudg29KRPuCAA1x9Ug7Sh0ZPoFmk1y6PMpquVofZMUcsa7bbUo0epQCUgAD9xM0228w5Mhj8Qkd6IZIaXckfQX7Ykwh9SgYWvTCQRv8dXUm09C233OKc1QyGeV1MdgzSrtFXThfKZoAr7kjhGAIcCcZEfAR6uo5nXy7dS10ZFEQnjx8/3kgVFG8jTiqcOPzxXpI8AitEMbBXR7Zm55a1qzspdy+IsketUz8+0tpVUmclgkB8fDOb7kN3HnTQQc6h0LlzZ7vgggtsZtV8vRsfy0NXsrwC44cEl997770FM4iXw0l+TDCTHcuMm0MPPdQFmOOMOeqoo4xZMkj6+CF6mHFQxgsZr8WJQf3uuusuY6ZmscKMoHfeecedlkuPZ2KBrY9gj+NAQvxvE+3H4c94CPtuvPFGt49jCGK95JJLXAAA7SWwgFRo6eV5259zcjGCCWOqjKcyMeC4446zMWPGcFqjFM2wSfBtx2OL44XoGwwmvlB0ZhHSo/HZT7EbO3as85iydgtfOL5YRIvjucWgShe+FEyvYz9/eKtLIXhWmXXCQCmODupBZ/3kk092xbP+DRGWu+66q/vMcQcffLB7z0CBF764GLsoSdJucBwKPZv06dPHTanky8+gLTOGmAGEUsewzlWHbGWyHUePn2nEDwXTEBngRXB2MaBBJABGM1MKESJKSc2G0SwpLYEDo0ieLSLHy6gJZhMW9I9yXqRV5LbuFXXymbYtqUwCOFTRARgAOG8wNoj+8/oxX6uZrszaXn6mHU7l3XffXR3RfOC0PwiB3pGueqCv2Yu/RYMqU83mzMt/mWi827pGzh7SXHSS5ZcfmI5wBLy9wgd0KJ1OZrlstOFGLpIRe43Z2ESQ12ZdBAb8mG1NGZkc6MzOxt7DZkMYrCQ60afgdRv1TwQiAku3NRsRBWC+HnVXPptiNit7lyCFV+fIR9g/mlndJdKPEhEoBQGcFAQWohNJ44N+8/aj7/sRrcxg3MgodVg+IcgIBwn6j2hj1gZDDzIw5vvx9PPjKckZAIzPcvTXYIYixzKYhlA/v6ZMXMfn070MChL9TnsYAGVsgewVjBeQap0ATISBUyLfa/P74ArQvwYjMDCKwXi0v9kLka357TSzuQXamt0iXbpRFBTEmosSESiWALqE2XuMcxLszFghM1hy6T7fr8deRLBdM61nzfgmY4Gk62XMMdfYYaH1zmTH4rxg/JLsPghjgzg4rrvuOvc5Pn7oNkT/mC3DMd7Jzjgp4w0+Y5E/Lt9r9+7dneMKJ3ouPZ6JBXXgtwp73I9vxq/HeIofs2X8md86OPM7xHl+XIVABX6D6BvEyyMIwQtBCLkYsbawXwON8whuWHnllf3pjepV3faE3+7XX3/dOT5I2YPxtNNOOznnDVP/vNKiiXh1/ewWDCqf2gfjDy9uulAWnlcUJgotk9JLP6c2nzE6MRC9ELnJH1PxEKLYMwmzbpi1g1LHW4tSYmpfLkFh8IfCZ7ohSgCDN18dcpXpPcc4zHAeeWcN5/jBB8pnkUW/tg4/DnjPqTP8JaUl0D2KPOdPUr8EiLaY8nNpHLv5aj75m/mpEeOd03znkKIQPYnDhtlwfC5UmO5MZxnDkUgPvstElCtysFCCOi4EgY2jDjF/kuQSQG8+/lM0ulwP8tXX82fEeLulkEvS6fVCNDepKbC5ttt+O2eD4bAhLSzpD0II0ePoW4JhENIxEGgjEYFsBBhk5E9SuQTQmzNGR5FZ9SCTvv7VWrRqWZ3OMd8lGaTCGUP0MNHNOFtYb5b+pxd0KINeOJ7p8+YTBsl8f5E+JQNtPkCTc0nBRt82bhPDCMdJuhBIyKActiySTcfn071+UJEyyNhBvxwhuIn3PhsF7+lrs2aZJHkEmkbBPpvpJzd5Ny7hNWZJBxy9OLtvuukmN1ZJ3z2b7kPv+jSMNJ2xzVYto2iMNCHoiHVt0FmM0xUzFpBWVM6P6GnW3vHCWCdOHC/Z7HB+N66//nqnz/md8A4Qf14hr8xKwZnCb0YuPV4bFtn0Pr9z6H5mdjIGzbgoKdVyST5G6dcq1eSBXHUq131y2GS4MxhG8WnJGQ4JsgmDK25s5bsITheMPb6U5PbDa4s3ms+klcBA9CnSKAvj7P333682qnz5Pq2F/8xrz549nYGF0YmCZGobTodCpHnz5ilTo1E42QTWDADEhc9szyYoBWazkAbtiCOOcLl8ifLJJSh4nCmwwXGF4cgUcNajyVWHQttCubQTZwwRT3GhfAzrv/3tb/HNzsGTskEfRCDBBDbffHObdOAf9sXtL9sKgzcM2pJPhz5tAwdtUD3VtpCLMRMPYwlnMHlpcbgUKnynd9llF5cqknzjRMygGyQiIAIiUBcC6E3smPsf+tz+snPN4Jm6lJ1+7tAb3ot017Yu/3T6vmyf/SAc+1nnEBuTwT7yZZMql0FC7ErSVIQQ1i6ETzyqzgcchbieyhQBESh/AgTenHDCCfbzcx9b181WC1rhL296sXoR6kIu5AN5CPBBcHSTnoa+Nv1Bn5qcmYp+3QGOS+9vpveNOQahDAb/0m1Y+qFxWXXVVZ2jm2DGuL3KOgPs85JNx9dW9xINj77mtwFhBg9p1uWwcTj0TwQajACD/14v1Wcl0DHorUIFZ4ufRU2wJOOQjPPl0n3otbguI71Y1cyqGpckexBBmIwDEAhEQHu+ZRV8Iek6upjxTcaV8zFgTPLyyy93M4DQv4xdsjZ5sYKTi+B8JJcerwuL9Dqddtpp7lr0C3BGsRREPoFH/HeuEEb5yqzU/akjy5XayiLbxReZxffqc50RnDUYebX19JIrl0UIMYpwzBAxw+wb0obxhRgxYoTLtYiRhpLCEYPQ0cYrnS54s1EcTKcm9Q/e0nh+2vTj45+Z9kzH/v+itEMYpvfcc098t6snUZII091wBHkvLJGanJ9Lqfl1KBiA5bgXXngh7+wauODAYrAB4QeLqE3al6sOOHfeeOMNF9WJoyjbMwFzb5RSPu3ZY4893Ewa1s9h/QycaNwPZtcwDT7uTOMciQgkmQBTd6+47HJ7/bDb7L83PhukKVUTptpbp9xlY4Y/b5ecd2FR12AGHMYJRgXpdXy0YqGFkPaBtIzM0sF5IxEBERCBuhIgggxnxz4HPWO3jvyorsVlPH/suKl26NHP2UOPfhN1gi/IeEy2jdil3j4jzS7pDXBg88egKWl/Bg0aVLQ+jV8P2xUbGLsxXbDzWGwW24k/0ixgk0lEQAQaLwGcIGeffba9Pni4fX3X60FATPn+d3vt4Fts0lvf2TlnnV3QNehjMrhIv/bYY491f2eccYaL5KZ/i5ACDV3Hui9xob/58MMPu37q6NGjjYWeMwkDcaydQPQ5OhEHNunHfP/Wn0P/FscJA59EXBNQiOOIY32qcY7NpuNro3sJhMTWZkaNbz/9XfrI7JOIgAg0HAEy5tCPjaelCl0bMtrgvF1vvfVqdSl0Fdl+GLfMpfv69u3rxuhw1CCZ1qbBeY1zhmNYqgAblroVKrnGBNPtWNrLGjnoXcZCec94Yy5BTxNcjkOe4FBmxxQjBAUws5H0cQQ6Idn0eC4WtMWP0xZ6ferO+DkzOznXZxXi/Gzl1YZRofWptOMUIpzhjhKlQiQ2U8UwMsjLF1L8glBE2/TvHyULraUQvcI0P8rBI810axaMJU8teQgxcPEOk7uRY1EGOEf4MqcLXyK8pBheOGuIZCpmgJN8uHTkYclsmLhgpLKILLN2mHWCQ4i0GrAmcvOqq66KH17jPU4a1rghBQf1R4FTz1zCtESMVqY/UieUNXVkSiR/2eqAl59zGKxlYGWHHXaoXiAy/Xo8M3Dy08FpG+fwx/mklWNQG28yHQ2JCFQaAb7rOCbPOvdse//M+611x2jVyhLKpHF/2Jrrru0G7eKRiYVeAp1BPtiTTjqpxil0quN6BP0VT71D2gr0KJ3iYmZC1riQNoiACIhAjADpa8mBfcpZ59pxp7xi7du1iu2t+9ux4/60DTfoH615+HzKTJVCSiYYCNuFABNsJ9ZH9EKA0cho8NHns/bbi30lGo90Qcw28vm9fRl01s8//3xn72EjYremR5b7Y/UqAiLQeAjQ32Ug6Oyjz7a3j7vTWrQprd7E3hy0+SZ231PPpKS7zkUYZzJ2I/3tuLBWLGsJ0BccNmyYs5NxdHthYI41DXByEBSELoynKvPH8Yoevvjii11/nz49A2WDBw92fej4cehs1o9BXxJASNAl69fQF2b9Bi9k6Mik42uje3H+MAgazzTBe/rR7Iu32V9fryIgAvVDgKBFdBAL27NWCus3hxSCbRhLJSiJ8braCOcxnjZ06FCnO7PpPsZP0bNkwGAsEedUerpJ9CX9eNaEwZ4kAJzyCpVcY4LpdizjIedG46jYyehAxirz2co4dBijYKwCRzxOpXyC857xTH4L+W0gLRys/Ppl2fR4Lhas23vKKae4oP5C7e1DDz3UjYEyPgLb+G9gvDzGSb3UhpE/t7G9NokGjwtYQqxhsJAHj4eXAe6GSIHAtDQMGyIKs+UarCsZHAfMviBlFtPe4gOGdS2b84mM5EvJIGq6MHWwU6dO6ZtTPuOtRQnEja+UA3J8wKuMZDoXzy7GpL+vHEtdUTaFCuyIUsrXhnh5GKw8T5l+OHLVgesUem+YIsmggm+bvz4edgxrIqIQZjHdddddfrd7RdGlz0hKOaDEH5hpxMwgZpTlmtVU4suquIAE0Cc4IOszgiZTc1iElOe9lILzk+m9ksZBAF3I7FAiViUiEJIAg0l0pjLNOA553fSyiayOp3VI31+bz0QF0tGsrWAbYddgC8aFiEec30SFl0KYxUxgUKbZx9iM2HzpdSjFdcuxDBaNJeCK2aASEShXAsykIN8+equhBP3E9enblUrQQaQGX2655UpVZMHlFNPfLKaPzuAkfdO4EMDJAB8DhJl0PMdWuu6lT3HhhRdWLw4e56P3IhCCADqTmS7FzqAoRV3QlziGWQea4GyChUIIwd5k8cFpkc9RUZvrZ9N96CtsyVztYjyu2DRt8Trm0tHpdizjjlwv0zhsvMz4e9qGri7mnPj5md5n0+O5WNCWYupAQCvjPumOMl+fbOUVw4jABlLFxYWJFQRw1KcQeD927Fjn+KyP6zavj4sk9Rp0RIk6YSoe6RpCCF5gPM+1iRYvpD65FFYhjo66DOJnctT4OuNEigvHFuOs4VzYFSsMBmRy1lBOrjoU6qyhHGbRZBI6AN5Zw3680fxJRKASCYTSaZXISm0SAREQAQjkW4+vIShhG6U7SkiPRiRg+gzqutQvV8cQmzG9DnW5ls4VARGoDALoJ1JPV4oU098spo+e7qyJ88qk4/1+6V5PQq8ikHwCfNeZKY3txlonBMKEEAbtmaFN8EkIyab70FfpY4zp12c8Ltv56cdm+pxLR6fbscVkJ/LXqkvdfBnpr9n0eC4W6W1JLzP9M4Hq2Zw1HJutvGIY3XzzzemXbRSfU0fNG0WTi2skiobUXRIREAEREAEREAEREAERaOwECLAhjSTpJSQiIAIiIALJI0Bkcq4BtuS1SDUWAREohABpEeOpEQs5R8eIgAg0DAE5bBqGu64qAiIgAiIgAiIgAiIgAokjwFqJEhEQAREQgeQSYKFuiQiIgAiIgAiIQPkSaFq+VVPNREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERKBxEJDDpnHcZ7VSBERABERABERABERABERABERABERABERABERABERABESgjAnIYVPGN0dVEwEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERaBwEytph88UXXzSOu6BWikADE/j6668buAa6vAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAg0bgIpDps5c+bYvHnzghEptvwmTZoEq4sKFgERWEBg0UUXXfAh7d3cuXONv1BC2eWkd4ptZ7F6rZjy4UL5EhEQgdISkF7LzTOkXuPKIcuX3sx9b7W3cgnw7Ie210KXL3sw+/MZWm+GvLfZW6U9ItCwBJKuN0PqBe5MkssPbQ+GfnYa9puhq4uACNSWQCn1ZorDZvLkycEMfYzAKVOmBB2YrS1QnScCIpCdQFVVlc2cOTPYd3fatGk2a9asYOVPnTo1qNMjtN6k/upEZ38+tUcEakMAnYZuCzU4OH369OB6c/bs2bVpekHnYK+F0jswD1k+RjK/K6HqXxBAHSQCDUAAvYbuCfXsh7cHw+pN7KmQerM+7MFQv1lwkd5sgC+tLtngBHj2Z8yYEcwepOwk96Ox17CrQkjS7UHGL0L+5oZgrjJFQATCEyilPdg8Xt0OHTpYs2bN4ptK9r5p06ZG+bxKREAEkkOgVatWxmy3UDPe2rZtG7T89u3bB9U7IfUm+jh0/ZPzJKqmIlA6Aug1JJRea9OmTVC91q5du2B1hwt6J5Q9CPOQ5VNv+Mje5E5KGhOBli1bWosWLYI9++HtwbB6M7Q9FdIeRJ+FrH/z5s2dzpfebEwaQ22FADrT22whiLRu3bpe7MFQ9mxIey3p9iDPDrpTejPEN0dlikByCZTSHkxx2ITqnHvUUmaehF5FIDkEQn9vk16+9GZynmXVVAQ8gVAdW1++9Jonkfk1pN7k3oa+v5lbpa0i0LAEQj/7SddroesfUq/xZIWsf+hnp2G/Gbq6COQmENJmCPm9pVWhyw+t10KWH1qvhS4/91OrvSIgAuVKoJR6TdNdyvUuq14iIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAKNhoAcNo3mVquhIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIiAC5UpADptyvTOqlwiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQKMhIIdNo7nVaqgIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiEC5EpDDplzvjOolAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiLQaAiUtcOmRYsW7kbMmTOn0dwQNVQE6pPAzP9v706ApCjPP44/u0s4XCHEhABalilFi6oY/6hohPj3jngHVFATSxNLo9EqS1QkikkM4lllSFIWHuWB5kCNJ/GKSDxQEC0FC2OIWhJFERGvLOzJ7v75vfn3MLM7M7uz9NM7Pft9q5ad7ePptz/9zNs98/J2NzeHzfXv3z/JzbItR4EBAwZYe3u74xYIjUAyAg0NDRZdBySzRbbSVwXUbnKt2VePfvntd1tbm3FdVn7HhRrlCqjdbGlpyZ3IXwikSEDnfeUxBYGkBJRv0fcvSW2T7SCAQHwC+n4iyWv0su6w2WmnncKXNQ888EB8wkRCAIGMwPz5823QoEHhJzORF6kWGDNmjG3cuNEef/zxVO8HlUdgwYIFtu+++wKBgLuA2s01a9bYiy++6L4tNoBAMYGnn37aPv/8c1NOUhAoZwHl6MqVK+2NN94o52pSNwTyCrz00ku2evVq2tq8Okz0ElC7uXTpUvvggw+8NkFcBBBwFHjuueds7NixjlvIDV3WHTaqqv7nzrRp07gYzD1u/IXAVgs8++yzNnPmTFMvMaVyBDQiYdasWTZjxgxbtWpV5ewYe9KnBG6++WZ76KGHbNKkSX1qv9nZ3hEYNmyYTZ061aZPn27r1q3rnUqw1T4voC8PL7300nBtVltb2+c9AChvgVGjRtnZZ59tF110UfiPQuVdW2qHwBaB9evX2yWXXGIXXHCBjRgxYssMXiHgLKAvek899VQ7//zznbdEeAQQiFtA1+hffPGFnXzyyXGHLhivqq6urmzvnbNixQobP358qHx1dbWdfvrpNnr06II7wwwEEOhaQLfLWrZsmd17772ZhfUlwdChQzN/8yL9Aj//+c9t7ty59qMf/ch22WWX9O8Qe9AnBHSbgEWLFtlTTz1lt99+u02ZMqVP7Dc7WR4C55xzjj3xxBPhQlyjvCkIJCXw7rvv2rx588IXOdddd11Sm2U7CGyVgP5j5VlnnWWLFy+2yZMn2w477LBV8VgZAW+B999/P3wG/v73v2+33nqr9+aIj0AnAY2iPffcc8N/SNd/TKPTsBMRExAoK4HNfSbhu4n33nvP/vjHP9p+++2XWP1S02EjkZqaGm7dlFhqsKFKFtAts7Kfc0KHTWUe7SVLlphuKfnhhx9W5g6yVxUn0K9fv3B7iokTJ9LRWHFHNx079MILL4R2c+3atemoMLWsCIHtt9/ejjvuODvwwAMrYn/Yib4loFH7ut7UyAUKAuUsMHz4cDvyyCNtwoQJ5VxN6tYHBBYuXBjaTXXgUBBAoHwF9AiJcePG2SmnnGLbbrttohVNVYdNojJsDIE+JECHTR862OwqAggggAACCCCAAAIIIIAAAggggAACCJSlQNk/w6Ys1agUAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBCjAB02MWISCgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBDoiQAdNj1RYx0EEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIEYBOmxixCQUAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIINATATpseqLGOggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAjAJ02MSISSgEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoCcCdNj0RI11EEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIEYBeiwiRGTUAgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBATwTosOmJGusggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAjEK5HTYNDc3W3t7e4zht4RS3JaWFrf4W7bEKwQQiFNg06ZN1traGmfInFiK39bWljMtzj/U7njGT3O7KRf5e7X7yhvP+N65mUTukJv53+3kZn6XaGoSuenVLigu7WZ0JDv/VrupHy//Smg3vWwU1/Ozito1z/je59woNztnbTxTlJue58S0t5ueuZP23Ex7u0ZuFm5DuB4sbKM5ac4d1Z/rQSnkL9E51+uaJ+3tpnfueMb3Pucm0W4qP70KublFtt+Wl2ZNTU1WU1MTfrKnx/W6qXFz/Noaq6qqiiskcRCIVWDMjIk2/IDReWO+ftXDYfra51fmnV+pE9Vg6j1bXV3t8t7VyfArX/lKiO3RNqhdGzhwYKi/xzFqbGy0fv36udjoAi1qlz1sdDKXv3w84it3tA86r3gUfUhRXnrmZv/+/V1z08smyh2v3IxyR/X3yB1dBOr4Dho0yCN1Mh2JXv6qu2J756bie5So3fHyUfw056baNi+bqN0cMGCAx6ENbb7sPXNTdffKzUo45yp3vNpNtZ1eual2TfX2zB3lZnRNGPcbgOvBwqLRl0dpzU3vzyrKfRXlv8d7V7npdb2jenufcxXfM3fSfj2oNtOz3dRnFa9zbnRsPc4rfFbRu7Nw8b4eTOKziuf1oGdu6qh4tpvKfX0H49VuKncq4XrQq93UsU3L94NVdXV1mSE1uljzauyV9KXGX7FihY0fP16rUhBIREAdNv+z+SdfUYeNOnM+3txhs/z/O2/yLZfGaatXr7ahQ4fmrbpOKCoeH1AUV+2C1wegKH45tWuqUyml1HazlNg6tvrx8vHOHe/45GbxbPLOTW3dq90hd3rv2GrL3rlDu1b4+NKuFbYhN4vb0G4W9/Fs18jN4vbkZnEfcrOwj3fueMfnnF782Mqfz7n5jcid/C7RVM92U3lJbkbSnX+Tm1tMckbYeDVm0ea840fbKZff+gJ81qxZ4c345ptv2pdffmlLliyxVatW9UoV9cXXZZddZqeccorV19fbwQcfbPPmzbO7777b7r//fps0aVL4X8d//etfe6V+adlo1KFTaZ02hfy9vjCNtufdLhA/ku7827OjTFvzzh3v+ORO55zJnuLp431sveN72ugYED87E3Nf69h6Hl/P2NoT7/jkTm6+dPzL04fc7Kid+7envbZE/Fzv7L/IzWyNzq/Jnc4m2VM8fcjNbOnOrz3ttbU0xyd3OudL9pQ0H1tyM/tIdn6t3Pcs3vHJzS1HL6fDZstkXsUhMHLkSDvvvPNCqIaGBouGBH744Yd26qmn2rPPPhvHZrod45hjjgkdSPfee689+eSToT7f/va3bccddwwxpk2bFjpyetJhc9JJJ9mJJ55okydP7nZ9Oi44c+bM8L9ur7jiio6zevT37rvvbr/61a/CjzrM4igaXaOikTYjFo22vnZ7tDgMiYEAAggggAACCCCAAAIIIIAAAggggAACCCDQWcDn5uedt9Onp/zsZz+zbbbZxoYMGWKHHXZYGGEzf/5822effRJ12XvvvcP2fvKTn9jcuXPts88+s1122cVmz5691fVQ54g6bLamaMTPgQceuDUhctYdPnx4qNOwYcNypvf0j+jZNuq0iTpuehqL9RBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQyBagwyZbw/n1xo0bbeHChXbsscfaunXr7Oqrrw5bHDdunC1btswOOuggU0eOXqvU1taaRp0sXrw43ErtyiuvDNM0Tw/k1HKnnXZaWOYf//iHPfHEEwVHuNx4441hpInWVTx10ujBnopx5plnanKnsuuuu5rWU2yto46efMPftB+XX355WF/xfvnLX2Zi/fSnP7XHH3/c9Dwixdptt90y87JfPPXUU7b//vsHA8U46qijwmwZaL+XLl1qy5cvt6uuuip0fkXrfve73zWNCHrrrbdMI4d+8IMfhFnHH3+8Pf300+G1RjLJdWvLiP8dHZ5vo1ui6Ud/UxBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQiEOADps4FEuM8cUXX9ijjz4aRtioA2Tw4ME2ZsyYMOrl888/tz//+c+hM+W+++4Lt1R7/vnnw+3TNFJHz5pRZ43W0zq6fdj3vve9sO7AgQPtnnvuMd36rGNRZ86nn34aJt966632t7/9LRNjxIgRHRc3TVuwYEGo480332yvv/663XHHHXb++ed3Wvbvf/97TmzVV0XPy9G6H330kf3pT3+yQw45JMTcYYcdOsXQ/Kiofu+8847V1NSYDNRR9PDDD4efc889N8TSsrqV26JFi2zQoEHhVm91dXXBRy4rV660Bx54IIRUDLlQEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAoVwGeYdNLR0YjTr761a+GW5JFVbjlllvsmmuuCX8eeeSRYZTJCSecYA8++GCYtmTJEnvkkUdswoQJphEpKhq1c8QRR1hLS4v99re/tddeey10lKhDKLs89thjdtNNN4WRMPqtoo6fQmXq1KnWv3//cAs3dYSoaHmNnvnd736Xs5pGsnSMve2224aRMRpVE3Xy/OEPf7B//vOfptgXX3xxToy77rorjPTZtGlTiKWZkcHYsWPt1VdfDcurI0dx9thjD/vWt74V6qRRN88884zdfffdobNLzwj65JNPQhz5zZkzx5577rmc7XXnj9evetjWLvrvM2ui5aNRNtHf/EYAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIA4BOmziUOxBjK9//evW3t5u69evt5133jlEePHFFzOR9t13X1PnRXbHi24t1tzcbLoNWNRho84Sddao6LdGzmgkjkantLa2ZuKV+mL8+PE2cuTITAeS1j/ggANsu+22s+23397WrFlTNKSel1NdXW0PPfRQZjl1pLzyyiuh/pmJRV7IQEUjbPSjojqp6Jk5GnWzdu3acLszjabRSB+NpmlsbAzLbO0/4dZnWxuE9RFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ6IYAHTbdQPJYZM8997S3337bdHu0qLS1tUUvbciQIaFzJuqM0Qx14DQ1NYV50YIdOycaGhrCyBg9n2ZrOmy0fRVtLyp6Vkx3S7S+RgBll/r6evvGN76RPang6yhGdh3+/e9/229+8xtbvXq1KdaoUaNMz8nRbeB0K7XrrrvOjj766DDSqGDgbs7Q6JqPn88dYaNV1ZFDQQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAgTgE6bOLU7GYsdS5Mnjw53Kqr0Covv/yyXXjhheE5NcuWLQuLfec73wnPu9G8qOy3337Ry/Bbz7PRbceyOzlyFujmH7r9mm5rNm3aNIs6ktTRohE+//nPfwpGiUb2RK+mHmoAAA4hSURBVHVUfaLXesbOXnvtZRopVKiooykqGo2j8vvf/97ee++98FrPqxk6dGh4Ls6AAQNMz8OZPXt2+NHIn3/961929tlnh5+wwuZ/smNG07rzO19nzfADRndnVZZBAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQKAkgS3fjpe0GguXIvDjH/843Kbrm9/8po0bNy48c0a3Muv4HJfsmAsWLLB3333X5s6da5dcckm4fZpGj6xatcqefPLJzKK6Pdq1114bbj12/PHH28EHH2zTp0/PzO/pCz1T5vTTT7fbb789PBuntrY2jGDRKB+NDtLt3LKLnp2jom3/5S9/CaOHdMuyK664IjxPRqOJ9Owa3QruzjvvzF4181oxzjjjDDvppJNs4cKFJgPtr25zpo4jPZdm5syZYTSNRtbotmt6ps8FF1wQbot20EEHmeqpdVTeeOONcJu4s846yzZs2GBLly7NbKs7LxhJ0x0llkEAAQQQQAABBBBAAAEEEEAAAQQQQAABBBCIQ6A6jiDEKC6gThV1UqgzQ6M91IkxadKkMFql0JqfffaZTZgwIYxm0XNsHnvsMdPtxY444gj79NNPM6vdeOONpme9vPTSS3bOOeeE0SjXX399Zn5PX2iEzZQpU2zs2LGmET4vvPCCffnll6EzpWNnjbah26Wpo+YXv/hF6FTRtB/+8IdhNM2cOXNC/TRC6OSTT7bFixdrdqeifVm+fLnNmzfPTjjhhLCfhx9+eBgtpM6bN9980/bZZ58wT8/DmT9/fnjGjjq+1Lml7dx2222hg0nBP/74Y/v1r39thx56aHjeTacNMgEBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgTIRqKqrq8sdKlEmFVM1VqxYYePHjy+jGvVOVXRrMhWNEolK//79Q0eGOkhmzZoVnguj5+FoBEzcRaNidCu0zbnSZehtttkm1EHLR0WdVF/72tfCCJloWrHfenaN9jW6FZuW1a3QBg8ebOvWrcu7qm6Hpg6afM/t0fZ1O7Zsv7xBNk8csfmWZ90dWaNbpi2/6uFCoVI1Xc8E0q3mKAgggAACCCCAAAIIIIAAAggggAACCCCAAAK9I8At0XrHvaStdqejYf369SXFLGXh7BE9Xa1XX1/faRF1Iul2Zt0t+Z6R09DQYPopVNasWVNoVuhA6o6hAqzd3Amz9vlrC8ZiBgIIIIAAAggggAACCCCAAAIIIIAAAggggAACHgLcEs1DNaGY6qTJ10GS0ObZDAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCMQkwAibmCCTDqNbjg0bNizpzbI9BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQcBBghI0DKiERQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgVIE6LApRYtlEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEHATpsHFAJiQACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgiUIkCHTSlaLIsAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIOAjQYeOASkgEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoBSBsu6wqampKWVfWBYBBHoowHuth3CshgACCCCAAAIIIIAAAggggAACCCCAAAIIxCSQ02HT0NBgbW1tMYXODdPe3m6NjY2m390to0ePturqnCp2d1WWQwCBbgqMHDnSBg8eXHDplpYW008p792CwfLMaG5utk2bNuWZE88ktTte7Zpq6Nluqt6ltpulqLW2tlpTU5PbsdVx9cwdxdY2vHJTNjLyKt65GXKnrfvn3FL2U7npmTtyV9vgdWy9czNq17zqn+bclIlnu5b23Ez7Odc7Nz3PuWnPTbVrnu1m2nNT7Y7nOT3NuZnE9WCac9O7XfO+HvTMzXDObfT7LMH1YPGr8zTnZtrPud65mdQ5N62fVTzbtbTnJteDXbSbm89ZabkezOkN0QnXsyh+KQ2COmumT59uQ4YM8awWsRHoswK1tbU2Y8aMovtf6vu2aLA8M8ut3clTxaKTkqh/0QpsxUy1x6W0yaVuSrE9fZLITU8fXSh4xVfcEN98OmyUC54XOknkjmduqv5ex1b23rnveWyj3PHy8c6dJOJ72WTnjtc2vHPH832b7aPXcZe050775v8A4JU3svZu15LInbhzJoqXyR2nU3omfrTBmH8rftpzJ+31j/mQ5oRrbfP7z03eual2wbNtSHvue5/TFd/rveWdO0nE13nXqyRxzvU6tjLxfN+G+K2lfXddynFKInc8fVR/72PruQ3Pc5byIM52s6quri7TCuigeo5o6Wn8KVOm2KJFi2zDhg2lvA9YFgEEiggMHDjQTjvtNLvhhhuKLGWZxriqqqrocj2dqcbYK7bq1NN2p7v7k+b40YnWy78S4nvZVEJuer53KyF3dIy98sfTntyUQOFCbha20Rxys/d8yM3i9mm+XtOeedaf3CmeO7RrvedDbvaevbbs2e4kEd/zvUtukpvFBYrPJTcL+yTx3vL6jK69irPdzOmwKUzW+3PuuusumzNnjn3wwQe9XxlqgEDKBUaNGmVTp061iRMnpnxPqD4CCCCAAAIIIIAAAggggAACCCCAAAIIIFAZAqnpsKkMbvYCAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEOgskPMMm86zmYIAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIOAtQIeNtzDxEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIEuBOiw6QKI2QgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIICAtwAdNt7CxEcAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEuhCgw6YLIGYjgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAt4CdNh4CxMfAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEOhCgA6bLoCYjQACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgh4C9Bh4y1MfAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgCwE6bLoAYjYCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg4C1Ah423MPERQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgS4E6LDpAojZCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggIC3AB023sLERwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQS6EKDDpgsgZiOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC3gJ02HgLEx8BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ6EKADpsugJiNAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCHgL0GHjLUx8BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQKALATpsugBiNgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCDgLUCHjbcw8RFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBLgTosOkCiNkIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAgLdATofNxo0bra2tzWWb7e3t5hm/tbXVGhoa3Orf0tJijY2Npv3wKM3NzaYfr/iqu/bBK359fb1t2rTJgybE3LBhg9uxVc6r/l65H+Wml72Oa1NTk9uxVWzP3NT71js3dQy8ime75p2bes/Kn9zMnx2y8WzXlDteualjmvbc9D7nerab3udccjP/e1ZTo3Ou1zk9ievBNOem9/WgZ7vm3W6mPTe9rwe9203lptc5V21Pmj+rcD2oI1i4ROdcr+vl+o2+uenZbibxWSXN14Pe7WaUm4Wzd+vmpPmzitp7z+941G6mOTeTOOd6f472utbnerB4u8F318V94rwe7Je9qerqnP6b7FmxvK6pqbGqqqpYYnUMoriqv3f8jtuN62+vekf1i2y8tqP4nvmT5tzRMfC00TH1Oq7edY/iR/mpv+MunrFV1zTHV95452YS8b3y3/vYVkK75mWfRG561T27XfDahndu+sfnerDQuU4545U35GYh9S3T09wuK288z7mesXUEotz3yn/vdo3c2fI+6vgqOrYdp8f1t/exjeK75WaN33cYMo7qH5d3xzie8ZPIHa+OODmp/p4+nrFV/zTH97aP4svJoySR+57bqKn2u9aXt3LTs3BOL6yrvPEsUbvjtR3F98yfOHOnqq6uLjNkRCcrLxQd0DTHj07kXj5JxPeqe9qPbdrrn0TuyMgrf9LcLqQ9d7zrn0RueuWltw3xJVC8eLYN5Gbv2WvLnsfWO34SuaN98Grb0mzvfWzTHp/c1BEsXMj9wjaa4+lDbvaevfexTXv8JHLT63yednvqL4HChdwsbKM5nuestMdPIndk5NW2cWyl+9+S02ETTeQ3AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAcgK+48iS2w+2hAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgikVoAOm9QeOiqOAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAClSJAh02lHEn2AwEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBFIrQIdNag8dFUcAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIFKEaDDplKOJPuBAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACqRWgwya1h46KI4AAAggggAACCCCAAAIIIIAAAggggAACCCCAQKUI/B/n8LQibHgyYQAAAABJRU5ErkJggg==)\n" + ], + "metadata": { + "id": "5wNPAx2QwCGG" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Prerequisites\n", + "\n", + "Before running this notebook, you’ll need a few things set up so that Unstructured can connect to your source (e.g. S3) and send processed data to Redis.\n", + "\n", + "\n", + "### Unstructured API Key\n", + "\n", + "Create an API key from the [Unstructured Platform](https://platform.unstructured.io)\n", + "\n", + "1. [Contact us](https://unstructured.io/enterprise) to get access or log in if you're already a user.\n", + "2. Once logged in, go to the **API Keys** section in the sidebar.\n", + "3. Click **New Key**, name it (e.g. `redis-workflow-key`), and copy it securely.\n", + "\n", + "---\n", + "\n", + "### AWS S3 (Source)\n", + "\n", + "We’ll use S3 to source raw documents.\n", + "\n", + "Make sure you have:\n", + "\n", + "- **AWS Access Key** and **Secret**\n", + "- An **S3 bucket URI**, like: `s3://your-bucket/`\n", + "- A few files uploaded — PDF, DOCX, HTML, etc. See [supported file types](https://docs.unstructured.io/getting-started/ingest/supported-file-types) for reference.\n", + "\n", + "Store these credentials securely in your notebook or environment variables.\n", + "\n", + "---\n", + "\n", + "### Redis (Destination)\n", + "\n", + "You’ll need access to a Redis instance. This can be hosted on Redis Cloud or self-managed.\n", + "\n", + "Required connection details:\n", + "\n", + "- **Hostname**\n", + "- **Port**\n", + "- **Username** (optional — depending on your setup)\n", + "- **Password**\n", + "- **Database number** (commonly `0`)\n", + "\n", + "If you’re using Redis Cloud, you can find these under your instance’s connection settings. Ensure your client can reach the Redis endpoint (some Redis setups restrict IPs or require SSL).\n", + "\n", + "You can also customize:\n", + "\n", + "- `batch_size`: controls how many documents are sent per write operation\n", + "- `ssl`: enable if using a secure connection\n", + "\n", + "For a full list of available options, see the [Redis destination documentation](https://docs.unstructured.io/api-reference/workflow/destinations/redis).\n", + "\n" + ], + "metadata": { + "id": "hgI9-3XowHgu" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Step 1: Install the Unstructured API Python SDK\n", + "\n", + "All functionality available in the the UI of the [Unstructured](https://unstructured.io/) product is also available programmatically via Unstructured API. You can interact with Unstructured API either by sending direct requests via curl or postman, or using Unstructured API [Python SDK](https://docs.unstructured.io/api-reference/workflow/overview#unstructured-python-sdk). Here, we'll be using the latter.\n", + "\n", + "\n", + "> **Note:**\n", + "The Unstructured API has two endpoints:\n", + "* The Unstructured Partition Endpoint: intended for rapid prototyping of Unstructured's various partitioning strategies. It works only with processing of local files, one file at a time.\n", + "* The Unstructured Workflow Endpoint: enables a full range of partitioning, chunking, embedding, and enrichment options for your data. It is designed to batch-process data from any data source to any destination. This is what we're using in this notebook.\n", + "\n", + "\n", + "Run the following cell to install the Unstructured API Python SDK." + ], + "metadata": { + "id": "E5CL5iVB0oIF" + } + }, + { + "cell_type": "code", + "source": [ + "!pip install -U \"unstructured-client\"" + ], + "metadata": { + "id": "zp8T30s300Ky", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "collapsed": true, + "outputId": "cc26e0b0-c65d-45b5-aeaf-d80ebd09eb4f" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting unstructured-client\n", + " Downloading unstructured_client-0.42.1-py3-none-any.whl.metadata (23 kB)\n", + "Requirement already satisfied: aiofiles>=24.1.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (24.1.0)\n", + "Requirement already satisfied: cryptography>=3.1 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (43.0.3)\n", + "Requirement already satisfied: httpcore>=1.0.9 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (1.0.9)\n", + "Requirement already satisfied: httpx>=0.27.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (0.28.1)\n", + "Requirement already satisfied: pydantic>=2.11.2 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (2.11.7)\n", + "Collecting pypdf>=4.0 (from unstructured-client)\n", + " Downloading pypdf-5.9.0-py3-none-any.whl.metadata (7.1 kB)\n", + "Requirement already satisfied: requests-toolbelt>=1.0.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (1.0.0)\n", + "Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.11/dist-packages (from cryptography>=3.1->unstructured-client) (1.17.1)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.11/dist-packages (from httpcore>=1.0.9->unstructured-client) (2025.7.14)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.11/dist-packages (from httpcore>=1.0.9->unstructured-client) (0.16.0)\n", + "Requirement already satisfied: anyio in /usr/local/lib/python3.11/dist-packages (from httpx>=0.27.0->unstructured-client) (4.9.0)\n", + "Requirement already satisfied: idna in /usr/local/lib/python3.11/dist-packages (from httpx>=0.27.0->unstructured-client) (3.10)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.33.2 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (2.33.2)\n", + "Requirement already satisfied: typing-extensions>=4.12.2 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (4.14.1)\n", + "Requirement already satisfied: typing-inspection>=0.4.0 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (0.4.1)\n", + "Requirement already satisfied: requests<3.0.0,>=2.0.1 in /usr/local/lib/python3.11/dist-packages (from requests-toolbelt>=1.0.0->unstructured-client) (2.32.3)\n", + "Requirement already satisfied: pycparser in /usr/local/lib/python3.11/dist-packages (from cffi>=1.12->cryptography>=3.1->unstructured-client) (2.22)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests<3.0.0,>=2.0.1->requests-toolbelt>=1.0.0->unstructured-client) (3.4.2)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests<3.0.0,>=2.0.1->requests-toolbelt>=1.0.0->unstructured-client) (2.5.0)\n", + "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.11/dist-packages (from anyio->httpx>=0.27.0->unstructured-client) (1.3.1)\n", + "Downloading unstructured_client-0.42.1-py3-none-any.whl (207 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m207.2/207.2 kB\u001b[0m \u001b[31m13.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pypdf-5.9.0-py3-none-any.whl (313 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m313.2/313.2 kB\u001b[0m \u001b[31m15.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: pypdf, unstructured-client\n", + "Successfully installed pypdf-5.9.0 unstructured-client-0.42.1\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 2: Set environment variables\n", + "\n", + "Fetching the values from Colab Secrets!" + ], + "metadata": { + "id": "PSLM5_I6wN2g" + } + }, + { + "cell_type": "code", + "source": [ + "import os\n", + "from google.colab import userdata\n", + "\n", + "# Unstructured\n", + "os.environ['UNSTRUCTURED_API_KEY'] = userdata.get('UNSTRUCTURED_API_KEY')\n", + "\n", + "# AWS S3\n", + "os.environ['AWS_ACCESS'] = userdata.get('AWS_ACCESS')\n", + "os.environ['AWS_SECRET'] = userdata.get('AWS_SECRET')\n", + "os.environ['S3_REMOTE_URL'] = userdata.get('S3_REMOTE_URL')\n", + "\n", + "\n", + "# Redis Cloud\n", + "os.environ['REDIS_DATABASE_NAME'] = userdata.get('REDIS_DATABASE_NAME')\n", + "os.environ['REDIS_HOSTNAME'] = userdata.get('REDIS_HOSTNAME')\n", + "os.environ['REDIS_PORTNUMBER'] = userdata.get('REDIS_PORTNUMBER')\n", + "os.environ['REDIS_USERNAME'] = userdata.get('REDIS_USERNAME')\n", + "os.environ['REDIS_PASSWORD'] = userdata.get('REDIS_PASSWORD')\n", + "os.environ['REDIS_DATABASE_NUMBER'] = userdata.get('REDIS_DATABASE_NUMBER')\n", + "\n", + "\n" + ], + "metadata": { + "id": "iKEkEUBW0G2K" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# instantiate Unstructured Client\n", + "from unstructured_client import UnstructuredClient\n", + "\n", + "unstructured_client = UnstructuredClient(api_key_auth=os.environ[\"UNSTRUCTURED_API_KEY\"])\n", + "\n", + "# helper function\n", + "def pretty_print_model(response_model):\n", + " print(response_model.model_dump_json(indent=4))" + ], + "metadata": { + "id": "lNbpG7N01NW_" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 3: Create the source connector\n", + "\n", + "Run the following cell to create an [AWS S3 source connector](https://docs.unstructured.io/api-reference/workflow/sources/s3).\n", + "\n", + "When setting up a source connector, you'll need to:\n", + "- Give it a unique name.\n", + "- Specify its type (`s3` in this case).\n", + "- Provide configuration details including your S3 location and credentials.\n", + "\n", + "Your configuration must include:\n", + "- `remote_url`: the URI to your S3 bucket or folder (e.g. `s3://my-bucket/data/`)\n", + "- `key`: your AWS access key\n", + "- `secret`: your AWS secret key\n", + "- `recursive`: (optional) whether to include files in subfolders" + ], + "metadata": { + "id": "78gSZnm3wVfw" + } + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.operations import CreateSourceRequest\n", + "from unstructured_client.models.shared import CreateSourceConnector\n", + "\n", + "source_response = unstructured_client.sources.create_source(\n", + " request=CreateSourceRequest(\n", + " create_source_connector=CreateSourceConnector(\n", + " name=f\"Redis Tutorial Source_\",\n", + " type=\"s3\",\n", + " config={\n", + " \"key\": os.environ.get('AWS_ACCESS'),\n", + " \"secret\": os.environ.get('AWS_SECRET'),\n", + " \"remote_url\": os.environ.get('S3_REMOTE_URL'),\n", + " \"recursive\": True\n", + " }\n", + " )\n", + " )\n", + ")\n", + "\n", + "pretty_print_model(source_response.source_connector_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "fzp8gaSIwm0i", + "outputId": "01e08bd8-ed82-4184-b25b-83fee6c30563" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"config\": {\n", + " \"anonymous\": false,\n", + " \"recursive\": true,\n", + " \"remote_url\": \"s3://ajay-uns-devrel-content/agentic-analysis/\",\n", + " \"key\": \"**********\",\n", + " \"secret\": \"**********\"\n", + " },\n", + " \"created_at\": \"2025-08-06T14:30:48.002626Z\",\n", + " \"id\": \"c7c6e187-35fe-4a0f-be8d-2f37ed3744ba\",\n", + " \"name\": \"Redis Tutorial Source_\",\n", + " \"type\": \"s3\",\n", + " \"updated_at\": \"2025-08-06T14:30:48.181506Z\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 4: Create the destination connector\n", + "\n", + "Now that your Redis credentials are available as environment variables, you're ready to create the destination connector.\n", + "\n", + "This step defines the **Redis destination**, specifying:\n", + "- A unique connector name\n", + "- The connector type (`redis`)\n", + "- Required connection parameters:\n", + " - `host`: Redis hostname (e.g. from Redis Cloud)\n", + " - `port`: connection port (default is usually 6379 or your Redis Cloud port)\n", + " - `username` and `password`: for authentication (Redis Cloud requires both)\n", + " - `database`: Redis logical database index (default is `0`)\n", + " - `ssl`: whether to use SSL for the connection (set to `True` for secure endpoints)\n", + " - `batch_size`: how many documents to push in each write operation\n", + "\n", + "These values are pulled from environment variables\n", + "\n", + "\n", + "\n", + "\n" + ], + "metadata": { + "id": "LFaaWfdawZKQ" + } + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.operations import CreateDestinationRequest\n", + "from unstructured_client.models.shared import CreateDestinationConnector\n", + "\n", + "destination_response = unstructured_client.destinations.create_destination(\n", + " request=CreateDestinationRequest(\n", + " create_destination_connector=CreateDestinationConnector(\n", + " name=\"Redis Tutorial Destination_\",\n", + " type=\"redis\",\n", + " config={\n", + " \"database\": os.environ.get(\"REDIS_DATABASE_NUMBER\"),\n", + " \"ssl\": False,\n", + " \"batch_size\": 100,\n", + "\n", + " # For password authentication:\n", + " \"host\": os.environ.get(\"REDIS_HOSTNAME\"),\n", + " \"port\": os.environ.get(\"REDIS_PORTNUMBER\"),\n", + " \"username\": os.environ.get(\"REDIS_USERNAME\"),\n", + " \"password\": os.environ.get(\"REDIS_PASSWORD\")\n", + " }\n", + " )\n", + " )\n", + ")\n", + "\n", + "pretty_print_model(destination_response.destination_connector_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "cjHe50Y0xBHh", + "outputId": "e06801a6-14ab-451c-dc49-ad200dad6e13" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"config\": {\n", + " \"batch_size\": 100,\n", + " \"database\": 0,\n", + " \"host\": \"redis-15786.c93.us-east-1-3.ec2.redns.redis-cloud.com\",\n", + " \"port\": 15786,\n", + " \"ssl\": false,\n", + " \"password\": \"**********\",\n", + " \"username\": \"default\"\n", + " },\n", + " \"created_at\": \"2025-08-06T14:30:48.527175Z\",\n", + " \"id\": \"697f180a-53af-454d-9cd9-4cfe6a03a623\",\n", + " \"name\": \"Redis Tutorial Destination_\",\n", + " \"type\": \"redis\",\n", + " \"updated_at\": \"2025-08-06T14:30:48.609871Z\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 5: Create the data processing workflow\n", + "\n", + "![image.png](data:image/png;base64,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lQ977kEoCfls8syHfjbhH+recl+T/mzy/QrFh3urZzPzNxPuSX42ee5D6jXYwCiUhHw2+T6F1pvo/VA2Q+hnM/RvbuhnE/ahn81Q95ZnM/Rvbmh7MKTeDP1sUveQejPJ9mDSn81KsAeDPpvT1FfJZs9gJ4fUa6GfTX5zQ/ejQ//mJrmvkmR7sD6ezaB6rR7swVDPZujfXOzYJD+boe3BpPdVQvZzQz+bfKdC91WqZmjsOpvNk6S+SvN4I5o2TfHfxHeV5H2TJk2MvxASsmxf31B1p/yQZfvyQzKqr/r7e1HKV88lZBtClx2yfP/8lJJ5vCxfd/8a31eK95QbqmzqF7p89HKo+oeuu+dTivuYqYxQXOLXCnmN0PxDPjv+3obiE5oN5WOMhxJf/yTzCcUm6c8O9Q9pL4d6Zvz9rI9n018rxGt98QlRd8ps2iRcX8vf21B1p9yQ/H39Q12jSdMwfVDP29fffy7lK2XXx296KescLyskG65TH+XH21Pq96HrXx/PDm0IIaHZUOdQdfdlRz3REGhcmaH5qPzcty70s5P76nXdO3+MJFQbQj87IW1xyIasf8iy/VMR0uYJ9cxU1/1/43ehrhOq3PT6+891eW0yefLk6hELBi9CVj7J5fuBnVB86qP8UHXnAUzyvU16/evj2YFRqOdHzw50s0uS+ejZzH5f2ZPke5v0+uvZ1LOZm0D2vXp2srNhj/Raw/HRs9lw7PXs52fPESH7EqHLD1V36i29CYXsEpKP9GZ27uwJyT7p5evZ0bOTm0DuvSG/W3o2G449Vy7lvU1x2ORulvaKgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiEIBBuXn6I2qpMERABERABERABERABERABERABERABERABERABERABERABEahAAnLYVOBNVZNEQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQASSRUAOm2TdL9VWBERABERABERABERABERABERABERABERABERABERABESgAgnIYVOBN1VNEgEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERSBYBOWySdb9UWxEQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQgQokIIdNBd5UNUkEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERCBZBOSwSdb9Um1FQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAQqkIAcNhV4U9UkERABERABERABERABERABERABERABERABERABERABERCBZBGQwyZZ90u1FQEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERqEACcthU4E1Vk0RABERABERABERABERABERABERABERABERABERABERABJJFQA6bZN0v1VYEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERKACCchhU4E3VU0SAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQARFIFgE5bJJ1v1RbERABERABERABERABERABERABERABERABERABERABERCBCiQgh00F3lQ1SQREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREIFkE5LBJ1v1SbUVABERABERABERABERABERABERABERABERABERABERABCqQgBw2FXhT1SQREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREIFkEZDDJln3S7UVAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQARGoQAJy2FTgTVWTREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEkkVADptk3S/VVgREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREoAIJyGFTgTdVTRIBERABERABERABERABERABERABERABERABERABERABEUgWgRSHzeTJk23OnDlBWjBv3jyj/Llz5wYpf/bs2TZ16tRg5c+cOdOmT59utCOEzJgxw/gLVf60adOMNoQqf8qUKcY9CCWTJk0K9mzyTFJ/PZuZ7x7PZVVVVbBnh2dz1qxZwcqvj2cz1LNTH88m/EPVP7TeRCeHfDb5TQn5bCb5NxdbIaTehHvIZ5PnJuRvLs9myN9c/2xm1tp135r0ZzOkPeifzVD2VOhnM7Q9CPtE24OTZQ9m0yD1YQ+G1JuyB7PdWXPf2ZC/uaHtwfp4NkPag6GfzZBjMLIHs3+v2KO+SnY+2FGhn836sAdD9aND24Pqq1Tus+l/c0M9m/zmhuxHh+6rhP7NLeXYdfP4Y9qyZUtr2jTFhxPfXef3lN+kSZM6l5OpAOrdokWLYOU3a9YsWNm0p3nz+bciFB/YwChU+aGfnVatWgV7NmES8tnRs5npG7tgW+hn05e/4IqlfcezGep7RblJ1ps8+yH1DnozZPk8OyF1f0i9WR/PTpKfTe4rEuq7W1/PZmm12YLSQj6bXCXks8M9TfpvOoxCPZv+NzF0+bQhhAS3B1uG60vIHsz9RIR+Nlu2CNvPTbw92Dzcs89vLs9/KAndj66P3/SQfEL+5lLvkOWHttdCl18fzw5tCPWbLnswu9aqj990rh7q3tbXs5mdYN326NnMzs/rhJDPDlcPVX5wezCw36OUfZUmkVe7esoIXu5Q0LmhKh8KmUVsMnPxW8XHk6j/V7HPzVx8cvMJuVfsc9MVn9x8Qu4V+9x0xSc3n5B7xT43XfHJzkdssrNhj/jk5hNyr9jnpis+ufmE3Cv2uemKT24+IfeKfW664pObT8i9Yr+AborDZsFmvRMBERABERABERABERABERABERABERABERABERABERABERABEagvAikp0errog1xHfL4/fTTT26thsUXX9w6dOjQENXQNUVABEQgMQTIbTt27FgXNbrEEktYu3btElN3VVQEREAEGoIA+dLHjRvnZqx36dLFWrdu3RDV0DVFQAREIDEEWMfi119/dWlou3bt6lJsJabyqqgIiIAINACBiRMn2m+//ebSAHfr1s3pzwaohi4pAiIQkEBFO2xYrOjWW2+1hx56yN5+++0UjCuttJJtv/32duyxx1qnTp1S9umDCIiACDRWAizCdtNNN9nDDz9sH3zwQQqG1VZbzXbYYQc78sgj5fROIaMPIiACjZkAi0sOGzbMHn30Ufvkk09SUKy11lq200472ZAhQ6x9+/Yp+/RBBERABBorAQYbr7nmGvvPf/5jn332WQqGdddd1+nNgw46yNq2bZuyTx9EQAREoLES+PHHH+3GG2+0xx9/3L766qsUDAMGDLBddtnFDj74YDlvUsjogwgkl0C41f8amMldd91lvXr1snvuuccprtdff91F7uCFfu+99+yoo45yThy80SNGjGjg2uryIiACItDwBO644w5bbrnlnBG4995725tvvmnjx4930Ts4vQ888EB78cUXrXv37jZy5MiGr7BqIAIiIAINTABdiE586aWXXCf5nXfecToT3Tl69Gj729/+Zo899pitsMIK9q9//auBa6vLi4AIiEDDEyCgEr2Jvjz66KPt/fffd3qTWTb02XfeeWe7++67bdVVVzX69BIREAERaOwErrzySltllVVszJgxdvLJJ9tHH33k9CbZMF555RXbaqutXLA6AZYEXkpEQASST6Ai17C5+OKL7ZJLLrErrrjCDj/88Jx3CWV2wgknOMPw0ksvzXmsdoqACIhApRI477zz7LrrrrOrrrrK9t9//5zNpPOM3hw8eLBdeOGFOY/VThEQARGoVAJnnnmm/fOf/zQ60XvuuWfOZt522212/PHH2zHHHGNnn312zmO1UwREQAQqlQADjY888ojTmzvuuGPOZl5//fV20kkn2emnn26nnXZazmO1UwREQAQqlQCzZt566y03vrnlllvmbCZjoNiZ9NGxOSUiIALJJdAsMoDOTW71a9acVD4oJwzB3XffveYB/9uCF3rppZe2lVde2aVGw8FDNOSGG26Y9RztEAEREIFKJDB06FCjU0wU+HbbbZe1iV5vrr766rbFFlvYOeecY6xzs95662U9RztEQAREoBIJXHbZZfbvf//bpfPZZJNNsjbR683evXvboEGDXFRk8+bNrV+/flnP0Q4REAERqEQC9NGffPJJe+KJJ6x///5Zm+j1Zt++fd1xzMJZeOGFbZ111sl6jnaIgAiIQCUSOO644+zjjz92unONNdbI2ER05vfff+/GNwcOHGjMsjniiCPc52znZCxIG0VABMqKQEXNsPn888+tT58+RhRjrkjHiy66yE0b5E489dRT7oa8++67tv766zsDcoMNNiirm6TKiIAIiEAoAh9++KFzuNx333227bbbZr0M06wR9OMZZ5zh3pMCaOutt7YXXnjByDcuEQEREIHGQIB0kZtuuqmzIXMF+mTSm6zXQEARaX9wfktEQAREoDEQePnll52d+dprrxkO7GyC3vR9cW9vMrObtLz010kvKREBERCBxkDgwQcfdI6XN954w6Utz9RmnDXMuvH60r8OHz7czUykr7/kkktmOlXbREAEypxARa1hQ5Q4U6vzOWu4JzhqMAZ9Z3rttde2U045xUWMl/k9U/VEQAREoGQELr/8cttnn33yOmvQl97BjdMb2Wijjeywww4z/7lklVJBIiACIlDGBIgSJ3Ixn7Mmk95kFiPr2pCyQiICIiACjYUAKXpIa5bPWcNgox9w9PblXnvt5TJiXHvttY0Fl9opAiIgAnbBBRc4fcgas5nEO2uefvrpGnrzkEMOMWYpDhs2LNOp2iYCIpAAAhXjsJkxY4ZbzJX8jtnEz6xBsSEYg3SmvTF46KGHutyQn376abYitF0EREAEKoYAaSBZxwuDLpt4p3Zcb3Ks/zxkyBB7/vnn7ccff8xWhLaLgAiIQMUQQNe9+OKLhu7LJl5v+v1+8NHrTXQuUZO//fabP0SvIiACIlCxBEjn88477xh97WziZ9YwEwdJ15sHHXSQ3XnnnTZz5sxsRWi7CIiACFQMgdGjR9vPP/+cdU1ubEo/syab3mRmInpTIgIikEwCFeOwYZpgx44dLVsece+USZ9ZE79tSyyxhJHzkTQVEhEQARGodALozR49erhUkpna6jvPmfSmNwxXXHFFW3XVVY2yJCIgAiJQ6QR8KrPll18+Y1PjepMDvP3Je683SSHZrVs36U2gSERABCqeAHqT1OOdO3fO2Fb0Jg4a76TJpDc333xza926tfRmRoLaKAIiUGkESB+58cYbW4sWLWo0zTtrMs2siR/MrG6Cgz744IP4Zr0XARFICIHErGHz3HPP2SOPPGI//PBDRrREPDZr1szefvvtGvu90eeNQA5gG39x45DtpLjgWgxCSkSgUgmQ/5m1R7I5OCu13Y2tXcyeeeaZZ1x0Tqa2f/fdd9a1a9fqVGfxY/ygYyF6kzSUH330kfXs2TNehN6LQNEEmjZtaqQo3WGHHUyLZBaNTyeUgMD9999vzz77rI0bNy5jad98842tueaaGSMWs+lNOtbM6I7r0y222MLGjh3rFoTNeCFtbFQEyC+/xx57uMGZRtVwNbYiCKA3Ce7JNmuQdWbRedddd12N9npnDTrSC330THoT+wBZaqml/KF6FYGiCCy++OJuHbnNNtusqPN0sAiUmgAzXxh3nDBhQsai0ZuseUhatLjEnTWF6E3GfRZeeGEjOF0iAiJQPAGCRZjYwfexvteDal58dev/jFNPPdXuuOMO22+//ewvf/lLxgqg7H755Zca+zI5a/xB6c4atrdr186WXXbZrNfx5+pVBJJKYN68efbee+/ZTjvtZCeccILWbUrqjcxTb9L1oBf33ntv9wOT6XAWv27SpEmNXZkGHf1BmfRmhw4dnJObZ0oiAnUhUFVV5WYhrLfeem5gh999iQjUB4G5c+fa/vvv71Lj/vWvf61e9Dr92g899JCh89Ill95Md9ZwLrPCF1pooZzrh6VfQ58rl8BXX33l0pOyNtytt95auQ1VyyqKwKRJk9xz+9lnnzmH46BBgzK276677nJ97PSdmZw1/phMerNTp07WvXt323TTTf1hehWBoggQrHbMMce47AK33XabNW+eiOGwotqog8ubgE9zxtjlbrvtlnUA+Pbbb7f27dunNCabs8YflElvYrPi7B4wYIA/TK8iIAJFEJg8ebI9+eSTdvHFFxv2DDPf6kvK/hfqxhtvdBE7pNvBkZJLbrrpppTd2Zw12bZzMh7uddZZxwYPHpxSlj6IQCURYBCUgXyi2Im6YHBKUjkE0HGffPKJvfnmm0YkWTbhxwenTVyyDTrm0psTJ050qS6kN+Mk9b62BFjf45///KfLdc8sGx9RW9vydJ4IFELgzDPPdDNe3n333YwDi74M1v5Kn81dG73JQOeOO+4oe9OD1asdd9xxzi4777zzFEyj5yERBM466yy3psyHH36Ys75EiqfPvsnmrMllb06bNs1IjbbPPvvkvJ52ikAuAieffLLTtQShXXrppbkO1T4RKDmBs88+2wXtPPbYYznLxh79448/Uo5hzRrSoMVn1nBAPr1JajT+JCIgArUjcOSRR9r555/vgvsYZ2OiR31I2a9hA5Rzzz03r7NmlVVWcQOUs2fPdtzwPiPx9BN8zqXM2E9an169evFWIgIVTYAc+qeffrpdc801Fd3Oxta46dOn29///nc3fTqXswYuK6+8srEQrJdM6SfYl09vUgZlSUSgVAT23XdfN+04X2emVNdTOY2bAFGOpOpBd+YzwNF12Ipe0I+ZIhqlNz0hvRZKgJQlPDdXXHGF4dCTiEA5ExgzZowxQ4HnNZ/QT487dbzeLGbQkRm4DJJQlkQE6kKA9DY4am644QYjrb5EBOqLwOjRo40UkoWMv2TSm4xtFqM3Se/7/fffq59eXzdY16loAjhbmeV777331ls7y9phgyE4ZcoUl7opH5G+ffvaIossYg888EDWQwvpPGNMZpvOnbVg7RCBhBLYZptt7L///a9NnTo1oS1QtdMJMJDI1OdCcjOTegUdyxTPbJJPb7766qtGegHKkohAKQmwxtZbb71VyiJVlghkJIDe7Natm5thnfGA2EZ0HevYMPM7m+TTm48//rjNmDFDejMbwEa8fcMNN7RFF100ZXC7EeNQ08uYAH1mghyZqZ9P6Fuz6DUOl2yST2/SxycQiUwYEhGoK4HevXtbjx49UgIw6lqmzheBfATQgwTNdu7cOd+hLu3SSy+9ZD/99FP1sdgIccmnN0njS6DR8ssvHz9N70VABGpJYP3113fLS9Ty9KJPK2uHzaxZs4pqELnHSaGWSfIpM84hupIUUSzCLRGBxkDA5+0t9rvWGNgktY0zZ84suOotWrSwAw880EWYZTqpEL15/fXXu/R66Tl2M5WnbSJQDIFWrVrZnDlzijlFx4pArQigNzOt55WpMBzipBEdNmyY211s55mTiOpF9/rf4EzX0bbGTUB2WeO+/0loPc9os2bNCqoqDnHS8dDXziSF2JukPqevLxGBUhFo2rSpS+lXqvJUjgjkI4DepP9diKy00kpuNs3QoUMzHl6o3tR6oBnxaaMI1IoAMzTr00Yva4dNsQRZQJ1prSwG5KcKkh+XPyQ9PVq8fKY13XHHHUZOU4kIiIAINBYCJ554ojE9m050sXqTVBiPPPKInXTSSY0Fl9opAiIgAs5WJGpx5MiRRetNOt7vvPOOoXslIiACItBYCNDHZn060gH5Pnmh/XQGJkldSV9fIgIiIAKNhQC6kgAh1q3h/csvv+zGNgsZ3zz11FOdU/3oo49uLLjUThGoOALNK6lFRHij0HbZZRfr1KlTtTGYr40sun3AAQfY5ZdfrsWN88HSfhEQgYoi0KVLF2OWzODBgw0d6jvR+Rp5zz33GIuvESleSDqMfOVpvwiIgAgkhcCKK67o9Obhhx9ubdu2LVhv4uQ+7bTTXIDQEksskZTmqp4iIAIiUGcCpDJj3RBmybRp06ZgvUlAEQ4bnOToW4kIiIAINBYCzOI+77zzXD/97rvvLlhvsibjtddea88991xjQaV2ikBFEqgohw13CG/z7bff7pQaOcnPOussW2qppTLePFJgMBvnsssucwt0H3HEERmP00YREAERqGQCu+22m02bNs0OO+wwlzcfp81iiy2WscmTJ092HWeMwCuvvNI0zTojJm0UARGocAIMOk6fPt3pwPfee89OP/10t35YpmaPHz/e6c3hw4cbaX123XXXTIdpmwiIgAhUNIGjjjrKrd+F3XnKKac4vZktPRBZMy644ALn4CYLxpZbblnRbNQ4ERABEchEgEwWjFuy9vC5556bMyPQl19+6fQmayU++OCDNnDgwExFapsIiEBCCFScwwbuGIFEP+KsIfKbGTek+ll22WXdtEAMwFGjRtnDDz9sSy+9tFNmflphQu6bqikCIiACJSXADBsWJURv9uzZ0w0orrfeek5HsrbD999/7xbZxvhbbbXV7Mknn9SC2SW9AypMBEQgaQSYYcOi2+ecc46zMXfeeWfXOe7evbvNmzfPvvvuO3v11VeNxbLRp//3f/9nffv2TVozVV8REAERKBkBBh9XXXVVFzV+880320477WT9+/d3AZasW/fNN9+4tD/MqNl8881dn32NNdYo2fVVkAiIgAgkjQDBlKuvvrrrp5PdgnW3sSdZe5v1NHDUkC7tsccec/sY61x++eWT1kzVVwREII1ARTpsaOOaa65pjz76qL3yyitujQUicxhwxBBEsfXp08eIdNx+++3TkOijCIiACDROAv369bNnnnnGnn/+eWfwjRgxwq0LxsAjMxXXXXddu/POO6vXBWuclNRqERABEVhAYNCgQfbSSy85JzYRjcyg+emnnwxHN44b9CprfW2yySYLTtI7ERABEWjEBIgU54+++hNPPOFS97BGTbNmzVygEA4c1mzways2YlRqugiIgAg4Ajhp+CMIiMDJq666ysaNG2fNmzd3QUMDBgywF1980dmdQiYCIlAZBFIcNhMnTnTpHDCWSi1z5841UumwRkKI8rPVF0NPxl42OtouAvkJkCqLgafWrVu71/xnFHfElClTjHQILVu2DFL+n3/+6XJeZ0u5UFxtax4dUm/iYJ46darTm02bNq158UBbNt10U+NPIgKVSmDGjBmGXYJeC/Hd4nuLrdOqVasgeg17irLRa+jnUgt6DXuNTmCpJbQ9OHv2bJeqrF27dkHubTYeW2+9tfEnEYGGIlBVVWU8/6wPEkKvkQIQSao9OGnSJMcmlD04YcIE69ixY5B+LvYg9nKofjQR2vwu1rfe9AOQDfWd0XVFgGefvq7swczPQkh7kIBA+ukdOnQIojf5PeTeojdD/CaSpow/1tYKUX7mO2IuC4ZS62ajo+0i0PAESmkPpvTEQxppDCigzOrTWdPwt0o1EIHkE/ADjiEGBaHjDeRQ5aN3Qgw6+juL3gyl1zD+6tsI9O3SqwhUMgE/YBeqg+UHNEPpNQZk0Tuhyq8PvRZKb1JuqAHrSv5OqG3JJ4Bew94Jpdd8YE0ovVMf9mAovcPTE8qZQtnc05B6WXoTypLGSIBnn75uKL0pezD7U8VvSWi9FrIfze8tz0+oZyc7Oe0RAREoZwKltAdTHDZ+ACNE41HIIcsPUWeVKQIiYMGcEZ5tSGcK1witd0KWj94MzcffB72KQGMiEHLQDo6hyw+tF0LqNfiELF96E8KSxkgg9KBR0vVakvVmaL3GsxP6+WmM30m1ufwJ8NyH1G0hy4ZukvUa9U+yPSidyR2UiIAIpBMopV6rvxw76a3QZxEQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAUdADhs9CCIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiLQwATksGngG6DLi4AIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAcNnoGREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERKCBCchh08A3QJcXAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQATls9AyIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQAMTaN7A1y/7y3/99df21FNP2fjx44PUtV27drbhhhta3759g5SvQkVABERABERABERABERABERABERABERABERABBovgVdffdVGjRplU6dODQJhscUWs80339xWXHHFIOWrUBFoTATksMlxty+66CLjb7311rMll1wyx5G134WivPjii22XXXaxK6+80jp16lT7wnSmCIiACJQBgVmzZtkrr7xif/zxR8lq06RJE+vWrZv169evZGWqIBEQAREoFwLTp0+31157zSZOnFiyKqE3l1lmGevTp0/JylRBIiACIlAuBOhHM/g4efLkklUJvbnccsvZWmutVbIyVZAIiIAINDSBKVOm2HHHHWf33Xefbbzxxta+ffsgVcKWPemkk+z000+3M888M8g1VKgINBYCcthkudM4T0aOHGlPP/20bbDBBlmOKs1mZu8ccsghdtRRR9k///nPWhU6duxY+/77723ZZZe1zp0716oMnSQCIiACdSVw00032Zlnn2XNWrew1guV1hCc+OOv1mOZpe3qy660zTbbrOCq0qH//fffU47HOV5fDvKqqiq76qqrnH7ec889U+qR/uFf//qX/fTTT86gbtmyZfpufRYBEahAAtddd52dccYZttii7a1Dh1YlbeE33/5mq6++il1++TU2cODAWpc9d+5cGzNmjPGKEyi9o8+A6YQJE4yZ44suumitr1PsidjQOLsWXnjhiF2HYk/X8SIgAgklcPXVVzu9uVDXztaibWn15vgvf7Q+A9a1a6+4xnr37l0wIWzNXFHriy++uLVu3brg8tIPnDlzptHnb9q0qQtiSt9fqs8M7BJ0RV2pczYp9Lhs52u7CIhA/RE48sgj3ff6s88+syWWWCLohXHaHHDAAU6HnHjiiQVda86cOfbdd9/Zzz//7PQbeg57EruyIaSY/nsp66exgFLSTH5ZcthkuIcYW2eddZbdf//9wZ01XB4HC1/MlVde2Z588knbeuutM9Qq86YXXnjBzdCJD0YyG+i8885TmrXMyLRVBEQgEIFhw4bZGWedaX2H7mPL71t6R/e8OXPt/Qsfsh122MGeeeYZW3/99QtqyYsvvuh0evrBPXr0sI022siOPfZY1/lN31+bz1999ZWNGzfOllpqKVt66aVdEe+//77de++91qplK9t1112tRYsW9ttvv9nnn3/uBhhXX311dxyG4dChQ2327NluKvnaa69dmyroHBEQgQQRuPzyy+2aay63O27d0vbcbaWS13zatFl21vmvOyf366+/XnTUOB3nK664wt5+++3qKHY60dtuu60LNPJBQg8++GDUjmtsu+22swsuuKDk7chW4Pnnn+8i7Inm/Otf/5rtMG0XARGoIAIXXnih3TDyFtv4nqOtx/alt5VmTphq7557v22x1ZY26vU33IybQvDhfH/kkUeyHnr99dfXyXH+xRdf2N577+1sx5dffjnrdeq6g3TwZBkhZfvNN9+ctbhCj8tagHaIgAjUC4E33njD9Z3/+9//1kvAIhmK0Ic77bSTc9wsssgiedtJAA795Lhgby6//PLOcb777rtbz54947tL9r7Q/nvJLhgVpLGAUtKs3LLksMlwb1FoDLRts802GfaG2YTnmOuRRqhQh80TTzzhIouoEQZV165djYHBb7/91g4//HC74YYb5LQJc7tUqgiIQBoBIvFOOeUUW/+2Q6znHgPS9pbmY5NmTa33Obva7Gkz7Yxzz7KXnnuxqILRs+uss447h1ksrFF2xx13uDXKLrnkkqLKynYwzveHH37Y9t9/fzv66KPdYVwTp1D3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QAABBBBAAAEEEOhCgA6bLoCYjQACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgh4C9Bh4y1MfAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgCwE6bLoAYjYCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg4C1Ah423MPERQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgS4E6LDpAojZCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggIC3AB023sLERwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQS6EKDDpgsgZiOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC3gJ02HgLEx8BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ6EKADpsugJiNAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCHgL0GHjLUx8BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQKALATpsugBiNgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCDgLUCHjbcw8RFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBLgTosOkCiNkIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAgLdATofNxo0bra2tzWWb7e3t5hm/tbXVGhoa3Orf0tJijY2Npv3wKM3NzaYfr/iqu/bBK359fb1t2rTJgybE3LBhg9uxVc6r/l65H+Wml72Oa1NTk9uxVWzP3NT71js3dQy8ime75p2bes/Kn9zMnx2y8WzXlDteualjmvbc9D7nerab3udccjP/e1ZTo3Ou1zk9ievBNOem9/WgZ7vm3W6mPTe9rwe9203lptc5V21Pmj+rcD2oI1i4ROdcr+vl+o2+uenZbibxWSXN14Pe7WaUm4Wzd+vmpPmzitp7z+941G6mOTeTOOd6f472utbnerB4u8F318V94rwe7Je9qerqnP6b7FmxvK6pqbGqqqpYYnUMoriqv3f8jtuN62+vekf1i2y8tqP4nvmT5tzRMfC00TH1Oq7edY/iR/mpv+MunrFV1zTHV95452YS8b3y3/vYVkK75mWfRG561T27XfDahndu+sfnerDQuU4545U35GYh9S3T09wuK288z7mesXUEotz3yn/vdo3c2fI+6vgqOrYdp8f1t/exjeK75WaN33cYMo7qH5d3xzie8ZPIHa+OODmp/p4+nrFV/zTH97aP4svJoySR+57bqKn2u9aXt3LTs3BOL6yrvPEsUbvjtR3F98yfOHOnqq6uLjNkRCcrLxQd0DTHj07kXj5JxPeqe9qPbdrrn0TuyMgrf9LcLqQ9d7zrn0RueuWltw3xJVC8eLYN5Gbv2WvLnsfWO34SuaN98Grb0mzvfWzTHp/c1BEsXMj9wjaa4+lDbvaevfexTXv8JHLT63yednvqL4HChdwsbKM5nuestMdPIndk5NW2cWyl+9+S02ETTeQ3AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAcgK+48iS2w+2hAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgikVoAOm9QeOiqOAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAClSJAh02lHEn2AwEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBFIrQIdNag8dFUcAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIFKEaDDplKOJPuBAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACqRWgwya1h46KI4AAAggggAACCCCAAAIIIIAAAggggAACCCCAQKUI/B/n8LQibHgyYQAAAABJRU5ErkJggg==)\n", + "\n", + "\n", + "Here’s where we define how documents move from source to destination. A workflow is just a chain of processing steps — each one represented by a `WorkflowNode`.\n", + "\n", + "In this setup, we’re using three nodes: `partition`, `chunk`, and `embed`.\n", + "\n", + "\n", + "### 🧩 Partition\n", + "\n", + "This always comes first. It takes in raw files — PDFs, Word docs, HTML — and turns them into structured JSON with metadata. We’re using the `vlm` strategy here, backed by Anthropic’s Claude 3.5, which works well for layout-heavy or noisy documents.\n", + "\n", + "→ [How partitioning works](https://docs.unstructured.io/api-reference/partition/document-elements)\n", + "\n", + "\n", + "\n", + "### ✂️ Chunk\n", + "\n", + "Next, we split that structured content into smaller chunks. This helps with retrieval later and keeps us under model token limits. The `chunk_by_title` strategy breaks things up based on document headers, with character limits and overlap settings for better continuity.\n", + "\n", + "→ [Chunking strategies explained](https://docs.unstructured.io/ui/chunking)\n", + "\n", + "\n", + "\n", + "### 📐 Embed\n", + "\n", + "Last step: embedding. Each chunk gets turned into a dense vector using Azure OpenAI’s `text-embedding-3-large`. These vectors are what we’ll send to Redis for downstream search or RAG.\n", + "\n", + "→ [Embedding models and config](https://docs.unstructured.io/ui/embedding)\n", + "\n", + "\n", + "All three nodes are passed into `create_workflow`, which registers the DAG and ties everything together: from S3 input all the way to Redis.\n" + ], + "metadata": { + "id": "pCEO1jxjwb30" + } + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.shared import (\n", + " WorkflowNode,\n", + " WorkflowType,\n", + " Schedule\n", + ")\n", + "\n", + "parition_node = WorkflowNode(\n", + " name=\"Partitioner\",\n", + " subtype=\"vlm\",\n", + " type=\"partition\",\n", + " settings={\n", + " \"provider\": \"anthropic\",\n", + " \"model\": \"claude-3-7-sonnet-20250219\",\n", + " }\n", + " )\n", + "\n", + "chunk_node = WorkflowNode(\n", + " name=\"Chunker\",\n", + " subtype=\"chunk_by_title\",\n", + " type=\"chunk\",\n", + " settings={\n", + " \"new_after_n_chars\": 1000,\n", + " \"max_characters\": 4096,\n", + " \"overlap\": 150\n", + " }\n", + ")\n", + "\n", + "embedder_node = WorkflowNode(\n", + " name='Embedder',\n", + " subtype='azure_openai',\n", + " type=\"embed\",\n", + " settings={\n", + " 'model_name': 'text-embedding-3-large'\n", + " }\n", + " )\n", + "\n", + "\n", + "response = unstructured_client.workflows.create_workflow(\n", + " request={\n", + " \"create_workflow\": {\n", + " \"name\": f\"Redis Tutorial Workflow_\",\n", + " \"source_id\": source_response.source_connector_information.id,\n", + " \"destination_id\": destination_response.destination_connector_information.id,\n", + " \"workflow_type\": WorkflowType.CUSTOM,\n", + " \"workflow_nodes\": [\n", + " parition_node,\n", + " chunk_node,\n", + " embedder_node\n", + " ]\n", + " }\n", + " }\n", + ")\n", + "\n", + "pretty_print_model(response.workflow_information)\n", + "workflow_id = response.workflow_information.id" + ], + "metadata": { + "id": "IGnCgfH2I2L8", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "44dbe387-ca47-4edc-92cd-8ace37834f83" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"created_at\": \"2025-07-12T15:09:08.873461Z\",\n", + " \"destinations\": [\n", + " \"993093e2-b39a-4c8d-9269-a10897601b16\"\n", + " ],\n", + " \"id\": \"0d9bc496-44cb-4bac-8302-bd0438fd58da\",\n", + " \"name\": \"Redis Tutorial Workflow_\",\n", + " \"sources\": [\n", + " \"50477cd7-32df-4ee7-b0ed-09bf64299128\"\n", + " ],\n", + " \"status\": \"active\",\n", + " \"workflow_nodes\": [\n", + " {\n", + " \"name\": \"Partitioner\",\n", + " \"subtype\": \"vlm\",\n", + " \"type\": \"partition\",\n", + " \"id\": \"3a405db3-638e-47a7-9ef7-5e728e3e40e0\",\n", + " \"settings\": {\n", + " \"provider\": \"anthropic\",\n", + " \"provider_api_key\": null,\n", + " \"model\": \"claude-3-7-sonnet-20250219\",\n", + " \"output_format\": \"text/html\",\n", + " \"prompt\": null,\n", + " \"format_html\": true,\n", + " \"unique_element_ids\": true,\n", + " \"is_dynamic\": false,\n", + " \"allow_fast\": true\n", + " }\n", + " },\n", + " {\n", + " \"name\": \"Chunker\",\n", + " \"subtype\": \"chunk_by_title\",\n", + " \"type\": \"chunk\",\n", + " \"id\": \"6f47169e-799a-409b-a353-dd2df4e13997\",\n", + " \"settings\": {\n", + " \"unstructured_api_url\": null,\n", + " \"unstructured_api_key\": null,\n", + " \"multipage_sections\": false,\n", + " \"combine_text_under_n_chars\": null,\n", + " \"include_orig_elements\": false,\n", + " \"new_after_n_chars\": 1000,\n", + " \"max_characters\": 4096,\n", + " \"overlap\": 150,\n", + " \"overlap_all\": false,\n", + " \"contextual_chunking_strategy\": null\n", + " }\n", + " },\n", + " {\n", + " \"name\": \"Embedder\",\n", + " \"subtype\": \"azure_openai\",\n", + " \"type\": \"embed\",\n", + " \"id\": \"975929a5-4e82-4549-abcd-65f6640e49ec\",\n", + " \"settings\": {\n", + " \"model_name\": \"text-embedding-3-large\"\n", + " }\n", + " }\n", + " ],\n", + " \"reprocess_all\": false,\n", + " \"schedule\": {\n", + " \"crontab_entries\": []\n", + " },\n", + " \"updated_at\": \"2025-07-12T15:09:08.887600Z\",\n", + " \"workflow_type\": \"custom\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 6: Run the workflow\n", + "\n", + "Run the following cell to start running the workflow." + ], + "metadata": { + "id": "tOIkt9GOwf6i" + } + }, + { + "cell_type": "code", + "source": [ + "res = unstructured_client.workflows.run_workflow(\n", + " request={\n", + " \"workflow_id\": workflow_id,\n", + " }\n", + ")\n", + "\n", + "pretty_print_model(res.job_information)" + ], + "metadata": { + "id": "7QLgPRt-JNYD", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "49b67720-0cf3-4716-ff96-bbcaa93656bf" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"created_at\": \"2025-07-12T15:09:12.501570Z\",\n", + " \"id\": \"38a93dc7-67bf-43b6-bea4-7c9a5ce212d6\",\n", + " \"status\": \"SCHEDULED\",\n", + " \"workflow_id\": \"0d9bc496-44cb-4bac-8302-bd0438fd58da\",\n", + " \"workflow_name\": \"Redis Tutorial Workflow_\",\n", + " \"job_type\": \"ephemeral\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 7: Get the workflow run's job ID\n", + "\n", + "Run the following cell to get the workflow run's job ID, which is needed to poll for job completion later. If successful, Unstructured prints the job's ID." + ], + "metadata": { + "id": "ObIv1fHfwigb" + } + }, + { + "cell_type": "code", + "source": [ + "response = unstructured_client.jobs.list_jobs(\n", + " request={\n", + " \"workflow_id\": workflow_id\n", + " }\n", + ")\n", + "\n", + "last_job = response.response_list_jobs[0]\n", + "job_id = last_job.id\n", + "print(f\"job_id: {job_id}\")" + ], + "metadata": { + "id": "LP5ZPuQJJgQp", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "5b3dc205-c557-4629-8456-f81a4a26a66e" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "job_id: 38a93dc7-67bf-43b6-bea4-7c9a5ce212d6\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 8: Poll for job completion\n", + "\n", + "Run the following cell to confirm the job has finished running. If successful, Unstructured prints `\"status\": \"COMPLETED\"` within the information about the job." + ], + "metadata": { + "id": "hJoLbPwLJupD" + } + }, + { + "cell_type": "code", + "source": [ + "import time\n", + "\n", + "def poll_job_status(job_id, wait_time=30):\n", + " while True:\n", + " response = unstructured_client.jobs.get_job(\n", + " request={\n", + " \"job_id\": job_id\n", + " }\n", + " )\n", + "\n", + " job = response.job_information\n", + "\n", + " if job.status == \"SCHEDULED\":\n", + " print(f\"Job is scheduled, polling again in {wait_time} seconds...\")\n", + " time.sleep(wait_time)\n", + " elif job.status == \"IN_PROGRESS\":\n", + " print(f\"Job is in progress, polling again in {wait_time} seconds...\")\n", + " time.sleep(wait_time)\n", + " else:\n", + " print(\"Job is completed\")\n", + " break\n", + "\n", + " return job\n", + "\n", + "job = poll_job_status(job_id)\n", + "pretty_print_model(job)" + ], + "metadata": { + "id": "nEfi8Q_SJzuh", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "74ff9007-c7c6-4258-8f6c-43c1e507ab93" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Job is scheduled, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is completed\n", + "{\n", + " \"created_at\": \"2025-07-12T15:09:12.501570\",\n", + " \"id\": \"38a93dc7-67bf-43b6-bea4-7c9a5ce212d6\",\n", + " \"status\": \"COMPLETED\",\n", + " \"workflow_id\": \"0d9bc496-44cb-4bac-8302-bd0438fd58da\",\n", + " \"workflow_name\": \"Redis Tutorial Workflow_\",\n", + " \"job_type\": \"ephemeral\",\n", + " \"runtime\": \"PT0S\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Step 9: View the processed data\n", + "\n", + "Once the job finishes, your documents will be processed and stored in Redis as key-value pairs — one key per chunk. Each value holds the structured JSON output, ready to be retrieved for semantic search or downstream use.\n", + "\n", + "You can open Redis Insight to browse and inspect the inserted data directly.\n", + "\n", + "\n", + "![image.png](data:image/png;base64,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M18xKVn2WsmZs5BZnyEbfSPGyNGjuyV60yw5un+7nD93zmS/sdFlkkJM3xtnKgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIOAJh4eESZoJME8TZQFPCCTEdG4/b8zE2uIw5e1ZiTIAZc/68a3aE6x53EEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAg2QI2jDMVhXobo4Gmqc6kxRWIuWAk6nShAtNZihDTkeAWAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgRQSsKGchnMXqguJMT1hPca79AowdUlCTE8vHiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCQMgJu4ZxHaJcyW8/QWwnP0GfHySGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQLoTIMRMd08ZB4wAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAxhYgxMzYzy9nhwACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEC6EyDETHdPGQeMAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQMYWIMTM2M8vZ4cAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAuhMgxEx3TxkHjAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEDGFiDEzNjPL2eHAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQLoTIMRMd08ZB4wAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAxhYgxMzYzy9nhwACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEC6EyDETHdPGQeMAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQMYWIMTM2M8vZ4cAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAuhMgxEx3TxkHjAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEDGFohI7OkVLVo0sYuyHAIIIIAAAggggAACCCCAwCUgsGPHjmSdJZ8zk8XHyggggAACCCCAAAIIIIBAhhNw/5xJJWaGe3o5IQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQTStwAhZvp+/jh6BBBAAAEEEEAA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3L55Vc4e2S43rpwXCIOR3dBGtBVtRttpJEACJEACJEACJEACJEACJEACQQnQEzMoE+4hARIgARIgARIgARIgARIgARJ4zAhADDx/fPdj1mo2lwRIgARIgARIgARIgARIgARIwBcBemL6IsP9JEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACj4RAiD0xkydP/kgayIuSAAmQAAmQAAmQAAmQAAmQAAlETgLHjx+PnA1jq0iABEiABEiABEiABEiABEiABB57AiEWMS/fiP/Y3yxvgARIgARIgARIgARIgARIgARIwD+Bm1cO+C/AoyRAAiRAAiRAAiRAAiRAAiRAAiQQAQQYTjYCIPMSJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACISdAETPkrFiSBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEggAgiEOJxsBLSFlyABEiABEiABEiABEiABEiABEohEBKJFiy5JkqWSuHHjmVZdu3ZVzp89KXfv3olErWRTSIAESIAESIAESIAESIAESIAEnkQCFDGfxKfKeyIBEiABEiABEiABEiABEiCBh0AgafJUEj9BIndNCRImkihRRE6fPOrexxUSIAESIAESIAESIAESIAESIAESCA8CDCcbHlRZJwmQAAmQAAmQAAmQAAmQAAk8AQTixI0f5C687QtSiDtIgARIgARIgARIgARIgARIgARIIIwEKGKGESBPJwESIAESIAESIAESIAESIIEnlUC0aNGC3Jq3fUEKcQcJkAAJkAAJkAAJkAAJkAAJkAAJhJEARcwwAuTpJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACD5cARcyHy5O1kQAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJhJEARcwwAuTpJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACD5cARcyHy5O1kQAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJhJEARcwwAuTpJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACD5cARcyHy5O1kQAJkAAJkAAJkAAJkAAJ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JeFdaT0t4W1phUoIlzCImxAwnzSDB2powulG1P0/dp6YEQWG1yEBEiABEiABEiABEiABEiCBp5HA0+iJ+TQ+Z94zCZAACZAACZAACZAACZCAfwLW+xCl9qrIZwVN/2c9vkfhjWnFWs+7wL1HlHj7WHtieoLjNgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAk8TAKe4WQfZt2Rsa6IEilDc+8IkkwjARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggUhDgCJmpHkUbAgJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAIUMTke0ACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJBCpCFDEjFSPg40hARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARKgiMl3gARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIIFIRoIgZqR4HG0MCJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEARk+8ACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBApCJAETNSPQ42hgRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgCIm3wESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIFIRYAiZqR6HGwMCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBA9JAiuHnlQEiLshwJkAAJkAAJkAAJ/J+98wCMouqi8AVSCBACCb33DtJ7k94FUQS7qNgVVH4rSrEgNsRGEWygKE1EmkqX3kF67zU9IYQE+O95y2x2N7ubBIgkcK4mM/PavPfNhJ2d8+59JEACJEACJEACJEACJEACJEACJEACJEACJEACJEACV02AnphXjY4VSYAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAE0oMARcz0oMo2SYAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAErpoARcyrRseKJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEAC6UGAImZ6UGWbJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACV02AIuZVo2NFEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCB9CBAETM9qLJNEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBqyZAEfOq0bEiCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBAehCgiJkeVNkmCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZDAVROgiHnV6FiRBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEggPQhQxEwPqmyTBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEjgqglQxLxqdKxIAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiSQHgQoYqYHVbZJAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRw1QR8rrrmDaro659TAoOLiF+OIMmSNWNrsJcvXZIL5yIlOuy4JMTH3iBiPC0JkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJZC4CmUrEhIAZUqxyhhcvrVsAIqt/rrxGcA09uoNCpgWGWxIgARIgARIgARIgARIgARJQAvny5SMHEiABEiABEiABEiABEiABEiABErATOHHihH0/U4mY8MDM6N6XdrIOO+gz+h52Yo9DKndJgARIgARIgARIgARIgARI4NYmcPbs2VsbAEdPAiRAAiRAAiRAAiRAAiRAAiTgkUDGjsfq0m2EkM2slpn7nlmZs98kQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAKZk0CmEjEzoxemdVtk5r5bY7heWz8//+vV1HVpJ6t6yvr5+V1TW1myZNE2Mta4rmlA17lyWtn4+voKmN5MhjHhXqORAAmQAAmQwNUQ8PS56Ck9Nedo2bKtdOrc3RRFO5WrVJNs2bKlpmqyMtdaP1mDTCABEiABEiABEiABEiABEiABEiABErjlCWTTl+qDU0MhMDAwNcXStUxgSNFrbj+7v78k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fn6+Hs/v2Ja7fW/M3ZW30iDkWuuaWmmetvg7A8O08IeXpwagNQKcu3ZxP6Bd/H27mrfzgTfadXefWO3AQ9YSlK00a4v6EILdhenDtcK9ixfNabGUxuqtLds5E932B/VSuj+9tc08EiABEiCBzEMA0R/S8jmbXiPDs1piIsKbO0+mSq/z3eh28cyBH3fPBegbvmfgmQWTiTKLlS5n8+x17e+BvdtN0okTJ1yz0nScEb5npqnDLEwCJEACJEACJEACJEACJEACJHBNBNLyPdPnms70H1e+rIJUFn0p4M0g7ETrbGRPltILA4he8JS73oa+09JOwJNQiJYgDnkSMJHv7VrjPrnaF3uo661fyPd27lgv9yf6bXlOYt+dOYYRdZePl4Tnz1/9i0JvY3N3PisttQImyuPvLK38UxICcT+4E7tTOl9KvFHfk4CJPG/1U7pWqO/OUhqruzpWWkrnTOn+tNrhlgRIgARIIHMTSOvnbHqN1tskofQ6541sF884+PFkmGzlbsKVp/JMJwESIAESIAESIAESIAESIAESIIFbmYB3RTCDkblwLjKD9Sj13cnMfU/9KFmSBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABK6dQKYSMaPDjktm9GhEn9F3GgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQMoEMpWImRAfK6FHd0h8THimEDMhXqKv6DP6TiMBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEkiZQKZaExPDgRgYdmJPyiNjCRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggUxJIFN5YmZKwuw0CZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBAmghQxEwTLhYmARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARJIbwIUMdObMNsnARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARJIEwGKmGnCxcIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQALpTYAiZnoTZvskQAIkQAIkQAIkQAIkQAIkQAL/CYEsWbJI1qz8mvufwOZJSIAESIAESIAESIAESIAEMj2B2rVrS5kyZTLsOHwybM/YMRIgARIgARIgARIgARIgARIgARJIBYGcOXPJvfc9In5+fnLgwD6ZM/u3VNRiERIgARIgARIgARIgARIgARK4dQlAwIyIiDAAsL9hw4YMB4MiZoa7JOwQCZAACZAACZAACZAACZAACZBAWgi0at3eiJd//zUnLdVYlgRIgARIgARIgARIgARIgARuSQKWgLl//37JmzevlC5dWjKikMk4O7fk7clBkwAJkAAJkAAJkAAJkAAJkMDNQ6BgwcJy9Mihm2dAHAkJkAAJkAAJkAAJkAAJkAAJpBMBVwHTEi/hlYn9jGQUMTPS1WBfSIAESIAESIAESIAESIAESIAE0kzAz89f4s7HpbkeK5AACZAACZAACZAACZAACZDArUTAk4AZHh5uMFjhZTMKE4qYGeVKsB8kQAIkQAIkQAIkQAIkQAIkQAJpIuDv7y+1atUTbOmJmSZ0LEwCJEACJEACJEACJEACJHCLEfAmYJYpU0by5MkjCC+bkYwiZka6GuwLCZAACZAACZAACZAACZAACZBAqgnkzRsiLW9vK9u3bZGLFy+muh4LkgAJkAAJkAAJkAAJkAAJkMCtRCA1AuaGDRsyHBKKmBnukrBDJEACJEACJEACJEACJEACJEACqSFw8uRxGfnp+1KnbkMJCsqTmiosQwIkQAIkQAIkQAIkQAIkQAK3FIHMKmDiIvmk9kr55yqV2qIsRwIkQAIkQAIkQAIkQAIkQAIkkEkJxMcczFQ9v3z5soSHh0lISH6JjIzIVH1nZ0mABEiABEiABEiABEiABEggPQlkZgETXOiJmZ53B9smARIgARIgARIgARIgARIgARJIdwI+PtkEYiaNBEiABEiABEiABEiABEiABEjARgDrXEZERJh1LvPmzSsQNBEyNjw8XKw1MDNiCFnH65dqT8zez/9lrzd5VFv7PndIgARIgARIgARIgARIgARIgARI4EYSiIyMlDx58t7ILvDcJEACJEACJEACJEACJEACJJChCJQuXVoOHDhg+gQRM7MJmOh4qkXMDEWenSEBEiABEiABEiABEiABEiABEiCBKwTWrl0pPXv2kaJFi8uhwwdk65aNZEMCJEACJEACJEACJEACJEACtzwBCJmw/fv3m21m8cA0ndVfFDEtEtySAAmQAAmQAAmQAAmQAAmQAAlkSgI7tm+VkYcPSsGCheTipUuZcgzsNAmQAAmQAAmQAAmQAAmQAAmkBwFLyETbefLkMR6Z6XGe9GiTImZ6UGWbJEACJEACJEACJEACJEACJEAC/ymBmJhowQ+NBEiABEiABEiABEiABEiABEhATChZS8DEFmthZvQ1MF2vG0VMVyI8JgESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIFMTAAhZK0wspl1GFkza8fZbxIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggZuTAEXMm/O6clQkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkGkJUMTMtJeOHScBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBm5MARcyb87pyVCRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiSQaQn4ZNqes+MkQAIkQAIkQAIkQAIkQAIkQAKZmsCFCxcydf/ZeRIgARIgARIgARIgARIgARIggZQJ+Pn5pVzITQl6YrqBwiQSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIEbRyDTeWL6+PpIQK6c4uuvqm2WLDeOXGrOfPmyJMRfkLiYWElMSExNDZYhARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggVueQKYSMSFg5g7Jm/HFS+u2UpHVN7u/EVyjQsMpZFpcuCUBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABLwQylYgJD8wM733pDraKmeh7dHiku1ymkQAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEC6Eejcubt00h9HmzP7N5mtPxnVMpWIaULIZlSSKfQrM/c9haExmwRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIIAMTgID5zNMPO/Xwy6++y9AiZlan3mb0g4y+BqY3fpm5797G9R/nZdfwvNmyOd+2SMua1TnN6pa78lbejdjmyBGQ7qf11/VifXxSnp/gjZvVSbSD9q6nuWMQEJD9ep7iqtvCeH19fa+6PiuSAAmQAAmQQHoR8PSs4yk9Nf3o+/A9MuCFx0xR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w5fAiEib95W7Ygi/6M3wZS09BEz9durttMzzQiCla+ZaNTXl0yJgov2EhATz43qu1Byn9VyObVoegI5pjvvexDqUg3fe9TJPQinaR563/Gth4Nr/lMacUv7VCNGufXA8joy8vi+IU2LpeG5rPzX3vFWWWxIgARIggVuDQEYQMEEaYfJvNUvpWeRW43EzjNdRwCydp5y0LN1eEi8lqggZ7iRgOo41/mK8xMfZonk4pmP/otZ1J266lvN2jPU6L7gRGb3VSW2eN0EsLQKm4/lQz1Ndd+KlVRd98dYfq5y7Ld4NuBMwUTZBvTDxc11Nv/K7E2lTc464aPf3SmrqXi2f1LTNMiRAAiRAAiRAAiRAAjcHAXhgQqgcuXt4phtQphIxEzRslq96pmVGQ99pJEACJEACJEACJEACJEACJEACmZfAYfW63HHmX4lPjJMtpzckG8jsPdOMuJks4xZNWD9vh8RGep9IfIui4bBJgARIgARIgARIgARI4D8jAA/L/hVeNetiujspQsmO/DRjCpyZSsSM05CNvv7qcpqCN6a7i3BD03QGKPpOIwESIAESIAESIAESIAESIAESyLwE4EW56ugSjwPYE5q0LqPHQrdQxvG9Z26h0XKoJEACJEACJEACJEACJJBxCWRUkTIlYrbFJ1IqlUHyExMSJSo0XMO+aKiVzBCeFeFrtK/oM/pOIwESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESSJlApvLExHAgBkaHR6Y8MpYgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARLIlAQylSdmpiTMTpMACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACaSJAEXMNOFiYRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggfQmkOnCyaY3ELZPAiRAAiRAAiRAAiRAAiRAAiTw3xDw8/P7b07Es5AACZAACZAACZAACZAACZAACWQ6AvTEzHSXjB0mARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIggZubAEXMm/v6cnQkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkOkIUMTMdJeMHSYBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBm5sA18S8ua8vR0cCJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJHCLE+jQoau01x9Hmz9vlszTn4xqFDEz6pVhv0iABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEjgOhCAgDmgfz+nlj4dOTZDi5gMJ+t0uXhAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRwownQE/NGXwGenwRIgARIgARIgARIgARIgARI4D8nEOCTQ7pX7COTt02Q3lX7ym+7fpa4xHMp9qN2oYZSMaSqKbfo0Fw5GXM8xToZuUD1ArXlQMReibkQ5bGbRQNLSJm8FWTZ4b9NmZJBZaVccCXZenqD1C/SVP7YM8Vj3avNyF8irxQuGyKHtp2U8nWLy7o5O5I1lSVLFrl8+XKy9NQmlK5ZROJjE+T4njP2KoX0nDhfwoWLsm3pPokOTX5PBBfJLQVLh8iO5Qfs9bCTNVtWuXTxklNaag58/LJJop7PnaVmjO7GYdrKor/d4fGU7q4Dmla4bD4JKpBLdq486KGELbl8vRJSpEI+iT4bK1sW7fU4JquRBt2qytbF++Rc1Hkr6aq27q5HNp+sUqNVOQnKn0tO7A2VXasPpbptMNf/5dIlN/BSYIfzXkxMfg8EBueQKs3KiF+Aj+xdd1T7dDbV/fF2f6S6kXQumJq/13TuApsnARIgARIgARJwIQAPS3fmLt1dmqvHpru2/os0ipj/BWWegwRIgARIgARIgARIgARIgARIIEMR8MvmL53K9ZSft4032zl7p6dKxDwafVBiEqLloRpPqoi3PkOImCWDVBzR8ewJSy70pQT9rsoPGgF348nVHosWzFlEquS7zS5iFs5VTBoUbSbHog9L8xJt00XEzFs4UMrXLyGhx6OkStPSTiJmkfL5pXmfWuKr4h/ExkUT18up/aGm/77+PlKzbQWp3aGSzPhosZw+GOZxXMUrFZSzRyPsIibEsPaPNZQF369VsclX6naqLIt+XJ+sfp4CgVK8cgG7iAmRqdWDdSWkaJD4ZveR5VM2y74Nx0y9wJAcUr9rVSmnwuiYZ6c7tZU7X07p+FRjIzT65/SVBd+tk2O7Tpsy3sbo1IgeOI4DIlrTu2+TUrcVMSIiBNrFkzbI5SuCXJ2OlaRai7KSEJ8oG+fvkh0rDro2l+w4X4k8UrBUsFcRs6oKdBX0eq2YvkVKVCkkEDQh8oJL+XrF7W2CK67L0Z2nVWQsL9uWOQvBVkFcx36jekhcdJLAuWLaVrd9cL0eaKP1I/XlXOR52f7PAandvpKc0vsg4lS03D+sg+TME2BOA7Eym29WGf3MdLvwWK9LFSlXp5jgmuIarpi2xZTFceuH6knBMsESFxUvS3/eaNo0mfqrTM2iUqdTJUG/cd5Zo5bZ28R57hx4u6yZtU0iTseY+2r2F/84iaSod/+wjjJ/3Cr7/ViqRmFp2qumJOq1glb/h9aJjYgzp/Q2Dm95pfW+aN+voVyIS7C6LtNGLJJI7RcMIn7jO2vovZMov3+2zF4mpR1vf68p1WU+CZAACZAACZBA+hDIKCLktY4u1SLm5FFtr/VcrE8CJEACJEACJEACJEACJEACJEACGYIAvC7jEmNNX7BNjRcmCp+OPWl+ziUk99C7UQNrVaqTHIk6cFUi5ttL+qeq23BAs8ywS1Bm+EmF96pVLy1biCzx5y6o2IKfJMElm282adyzhvypYk/YiSjJUzBQerzUUr793yzTfNnaxSQm7Jxd7EnpnBCYLCtepaDsXX/UCGxI27/JJkRa+U5bh3ot7q0tJ/aFyp/frJaAQH/14ktqs1KjUnJYvUkrNijhVB0HDe6oJhvm7ZI9aw8bb0cIs7+885cKa97HmKwhTbDOCcE3MeGS/Pj6HCOStXusgVRpUlrFwv2C8ZWoWkgmvjnXeI3e/XprFXEj5czhcHdNpikNgtuGP3fJqQNh5seqvPCHdYIfGLw5e/6vlRzfneT5apVz3WbP6Wf69eu7Nu9f1/xkxw7MkVeqemGZ8PLvRsidN26l3SN14qB59qoQXsHD8pys1LCk5C2cW6/B30b0hTBnWb3OVSTyTIwRGVGm2/PNZNLb80z7eQsFSt0ulWWWin5x0fFGzLbaRP2QornlfOwFu2A863MVB12cPJv2uk0CcvtbpzPblvfVkV/f+9uIojh/zTYVZPnUzSbP2zi85fkr1y0L99rFWccT5sid3fA4suOU8YJ2zEtp39Pfa0r1mE8CJEACJEACJJD+BNx5WVpndRU6UdY1zSp7o7apFjHjYw7eqD7yvCRAAiRAAiRAAiRAAiRAAiRAAiRwXQlcuBgvO8/+a9rEFseW+WT1lXurPSaVQqoJ9mfunizLjyy0sr1uW5XqKK1LdxL/bNll48k18tO2b0zI0yEtRsqJ6COC8K0IXQvh8dS5EzJy9TDTXoXgKuacAb45VCQ9IWM3fCrRV0K8Dm/1tfywdbQ8XONpCfDNKWM2fCz/nt4o2bJkk+GtR0uhnEVNG+3LdpcVRxfJjJ0/ee0jMssHV5Z+tV805SZs+lx2nLV5nCEBglifqo9Kw6LNJeFSgqw+ttSUs36dPXdKjutYQuPOqjfmISvZ7bZQocISFRUp586lTfSN0pCk4SpSRofFGW9Mq/GLCRdl2gcL7WFk4V0H4RCebPAutEKeVtdQoq4WkMtf2j5aXwqoVyEEqcgzNhEb5eApl694HlOlbJ2ismvlIVn9+zZzDB5N77nNeBpeVIFw95rDJh2/smbNIsUqFlAvyrUmDSKWo639Y7vAO9KdIfRsrrw2r0B4cMZfEWtTGqO3cSA8K/prhdkNPRYp8DCFwbvz4JbjRrSDyLZzxUEjWlkiJkSslvfXNuViwuOM5+D+jTYh10eF1c7PNLlSPkIF21WCawSvxp6v3K7jyGFC7CYmJMqSnzbKoa0nkg0ZYur2f/Y7eSAiFC4EOjDaMH+nrJ+709SD2AYeWZQvzPIkxb6361GmVlH1XrxNsufyk3uHtEdx+VVFSYiIrgbBd+WMrfbkai3Lqki52h4SOEy9gC0rUiG/8b7EMe7LsJNRElIsj/EArqji59ZF+4yAiXwwtwyCO4Rs9OfB9ztJ5KkYmTnS+e+pWKUCmu9v2rXqYYsx5wwKMCIm7g9HMd+xnOs4vOVlz+Fn2nEX9hZhfdfoPV+yWiG3ImZ15VP99nLqAe0jBzYfl2W/bLLfZ57+Xh37wn0SIAESIAESIIEbQ2Dv3t0yf94s2bt3l9cOlCtXUcvs9lrmRmSmWsS8EZ3jOUmABEiABEiABEiABEiABEiABEggvQh8snqIadraWufpXrG3JFy8IK8vekaC/PMIBMjdodvkjIp33qxq/prSuNjtMmTpy3Lx8kV5ueFgaVS0hQqLi6V47lLyzcbPJPx8qDQv2VbeWPysfNnxJxMGFqFgn6jzkgxf/ro5R4+K90qvKg/L+E2jzOmKBBYzYVvfXjJAquSvYQTGN04/a84xaPHz8ly912TN8X9UbFwmiZcSvXXRnrc3fKe8vvAZGdBgkAquzh5gLUq0k+CAfNL/z4clb/YQGarj33pmo70uwsj+sv07cwyx1Zs9+dQA2bx5g8yYPtlbsWR5EJCWT7UJq3+NX+2Ubwl0SCxQMq/EhJ8zAqZTITcHze+tJYf+PWnCZMJzsOvzzeWYhjWFzfh4sSCUKCQzCI+OS21WaVbaiHQTXp5lRMfeg9oZ70rUC9SQsLGRcdLluaZSVIUuhElFfy+cT/k64Dw9X2llhEB4STqO09sYvY0DfXKsC/Ft16pDSFYxLE7ylww2+/gFoRAiGez/7F0FfBTHF34QDwQIHoIT3N3dHQotbam7u/3r7i7QQtHSlhanOMXd3d0lQiCEkEDC/31zmcveZW/vckkgoe/xu9ze7szszLezs8t8870HYrDfi22VYnPOz6uUarINK0wPb7WRkZWblFFE7eyhK6lZ/9rKTezUr5coxeu4N2Zz3naK9D3F7mtTjOCp0m1/qrUoT9O+WWLYQ1S9ZXka//485b71tjc6sUozilWtURTAZFvJCoXpvk97UV4mOKFWXTqe+yArGK2uB9Szh5lge3zoQEK9YGaxLRErE8rQE3vSVKEgZGsysYlYmnGs5p0zbLWdWAR2hVmBqQlfEMmhnB9ujFEW4qHe/3lvRbou+WOD3Z3wqsnbFKEL1e1U7mNOAkxFvkOBO+2bpdTn2dYO2Cz9axP1ea41u+U9TKXZffHUrxyxQ2KzduhCzI7hmsOdMAhbH64z7jFN/Ot8Zt/on1WblScoY1OSr3G92lAVVhfrvmV1v5qVJ/sEAUFAEBAEBAFBIOchEBFRhQ64ITpvRK3NlwPeiJrIOQUBQUAQEAQEAUFAEBAEBAFBQBAQBASBHIBAa47zuODwTMrnl1+RgrujtlG1orXd1gzxIRcdmUN+rN4MZCXm2pMrqFbx+iofSFG4fI1hEnNH5BYmelIoPukiKz19qVFYc6WsvMTuWXFOEJK1itny2U6ahybsHKNct24+vY5K5Atjsg10G9HlqwlcVjJdSIxV21dZOemJgei6kpLEpIozrULUuFRLmntgmqpjdEIkLTu2wJMiTdOMGT2MFi2ca3osszuVIo9jBq5lMtCtMVzlaoWxYm6/SgpyLvJIWrxMqN7wAeGFj5EIRDzLzfP2quNx0ZfYLegh++kKMomJOII7lh6kX56ZwoTmZSZDa9qPW21ADQfXt8EFA5m08zNVbKZro5t2GM8HhV8ou9vdv+6Y2g3CCbE82w5uoFzZNuF6Jl229ReQVFdZ5brl332q/edOxynCEWpRGNzOIr4ksAH5ivRaYarxupaSoo6bdCmlfkWcRaO6EeWun7GLoACEkg9kHZSZMJCGUGWOfm0GjeFPCSY0qzUtp45ZXQ+cG/WB4Vtvqx2GP5UahDPReNx+ndGWAkXzUx6fPDT8uWkqBmuXB5vac2zk+KFQeDbpU5PgPjisUlG6zO6OYQWK5WNyOFS5l538xSJWszYkkJww9CP9UTil1k0d5D8oc/uSA+buj7kZwEUrhEGUOptzO4zHzY6BhF3MMWRHvzKDJnyyQJ0fsVndGdSeqCdcHUMVun/9MaXKdZdPjgsCgoAgIAgIAoLAjUcAxOSTT71IcBVr/Nz4mnlWA1FieoaTpBIEBAFBQBAQBAQBQUAQEAQEAUFAEPgPIABSEerLJxq+4tDa7QYlosMBw4/i+UpSz4gB1LlCL/teKB5hTO/Y9jGpkeyklkS+OsUbUrmCFW1p+G90gk0hiB0gPEEmwqDwBCkCN7cgIWG2bc/IS5XBzZ+iQcWZFE1ziRl96axSZLrJZnr40CEbaWh6MJM7m/WvpQgwuEV1ZyCVkq8mO5BaF5iQTOWCLbMXKBzMrkIv29NciLqk1JPYAcUl1HxwrwnbxHEh4XZVxy5UO1386fZYC1r023o6zfE0EcOx++MtmLCb6eA61bmNnrYjhOvc6YEmNPPH5fY2o67jP5iv3OKCHEUdrzCxCENcx2gmKh3MxgWqXXChqg1uexPZPSvcz0Kx6ImBUDu4yYaRMf05dsuqLS4mnpW1NqUoSNT1s3apQ1eTkmnrgv0E9exuJmKtrocuy913pYal2V1uGvmdzGTtlcQrNvey3O59TPy2ub0+BQT5Kbe2iPUJgrJC3VJ0ml3C7it0VBHQOA9wXffPDuWmFS5fj+86S2GVi3J7LWKqcj6QzPggLiqIRJCUwRwX09ffhxATFApNqFQTL12hlgPrqt+IBWs053a4O2asEwjSg5tPMrFdQilwjXmdt6HqbNi9GtXtWNl+CIpZMUFAEBAEBAFBQBDI+QjARWwl/vz045eWla3E7mThdjanmZCYOe2KSH0EAUFAEBAEBAFBQBAQBAQBQUAQEARuGAJwx5rI6saPV/zPIU6mJxWCGnLBoVm09ewGT5Lb04AwXH1iKbtoHWXfl5GN5JRk8s2Tdf+9j008R8WCi9OZeBvpFOyfPyPVuS5p4RIzvEpx5QbWkxMiJmJgvgClHkQ8SBiIIk8M6kqQTLFnL6rkxnyIrZmf3ZBqQzxLTwzqS5CAIDBhhzmGJIhFkI8gl2BmbfSkHVB19mbXpEs5NmXk0VhVlv4D8lGrUbs81FSRdTgWH5tAlRqU1snSffuz+k4b4lT6M7kHBaWnVoljVS4cm/6+8Av0sxcBghauec0MJKMmnK2uh1le533AvSjHszy+60zaISYuEQcUddBxTUGe6nMiIYjVc6dtsaSaD6hNUOXCLnAfgCtabVC0emLFyoaqWJ1dHrYpPkEUNmdXvSCJ4fb1zMEYRWCirG2L9yvXw8ZyTduRmsDqmLEMpbS1ibqNu9Nt41oj3qpZrNN0iWWHICAICAKCgCAgCORKBOBO9idxJ5srr51UWhAQBAQBQUAQEAQEAUFAEBAEBAFB4D+EwBYmIbtW7GNvcXhIWUUw2Xe42Nh8Zj11rtibfPL4qBSFAgtTfv8CLlKn7d52diM1L93WntaH1aBh+V0TSmk5bVtQaZYKKaN+IJ92NeucztPfqE8nVpOiHChTm7B7WQ94DtPiq9eoTUWLFjc95u3OiEalqTbH9Pvn+6XkKWkIV7HH95yl2u0j1GlDiuSjsIiiHl3XoztOc5xEVqAxCHA7ivNrjEF4QSlXlt2rwirWC6dT+90r1JDPjxV3RUsXVPlAYIEo1MpGV2101w6o+BCvEG5hER/Swbj+iOsIK8RuZouEF7STUseY0CvCdYHSEJaXiUrt2hW/oRjURF215uVVGzUZjONWBgI4X2iwinXpnK5qs7JqF+pdpUlZOsoxS2GIL9qoR3W1DdyrcvzFU/tsuFpdD1sG679QdKIvONcfKsV6nauozMAGyl1cWxiIaxDPsKrs1hZqy0RWXcIObDyhFIogd9EOYAXlpjuDanfCxwvsH6hSF4xZr+K2nmfCHG6KQRbDENs05qSjUtZVO5De1bH6Xara3cCiv+F6e9Jf4X4ZKkz0Cxj6QmCqy1y1Q/4IAoKAICAICAKCQI5FYD8TkyAoc6MrWYCatpQux0IsFRMEBAFBQBAQBAQBQUAQEAQEAUFAEBAErh8Cv28bTo81fJEacqzKy8mXKW+evPT92o/pYtIFurX6vVSvZCOOSxlO99d7muNQXqKvV7+v3L0uOTKXyhQoT590GEJn409T4aCi9Ovm71Q+q9qfiDtKU/b8Qe+2+VqpH0MDi9C8g9Pp1MXjVtnsxxbzeV9o9g61KN1excX8Zs37FH/Fphq0J3LagPvaQTXvo+LBYYowbRHTjoZs+EKlmndwGhN1r9I3XUZRwpVLtDNqCxVlZaY3NnDgnbRlywaaPm2iN9lN83R5sJmK5Xj7W13UccQxnPrlYrtS0jQT71zCsQB7PdOaarOKM5FjQYLk8wuwEc6u8mD/5n/3UrdHm9MDX/RWpNbx3WcppEiwPcuCMeuoy8PNqAUTpVDvgVx1ZyAj5/26RhGOIDQDgv1p/oi1dleyVm20agfI1pIVilBwSKCdBDy68zS7rd1ABTnmI1zWQs3pF+BLS8dvtruaBVk388cV1Jld0LYcWIfjHvrRvrVH6RC7G4XtXnWE+j7fhlKSr6m8M9hNracGMvQY1wFtNhpc9OZl9emd73VVCshdKw/Tib02t8lRJ85To141KILdvuZhN6tRx2JpG8dkhLm7HsZzmG2DuDNTFK5ll7C9nm6t6uPD55xrcN0K97Ctbq3LbnSvKBe8xmMgVcvWLEl3vd9NnQ5ucKFszYyBBIXr3Ls+6E4JFxOZbCeaNWSlQ5Gu2oFEro6BrIYCNymhpnJdu3HO7nRxSh1Okvpjx7KDinAfzPWB8jQ/K4b/HbWWLnPdxAQBQUAQEAQEAUEg5yMAl7JwFQtC08wi2JUs0uREy+Pr6+v4FumilmFhYS6OyG5BQBAQBAQBQUAQEAQEAUFAEBAEBIGbEYEKETVMm3Vovy2W3KlTp0yPe7ozp/8/M9A3iPx8/CnOEB/Sk7ZBSVnAvyDFJsao+JWe5EEaqPug3oxjsvRqSsZiXMIVqX/eAEpk0hWG+Jp31HxQbRv/gDD9bdsvxl0ut/P7hyhSFC52vbWAgABKSkrKEA7ensvTfHC1CeIQsUUzYlDjwdWns4JPl6HjJ+rfnn4HhaS5MPU0D9J52w7lMtWCfEK5iZeS0rUTKjyoES+CoMsYdJbNgqIvhVWPiC3pbFAL4jIBd2dzdz2c03v629V1xD0GV70ggc0MKkyQvMpFq1kCL/YBc6gxXZ3TiyJVFvQBXOMUJ2LZXXmI24n+eoldLGf0/nFXthwXBAQBQUAQEAQEgexD4MmnXrIkMbt1661OPuc6xcTMyP8zRYmZff1CShYEBAFBQBAQBAQBQUAQEAQEAUFAEMjFCFzm2Jj4ZNSSmfQ7d9kW6zAjea8xM+RNPpwDhIImMPH7RNwxGr7pW2w6WEbI0YtJcQ55vfmRmJjzlFoZieVobLM7Ikm7FzXm8WQbhKo35m07oOyzMlflgvBC3MisNis1nxmxqc/v7nrodBn9dnUdcY9ZnVPF0MzoydykB+ZW53ST3eVhd33AVUYQtJlVmboqW/YLAoKAICAICAKCQPYhcIAVmF2ZqNz/457sO0k2lSwkZjYBK8UKAoKAICAICAKCgCAgCAgCgoAgIAgIAjcKAZCViJUpJggIAoKAICAICAKCgCAgCAgC/20EoLB88qmqKi6mGRJwJfvTj1+aHbrh+4TEvOGXQCogCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCGQPAjmVpHTX2rzuEshxQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEASuJwJCYl5PtOVcgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAg4BaBXOdO1i8gH4UULkX+wQUpT96czcFeS0mhpEvnKS7mJF1JjHd7MSSBICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAIEOUqEhMEZpHS1XM8eak7FkjWgPyhinCNPr5LiEwNjHwLAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAhYI5CoSEwrMnK6+NMMadUbdY07tMzss+wQBQUAQEAQEAUFAEBAEBAFBQBD4TyKQlJT0n2y3NFoQEAQEAUFAEBAEBAFBQBAQBASB/xIC/v7+XjU3Z/tjdWoSXMjmVsvNdc+tmEu9BQFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEcicCuYrEzI0qTN0tcnPddRty4neePHnI3z8gJ1Yt2+qE9qLd3pg3eQMCAi1P5U2ZlgVm8UHn/uH8O4tP53VxObVeXjdIMgoCgoAgIAhkKQKunv2u9nty8nbtOlOPnv1UUpRTvUYt8vHx8SRrujSZzZ+uQNkhCAgCgoAgIAgIAoKAICAICAKCgCAgCAgC/3kEfPLmzfuuJyiEhIR4kixb04QUCc90+YEBAXQ1OdllOYwH+fn5UnJyiss03h64GHPC26w3Tb78+UOoevVaVKJESbpw4TxdvXrVoW3Fi5fg47Upf0gBOncumq5du0ZhYeFUtmx5KlashMMnT568lC9ffnr5lXdo0cK5DuU4/yhevKQ6L8qNjY1R5RYoUJAqVariUCbOkS9fCKc5p4owq49z2a5+g/yrVKkylSlTnhITL9PlywkqqVV74uMvqjQhXM9q1WpQkSLFKD4+nq5cuWI/zTvvfk67dm6jixfj7Ps83cho3rx5feiLL3+iJYv/tV+rUqVKU4GCBSnuwgV12oyW6WldjekwoYp+gwlS4AELDy/D2JZzuH6+vn52XGrUqE0PPvQU1a3XkNasWcFYFqWHH3ma2nfoQrt37aBLl+L5XvdjnGvS+fOxfM/bxoWg4GCqzvvQ59A/9TXR9dF1KVuuAl1OSLBfV33cGR/sL831xHnQ/y9ciKWUlLTxxbmeSI92VOXrX65sBe47iZSQcAm7PbKCBQupusfERHmUXhIJAoKAICAI5HwEKlasTG+/8wkVLVqctm3d5FDh557/n3qunDhxzGG/Jz/q1GnAz/RCtG3bJvU8ffa512jL5g32Z6knZeg0eIfKTH5dTm7+dveOULhwUcJzv1ix4hR/6RIlJSWaNrdkyVL8PprP4R0E77JFihZT7yx4fw0LK6WuWYEChehyYgJdNbwrmhaaiZ2hhYuZ5o6NiVT7L160vb+aJvJgZzC/e4kJAoKAICAICAKCgCAgCAgCgoAgIAjc3AgYF01n5P+ZuSomZkYuIcjIsSOG0v2PPKUIoFo1q9P99wxmMiBBkRUbN2+laf/MshdZOrwU3T14EIXkz6+O+/jkpSnTZtK6DWkTRUN/+IoOHTpCn3/9vT1fuzYtKaJSRfp11G/2fbJhjgBW999xx3104MBe8vcLoFsG3EFDh3xDZ86cUhk6dOxKzZq1pM2bN1Kdug2od+9b6Kcfv6JS4aWpcuVqDoU2atSMRo4YQlFRtskTh4NOP7p07UUtWrShnUz8gfiC/fjDFwSyB+cxWpUq1WnzpvV0+PABclUfTUYa8zlv4zwPPPg4l3OQLjHp1qfvQFq2bCGTrfMs23P27GlC23r26k87d2wlP1Zd3jbobvp93Ejat2+382mu628Qmt2796G27TupCU7U6XpZ+w5dqWOnbrRs6UKaNXOqOm1bVo8U5cm8uDgbmYqdu3fvoFOnbIsFcPyf6RNpB+MIa8i4HjlykKZNnaB+4xrdOfh+Aun40YdvqL4EYvKBBx5X5SQzgdn/lkE0f94sWrx4vsoD4vvJp16io0cPqUnEnj3709w5/yiS1BU+OEd4eFl1PZtzPwwMDKSfh36r8uY7FzEAAEAASURBVKNQ53qGhhahx594XpHtsbGx1K//bTR1yt+0YcMaVQerP/UbNKb+/QepMey9d1+1SirHBAFBQBAQBHIZAolMeGFBDAjNgwezPs56ZOQZ+t9rz6qFV95A45y/Tp361L1HX/rs03e9KS7X5bF6R0Bj8A7Qld9J8TwHGX3rbXfRmNHDaP/+Pena2rJlW150eTXtnaV0GXrwwSfo1+E/qbQDb72TYqKj6RwvzMMirdKly9HkyX/Spo3r0pUlOwQBQUAQEAQEAUFAEBAEBAFBQBAQBASB3IzATUtiGi+Kr68vPfHIA/TOh59RZGQUgeB8+fmnaW+1KrRr914qV64MPfnoQ/TTL78yyWFbxV6oEJMVjz5IBQqE0IJFS+3FhYYWotq1atC27Tvt+2TDMwQGDbqHxo4dTvv32SZr+va7lTp17sEE3QiCahGE0IcfvM4KzBhV4GOPP0dNmragpUsW0Ib1aQQO1HdQ5YGwwiSQlWHVOlyloVwo72AvvvSmIrRWr1pG4/8cY8+OfvLe+18oQspdfeyZTDawouDe+x6mWbOm2es9b95MVoy+TYcO7lf7XLUHE1EDeGLqqy8+sBO0IHDvufdhRbRdvnzZ5IzXZ1fXbr1Y6ZGsiNjChYtcn5PyWXCueqymBLnsbAv+nW0nKZ2PhTP5HRl51r4bZOWePbb7Ftd30O330h9/jKIXXnzTnmbgwME0f/4sWrF8sdq3kBW+/3v9A9qyZYPql+hLhw7tt/eb7du30MMPP01r164kM3ygtoiIqEKffPy2XU175+AHOG1v+vsv28IH53r26t2fJyHX0uzZ01UdatasoyY63ZGYmNiuV7chTZr4pyI+7Y2SDUFAEBAEBIGbAgEo7WbPnsaLwG6nr7/6yEHVb2xgrdr1qEuXXkrth4Vic/h5gncmd+bv708vvfwW/fD958pbBgi3vPxOE8ALqho0bKo8CYwfP5YC+Rnat98gKl68uHqnG/f7CEpgVaExf/kKlQjP1GBWE77x5ke0ZvVy+pef2TezWb0jBAfnUwujvvriQ/vivSZNW/LzfTB9+sk7ykOIK2ywYAsLrH4b+yudPHncnmzp0gX29xosgOvevbeQmHZ0ZEMQEAQEAUFAEBAEBAFBQBAQBAQBQeBmQeA/QWLCPSyIy9jY8+q6wZXjV9/9xPtscQXvGXw7TZw8zU5gIhHSDhsxhj5+/y1avnKNcumI/X/+PYnuuG0A7di52+XkEdKJOSIA/H/5+Tu7Sg5H4b5Tu8lM5tXmcJnq5+dvzwj3WPEm7qmaNWtF69etdsAfLkN79uzLKrd8imSaPOlPpXSDm9Avv3jfTmDaz8uTbc5Wmyf9QHphwg+Eprv61GUVJ1SehQqFUkxMNE2bNkFN5kEh4cdK040b1tpPAbUgiK6mXHeoM41mbE/jJi1o+7YtdgIT6aDAjI6Oolq16tH69atVVqgIodCEOzKoUadN/dteLia7Bt1+j1L/wU0ZJi9X8+ShNqu8UBEMGHgnqzwiFH5zWGWoDYRhUlKSarPep7+tygSp25nJ6kaNm1NQUJCq58QJvytSEG5Tbxt0l3KtBvfAG1mdMHnyeIfJPCh2Z86YQjVr1dWnc/iGS2GQktr9MA4+/8LrFMQThk8+9aKa8Dt79ow6R+XKVVVdvmSS+LtvP1F9UBcGV7UgOkE0awPux48fVUpgXD/0V1xvbQXRR9kFMNwem+FTunRZOnbsqJ3ARL5Nm9bSrbcOVkU41xP3CJSdmshHopRrKdx/0/or6gh1JtwS43osXjRfqXyhysEkNfqfmCAgCAgCgsDNicCqlUupefO21IKVesuXLUrXSCx8gdeLv/8aq563Efzcu/f+R2nUyJ9pb+pCnnSZ7DvyKA8H2r1LMD9fsZhs3twZNOSnr6hV6/Z0//2PqWcantUgVUGodunSM1UxmJb/wP69/HyaRy1btaOxY4Y5eE2wn+4m27B6RyjOYRSuJF2xE5ho+lZeIHXbbXdTaGhh9R5pBgfCCzzy6NM0ccIf/H57wCyJ2ueJlxCXmeWAICAICAKCgCAgCAgCgoAgIAgIAoKAIJCDEfhPkJgJCZdpy7Yd9N5br9LK1etYfbmHDh0+yvHuUlSMvfLlytKevWnEhb5ekVHRdCHuIpUKK8npj6jdBw8dpuMnTlKbVi1o8dI0YkjnkW9zBEAcazefmGCDQg1uYsf9NkJlQOzBP/8cTQ89/BTt2rVNxZGEy04o4IyGGIYNGjahb77+xL47KCiYCb66TFZ+pGIY9mOF5308Yff9d58rl2iIRwlr3boDVWJVHOJdahej9kJ4o2mz1kopgH3u6gPVW99+t9HwYT+oCSkQoKg7XHgWYXUoXKqB2DLa2TOnCSSl0ZzbA2VpJLuUdTa4mUUcJG2t23RgF2S/qLZApfjIo8/Sxx+9qWJYwT0ZiNKhQ75VMSOffuYV2srxs7QS1VVekHGIGQkS77PP3qN8TAL27jNAn1IRZvYfThuuykTcTriSg3r2m68/5onPJOrWvS/dfc/DfH0+ow4cn7JgwVBWyr6h4lM+9/xrSlUAhSMM1zUP/9u1a7spidmtez++h68p18Bo34hfhxCwgrvgd9/7nIYN+57OnD7N1yKFCvMk4T522QYFLsg/Z8P1On8+hipXqWZXOoDYRP8qxHlhy1cspnvvfUS5dIvn81VgpcmfrOaEmZUZw6riNm078oIJH6ViRbp8wflZ4R2qxh7neuI4CFcY4mjCFR9Ux3CLC8Nk5uNPvEAT/v6N45dtZhVMSXrm2VdUm7XKVCWUP4KAICAICAI3JQJ4Vk1ht6EPPvQEL4pZl26xVw/2agG15pYtG1X74fmhED9ne/Cz2D2JmR6yo0cOKw8MOIJFUXDPD08Cuiws8GnIKk1nwztFVHQkv09d4cU8tndo5zQ322+rd4TYc+cIcR+x6EvHLg0MDCKEryhUyJzExPFHH3uWr+c/6j3IGa9y5SuSDy+6w4K2+vUb08yZ05yTyG8PEAjyC6YBNe6i37cMp8F1H6ZJO8dRwpW0xWMeFJGlSSoUiqDKRarTljMbqFnpNjRt9/gsLR+F+Qf5UYv+dWjxnxuo3R0NaeWUrZSUcEWdJ39oMLUcmLZwMP5cAi2fuNmxDlgH7PjfnLTj3h5LK8Fhq3S1ElSzdUX7vuO7z9COZY4LQu0HTTby8j2WkpxiciTzu4qEF6SSFYtyfVwvMPD0LHl98lBEgzK0b/2xdP+H9LQMb9NltB3BBQKpWJlQOrLDFhLG2/NmWT7uc75+PnQ1KTnLiryeBRUomo8qNypLG+bsup6nva7nyglt9LSfo2+HVylGmxfsvW4Y4d4vXa24Ot+Whfvo3Om0cDkZqYQP3wfN+tSiFZNscykZyStpBYGsRADzaM7zofbyrd4T7InSbxQrG0rXUq5R1PHY9Ae92NOoe3XCOw9syZ8bXdfXTdmVGpSmy/FJdGJPmhc4N1nksBMCfv6+1PyWOrTsr01eXwenIuXnTYpA3pu0Xema9fPwUTRpyj9UskRxevKxh+iTD96i4sWKsoIrgN1k+VO8QelkzBzP8QxDQvIbd9HfE6dS397d2Z1WgMN++eEZAqHsHhREH1SX+fKHqEx4yFWqVEW5LzsXE0PHecILSrPChYs6FFqX3WWePn1SkTb6ABS1UF5CdQh3p9OZ8AkLK82TOiV0EvVdlCd5oFL0YVUoJpKMhlXw5StU5AlBm8tSd/Vp174Lx0qcqYhZELSYLPx7/G/K5VpQUKApoQUyNTDQ8bzO7UG8xMTERGPV1HYiu5EFmaYNLtmg1sOLAep87Nhhe3xPTC5CzQcsTpw4ysTcOYICQJurvOV5MqxEyTCaMWMyXWTlKBSpZioPXY7x21WZUOC2adORXZz+oRSLIPrm8OTqBlaU4hgUoqNHDSUoCEBCHjiwn0qWLKWKhlu6Pn1vpamsMjWzA0xIjh3zC5PXHyjyGAoFKFBhUNECG6geMIEK1W8yXyfsNyMbdflz586kjh27KbUm4qMinqVSpHBZsGLcb0NCCirF7unTp5RCsjKnc2VwgYuJXMRHBSHblF3HISaWNud66v34zs8KGJDamMSE2hQGJe/evTsVKY324RqNHAn8bpybYVUx+SMICAKCgCBw3RCA8n7P7p3Us0d/h3NiYVTJsFK0b6/jRCg8OoA8w3M3oxbFi7K0YWES1IZ6sQ32Y4EWFtiIWb8jwFvEunWr+L3iAVa3tlTvBPCoAU8L11ywQfCKgYVeh/n9xszKcRxvvFvg/RnviHBZK5ZxBAJ8Aql3ldvUdcA3fhstNKgINQ5vadyV6W2fvL7Upnxn8svrl66ssJAy1LxMWyoSVJTal++a7nhW7MBkUeMeNRURiW/81hYQ7EfFSheizfP3qM+ulYf0IfXdlknPB7/oR3e81ZUJPMfwEq6O+QX4Uo/HWtJ9H/emBz7rQ3U7VHEos0bLinTfJ73VB9tGiz4Ra69L5NFzVLqKbaLfmMZqu+3tDawOZ+pYaIkCVK5m2v+xMlNYvoJB1OHuxgSCMCOGCdjKjcpkJEu6tBltR+mqxanVrfXSlePtjt5PtaHHfxxID33Zz/7RbSoVUYzu/7Q3Pf3LIHr0uwFq2y8wrb826FJN5Rn8bnfCpzhPcmfWUH6zvrXVOUtUcOzjmSkbhDoIeRBNRgvJgmtoLC8nbueENnraz0NLhlDFeuHXFcao4+do34ZjPJ6EEQhfb83HNy/VahPhbXbJ5yECru5lD7NnebKseA5kpFJWY2Q4Px/u/qCHGqvxHVbJcT7X1XuCJ+ev1boS1Wzl+I7gST5XaY7uOkP7+b7DexA7hfPaylYvSaElb77/C13Pfu7r70P1O1UVAtPrXvjfyZj2BniTtxkT/hs2bVEfNHXQwP408Ja+NOSXEUycXWBFUzFWX6VfTVi0SGEmCiId0ImKjqY1azdQr55d2ZVntMMx+eEeARBj+IDMGciuSxHXCbGToG5EXCCQbzBFJrGLMsTM1AYSZ83qFfqn+rZNqiXY90FFCeIO8SWhytM2hV2fwe5hFSDiFoHs1IYJpW2sVtTuuNzVB3GgjJN4KGcjxzGEgYQNqZf+IZafJ/kucL2M5tweqERDCqTPiwnCw0fSJhGc1ZpR7Aa3SCrhC/IWk2Qg36B8zM9EsQ8rAbW5ygvcoLgwknz72R2cJ+aqTLhehQrRGJsS5a9YsUQVC6ISylFM0oGEBskcHXVWHYOr3q1bNypVq1kd1qxJ6weo+0p2sffss68qV8D47Y2t5TJjmRyGe2K41l27ZqVyVRvLbolhvXrfotzjYSIStpLb8fY7nyjXwVGp9VYHUv+AQP36q4+pLasx69ZrRKdPnVCuce+6+0G3D2i4hsUHastXXnuX1cNbeLuEmjA2ngMu+8QEAUFAEBAE/lsI4B3m1dfeo5Wrltob7sskZl5eFIY4lkbDghnsA4mJhVcZMTOxlSvSLSPl3oxp3b0j/PnHaLWYKSKiKp3n970pk/9S7u/Px5qvKN+5c5tyw/v4E8+xC/zP1aIoI26IGa+9MGAR3Lsc1x3eNLDYT8xzBBKuxNMl/sDwjd9Gq160NjUt3ZrWnUh77zQe92Y7v38I3V3nUVp6eH667AlXbfVBXS5dzR5FKFSXiQlJ6tz41ipMXZlEPn7mcIz+af+u3TaCFXiFaPRr06lU5WI08JVO9PPTE9m1dDJZHbuSeFWpzFAmVKAgq/asOayUC0VKFaTWt9Wn396aqc7zyDf9+dzRFH3ivPqdEJdI+MDyFQpWBKv64cGfQsXzU8Nu1WnT/N0Ue/aiBzluXJK4mEv08zOTMlwBEIpVmpRVCs4MZ/Yyw951RwmfrLQFY9aalnlyfySNeu0f6vlEKzXZvGfNEftpqzYtT2VrlKTR//tHqTBBOFZpUo7OMtmdGavcsCzFxcTTxdi0+YXMlKfzBuX3p3Z3NsqQkljnle+bGwGMT/jocTlTrYXKzWBQeaewes3FeilDypy9mZPakdPu5ev9HHA1RkIR34af57OGrqDok+cVsXfra51o2HOTVeeyek/wpPct+t0mOPEkrSdpzpq853iSzyyN021nliTX7ctp/TzXASgVzhYEbloS058nckBcYrKmVo3qVLNGNfpr4hQ7iJu3bKNBt9pWsG/n+JatWjRVCkt7At6oVrUyJTLhEhkVZdyttqfPmM1qzrdpybKs+w9tupPcRDvgQhYuRY0xFo+wy1OQmCC5cAwuWDWBiaaDgGzUuJkdBajSkG7Erz/a92EDKjXEsNTEFZRrRYoUV65WuzIRBrdd2j0p0h8+cpAQz1IbVJdNOebTHzy5pM1dfc6xW7AKvEL+wIE0AgmuP0+ePKHOV6JEmFoRr124otxy5SqyK+K0//CZtQcKVBCbRkP9ypQtbyf+cAyk3xlWP2iD61HECUXb73vgMfr6yw/tJOvrb3yok6lvV3mhvsyXz3HlXwETQtWhsNQfrsq8cOE8u021tf3w4TQlAdSZK1cuUW5lQWiCPIQhNhSsMKt1oXZNYIVCo0a2PgCVAe5pXJuxY4czMdhJubZTGfhPgH8Aqy2TMzxBq/Pju0rVGkzkHmK1o03FAiIYhOM8Vt3CcO4Z/9hewvAbxCuI5/Dw0rygwUa+Yr+20NAiipTW+bEf8cFOcT8xM5C+AzgG6IgRQ+yHcV8kslI1nONrQn1bwSnmJeoUwJOX+/ftseeRDUFAEBAEBIGbGwE8exYtnKueGXhPgOGZiVjgNarXdnjOQIUZHQXXrt4t8MkMkvzY/s+Y1TvChQuxKqQBPFDoOOV4V4S7e1xLV7ZwwVzlMh8hC4YO+dphoZkxDzwynD51kt8VygiJaQTGg+3E5ETaFbVVpcQ3fmt7ttkb1KJMe/Xz2+6V6PTFE/TpsjfUb6go7677KFUvVkcpKift+p2WHflXHetVZSAF+gbRxJ2/qd8PNXyWNpxcRZtOraUeVW6hu+o8Qj55fOnb7qPV8TcXPE0Xk+LUdmT8GTpx4ShFX4qk4+cPq32u/mDhYxC/+zsvrHSVXu+/knSV4JYVhm/89sSqNi1H62btpGQOyQJiMSh/AMG926kDUWR1DGVrUhSEJoYsKIZglRqWoR3LD9ClC5eVItQvwE+5VdUkpkrk5Z/qLSooV6/Vmleg1dO22UsJKRyslKH5CgUpN6T7Nx6nxX9scOt2FmNtuzsbUtVm5SmZidvdqw/by8RGOKtEcRxq1tgzF2n2sBUKp+p8/mLlQpXCqkKdcMLE6ZzhK+l8pI1YBdFajxUIsDGv2wg59YP/QAnRmlWPwDcl+RptZ9e1ui29nmpN1ZtVUEkf/LIwn/MCTfpioc6qFK/1OlYhKGEPbLK1Ef+XctcOewEmG72ebE0gC6OOnaNp3y1xSHE/q2wXjF1Lne5rSgFMVs/+eQUd3p5+kbhDpkz8gCvAeSNX293InjkUTfhk1nauOKiKqNfRdk0yWx7y4xpDgQQX4g8yiQ/7/d3ZdPli2nhTn1WlLfrVpvjzl/k6LmAi1baIwVW/UoVY/ClTvQR1vKcJz7VwcBY+77qZO2jron0qB9Sg6Ktl2F0z7sVVU7eRbjcWGrS/qxGVZ1Ug0u1adYgW/77BvgB3wMsdaPeqw9S0dy0KYuUwylz29yZVbr6CgdTx3ibqXrh47pIqF0onba7aqI+bfUPh1Om+JlSUFeK471ZM3mp34QyFN8pv0LWacnG8dsYOWvPPdlVMZvq5sR5oJ1RC2kWrVT/HwgkoqnGPoC8u/G2dIidrtamk8IMrbKjmEuIuq3H09je70vgP5xpPZ7oN9brZvYzENVpWYGV0fTWWYXw2GtyG12T1GuwYj/VQxcFt5sHNx1U9ujzYjAqy8vPqlRSaN2KVfZw2lmHchtIZ5woKCVCYYFEBiKnN/+5RzwarvgOVVV7uaygjgt0nH2V31NN/WKrcg3L0IGrCarg67Sur8fPk/ihVH9wLMG/a4a6uVveAVV09uZeNmBm3Xd2TcHXcfnAjmvj5Anvy29/sQv8wPsDA6pnl7XOg60PN1dhQoW44red+U4HVx/n5majGJXaNamV6rHAeI7GgafyH8+xjBdwiB3NfgXLzyuWrbt8TXJ0zD49hD3zeVx3etngf4T7XBo8Q9TtXo7NHYpQrZeAFHDH+wNyNSboc5+8BL3ek+fx8uRBtW9jWice1PWuP0DFWb6L/d3+kpfJGEXsmju9x2/ubLsPV/YqxttP9TZVHCTzb4Wli3sg19rrq/GbfuE4giPHegmfDv6PXqHcvs7TGfVZjpNU9YNXPB73ehf76eB7hvi1QJB9diIqn2u0iKIXfDXcsP0gV6pSi5jz2hPCxQ1tO8HvBOjV2o144VqVxWUrid0Eoa9EWvEsYn4VIB1V6/c5VacZPy9RCOewTEwSAgO1/DzchFjWYtIRKEm4kj588Sa1aNmNXkGnuQBo3akD7DtheUCdMnkYd2rampo0b2pGAq9kH7hlMf02YYkqKXEpIoBmz51G3rp3seWTDNQJYFd6iZVvlzgypoMCDEvMIE0YgLqEmq1ipsooDqI83a96ayaTd9kLhihPKPGfXmXhB7dqtt/oPGchMxCA8c+akmsSBArBb9z52d5xQQzZo0IQO8kp1bXAHiv/QGRVt7uqzjglDkGtQycGgIOx/y+2K1ALpBNXcgIF3KHIVxytXrkY1a9Z2cM9q1h4o/KAARPxObR07defV9/EEd3DaOrDLU38m7WBVmXiDG9jt2zez6jI/P0vy8ISYbVU/JtSgSDWaq7zABKpNuLiFgVwGdp6YqzIxYQp3t23bdWTXwflVUSB7GzdpqSZT0daYaNsiAbhBq1rN5poVZN3/Xn2a3n/vVfrowzfUB3G9VixfzCT2T3SZ778mHF+0TioZjbytWrWjnTu2md6vnrQBaaoxlr1ZbalcyPLvTp17UDTXD+QybO+eXYT4n/o4rmuRIsVUP1YJnP5cYSXmQw89SSVS3fmCnO3YsSstWZr2gmrMgslnuP5F34ChbyPWGK4FiM9NG9epOJwRlW3/qUYfQL8DeS0mCAgCgoAg8N9CYOHCefzOUIBK8yIXbYsXzVeLobAoBwa3/F279VKEp05zvb5BnBYKDeVnVMbcI16v+mX1eazeEeCFojvHBMe7I57tcP3bt9+taoGacQGfWZ2mTvmbYmKiOCb3o/w+kP6/bigP7yNY0HbsqO19xawc2ecagc+Xv6UO6m+dcui6L+n3bcOZnJxPr81/nL5Z+b4+RLfUGExJKUn08rxH6J3FL9DttR6gYvls/y/49+BM5S62QmhlqlOiIZUtWIE2n1qn8s7bP53eXvgcRSecVWWi3PgkG5mFBMcvHKE/to2guKQLNGTdF/bzmW3cwu+AILi9sclfLVLZ9LcnZcDNISarMKEPd6IHNh1jYs72fm91TJcNF6EgwXayi1o9OY0JdJQJaze4oVJNZsadoj4XvivVL02LmJxEvEGjYYIx8lgsjXxluvrgGIhHd4bJ+vxMgP7y7CT666N5avIe9x8MhC4mCzHhhnJPH4xSE444hrLr8uT83rVHacgTf9OJvWep+6O2d30ch1J0DKsJCxQJVuMD9mnDxHZI4Xw0io+Pe2cWlShfmAqHFVCH5wxbSUvGb1Ak8Ng3Z9D075bqbGoCEOTGH+/NoZGvTlcEULXm5dVxq3bYC3CxMfuXFYqANbtGqFdtdmU57u1ZNH/UGmrLJJmnVqVxOeXCFW5cMcnpiaEOMae8ix3oSflZmQYkz5/vz6ELrPDEtcLncnwagVm8XGFFNg9lZfOhrSepaZ/a6vRW/cpd/UA2rZi0WV1/9FcsONDWnHEGIQgVK0g0qKELFrPdy1BTndwbScNemELDX5xCRcMLUY1WFXRWJr1Y4dy9Bk1gogD3wumDNuIY98LAVzvxwoizav/MIcsV8YbJepirNtoLdrERzMQoSNahT03kifP51HJAXSpUIkSlBrkDrOYMX0WjX59BTXrVpEC+F2GZ6eeqAP4DAhOxKvXCAex31c9BCPR/sQMThCe4/ZN5fDyhfmP/RZ6oL121hCoWJGe5WmHsvjIP+TO5484wme/qXi7MSvZm3P6xb85U16p8bS43tUBgBLe4I16eRr/xPYlxcNxbsxSBiSS9eRHEloV7ldJ58R/rqSePzXo8c1UntKVEhcJq/EMMWvTPqd8sVgs7kMeq7wQy8YN4nVj8MfTJCYpEjeBYgtquXk2mMW/MINwDWOjRepBNdOBtO9zV1eoesKqru3tZt8fs29U9iUU7Bfj+QzxWGEgykPf6OWn1zPL2OYB75wwTf7N4sQniYM/4cZmKNQkvC5kxzKtqw/MKJBUITJgn7wk6r/EbcTDxjET8aWeX6+hzeLfAYp2hT0+iI7xwBuMAzN2YZDyH8zYWJIB014bFB/6BtvcE3MOHtp2kIdyPV0/fRlgwpW88q/sVY0DJ8kVoxCvTaDiPr0d2nCacxxODKnLKN4vUORGnvDu/b7i7X1Gu1RhpdQ9Y9XMfv7zq/sWzoc8zbVX18VyAFw+MSXi/WTRuPY18aZpauAMCWBsWOtTk9wS89/342N+8qGIDJRgW8yBdWXbT3+GexrSAF4GAGBcTBIwIuH9qGlPngu1ePbpSk8YNmLAsSsNHjlU1jo09TyPH/E4vPvckxxtM4smUADp67Dj9OmqcOh4ZGUXvf/wF3XvXHXTrgL5MRF1R+6HchAtaV7Zw8VLq0qm9q8Oy34AAiKDxf46he+59RO0tWKgQx/g5SON++1X9hloSsRzvv/8xRTwHBQUxEbiVVW+T1HFM2jRu0px+S01vKFoRfHGsInzp5bcUAQgCbMzoYYqYhItXxLt8+ZW3VaxJKN02bFijYkbqMpqx8nHd2lX2FUPY764+a1YvowIhIewG7H8qjifqN+HvcWob+dFWkEtvv/OpIutAvP7yy/fKLRiOu2oPSPcff/iSbr/jXibQuqsH0/HjR2nYsO+RzW4gLJ9+5mWl9gShNnbMcKXSQ4L1TIS+9fYnTL5FKoIwNjbGng8bVnlHj/pFxZXs0bMv40G0gGNvNm7c3CG/2Q+rMidN/J0J3cH05psfK4UIXPb+NvYXVczsWdPoflaOgmxOTr5qV5fi5Qfu74yWwmoFKC21kmT06F/o9tvvpZ49+yuVwh52vTphgu2eNubLyPaCBXOoX//b6I03P1LX6BS7fx1pUEX+xX0UMazefe9z5XoYCooxXA9XKgqoW6dNm6Dc+8IlMF405syezmSo4ypJXUe0e8SvQ9Q1gDtdkJTx8XGszPxJuZFDfE3cA3feeZ/Kkoed90PJun3bZl2EfAsCgoAgIAj8RxCAy/JpUyfwc/Rxe4uX8iIZLBS7775H1XMVBxayYlOr/+wJr8MG3qV2bt/K7ySfcuzwDeo97zqc9oadwt07At4TQWT26NmPF7n58SKvdQ7vo64qjneDP34fRY88+oxywf/XeNv/b+ApAu9KWMB38eJFGjf2V+XFxFU5sj/jCCSxKhPvn+cTY+nyVUfXku04XuW7i16gfOwa9mrKVdoVuYVqsCpzSfxplXbkxh/o8UYvkp+PP32z6gP25Geb2ENalHnhcvoyM1rDmTOmUHBq3PSM5vUmfXBIoCJeoCjDpD5W0QcXsBEGVsf0uaBCBFECFZ+2IFVmEkGtCPdzF88lULVm5fVhr79BmMA9I1b3x7GSAr+h1ICBdAFhCoUAJiKhlvLE4LZ15ZStSjkEdQYUB1CuwEAQYPI08RLPNeTzV4oNKDm0Qamxl1UcsBWTt9BzI+5Uk7FQoEJhmcL/B3Q2kMW121aiIUzeYBIY/zOa9v0Su1tIkAiY3EUZepJYl1GL821ZuI+VdHnVZ++6I1SeiRPEOLVqh87v6hsqXKgtzAz/z1nKijy4J4bSCy5g1cRu2py2WTa1L5kJDLQHlpxsXr46aPiDyVBdFyicSvDkMMrZxPFcc5op3HCtWCXkfK1QVyib16YqCPdvPEatmKiDuetXKpGLP6dZIV2XlbhQBUfyPQeXvdqgDAR5ib6Kuh3bdZrJuhJKHYz+tG3JfpUUi6OBZwSTBFARaoOqE/cVbN/6o+ob8WFxDTfOsy28BsE8kRWlqUOfyzaqzBZ/TuyxeTtC/8JkN+6j8CrFuF1xKtfGubvs22gnSMaT+yIz1c9RcBMmMDGZjoUewEibq35ekgmbFO67mxfYPHWBIKzXqQqTFjz2sIvjVkwUw6AQLF+7lFpIodXYumyzb6t7OQJKdlYOaxXThjm7qMsDzVQxIBVOH4pRdcJxxBT2D2JFHCvvQQzi2gNbfOMYVMIhvJBCLyoxqwv2IS2IBSjdjrCaEtdEK+vd9R0QuyDpYYf5G4QHa0RVH9k419ZvEKMZfeiu93uodN62A5mt6mp1DyCvq7q6u5eR15VZ3ZPb+Z4DWb1kPHt844UcUM9rs3pmefscQNmnWPEK7whY1BN/PkG5eNfXUp/b22/cJ1B7GxcAePKe4Op86HO4v8wM46c+D8ZPEPswd2OSWVn2fVx/U+PdFfj+xYIeGBYtaE8T+G11v+IdB0pKLGraufyQcrOPPJ7YzhWHVDJcn+N7zqjnLAhKrRS1KsPVGGl1D1j187NHzvE7VSi//wQTVMQg3UHynmdlNlSWWKgADx0wuAB+7IeBvLBpNV8/28sAxj2MVTA9HmBBBAwu4uHNYRIvktHPGHVA/ggCqQjcdCTmTFZHLlm6gi6ycs24CmTT5q2ED1aD4z/8IIuMdvLUafrki28UcYHV0YmJicbDavvxp1902IcyXv7f2w775IdrBBDbBx8QlFiR7nwNoDLDB6q6xER2sWG4RnAL/O47r6QrHC5n33rzBbV/2dKFHL8wIJ1SE8QUPlACXnLqF8g4dsywdOVih1V90LfgInT+/FncnmAyuo1FXvQxkLKYsDKrk6v2IO+5c9HKZRgmuPBGp0k7HIO9/ZatHyKuKBR4Oo6n7Sgxkfc7E2cT+ee1dG7H3OWFe9yPP3qTgoKD2YUp/6eacdfxH3X58+bO0Jvq212ZCayaBFkNNaHt3rpsz7927UpazwrLgAB/Qjorm8jtMhrcvn7+2bucN5D7ytV0OL35hq1f6DyjR/2sNx2+X3z+UftvkIS/jxupxgEQzc7Y4zqjHBDHmCQ2q7MzPlCQ4gNCEu5nnc25nujTP3z/ucIK53FWHoOwxAfXCIpU4ziHsg8e3Efvvfuq82nktyAgCAgCgkAuRgBju/PzAs3ZyvG8n3/OtkAMv/HcxvsJPnC3j+ealRnjg+MZZSxLxxI35n/j9eeNP1Xs5vffe03tc86PnXD/juclVtjf7ObuHeEYe3XAojS8C+H9wvn5bcRn0qQ/jT/VO/HQId/Y93326bv2bdnIXgR88/Kkb4rjwjrsKxgYSs80e93h5FvPbLD/3nx6HfWrdjv/H+EsHT1vm3zSB83K1Mcy8h3FamfC5zoZYgTCzR4muTGp2pjd/8XH2sJbWB3T1YPrT0xsDn6vO6sRI+noztOcP4FKRRRVk2EzhixTyi3sy6zVbFVRTa7BpRmUXFBKaBITk5wgyqD6g+tLqLyg8HBncJuGSXptF6Iu8sSdjcQsyGqK8jzxjIk9bUYy4NxpG+GCYyAeMTmHCUhjeTqf/i5UPETFZXSIWepECEIpYiRYjHmhRmnQpareRSeY2IFZtcOe2IsNxN3Tk45qspLr6uvr45GSAhP2GY2zCXxBokOthP+3gfTFNc2JJCbgxOQzSFYzQwxObbje/kH+6qe7fqXzmH3DRXJ9vv59n2ur7rMl4zcqcg/1CC4YpFTRxnwg4WHAEQpgkJqJ7FYSrlGP7U4LY4M0ZgrYUCakoo47xXg29FdXbUR5VgalEu5TTJjDBWFpdtu89K+N9ixGIhDYwZUxLDP9HG2H+1oshHAmTlz186IcLxgkhdHwG/tx72GSHos4QPyBhN27Lj8ZxwVjPuM2xgGre9kY10+NOanky2l2Z9uZXVdGNCijxkAo1bSyD2WCdBj4StpCC7i41Uoz4/mdt1V8Td7J02Hpxh53fec8j5naoNrC2KwNLoHrtKusSDWoVFFHWGba4aqu7u4BnNeqrlb3MvK6Mlf3JNJjUczgd7rREu7bFdmLwPYlac8kd88sb54DOKd+D9WLQbAvqwzqTvQ3tEubJ+8JOm1GvvEs1qbGgFTPCu7GJJ3H7NsFhcnucQP5HZ4X86QScsiL+w4LPmBW9yuIf6jim99Sh1oNrEdbF+9XbqqdxxhVkNMfqLfhWp5fotQ7RFhFfm/ie9gTEtNsjPTkHnDVz/EuhYVhGM+28KIN1A0q23Ps0h7jJlzuarvMzxBck4LFQni8u6B2n+MFLmaG8QOqTYzhelGTWTrZ999GIFeRmNd4YiYPv6BaGQbiOF6N7MqcCQHndJj8MSMwndNl9DfqLmZDwIz4MWLjTAgaj1lt49pbXd94i35hVa5VfXBOd8et6mR1Xigs3JkzganTm5Fl+pj+dpUXxxFXyxuzKhPu0hIT0//HDfvd9QmruoDwzmrDOICPKwPBntE6e3JNjOcDEY6PK/P2GrkqT/YLAoKAICAI3FwIuCMwr1drsXDtv2Tu3hGsnu3/JZxyS1vxngrS0WhQU0KZ+f7ilxxiaBrTRBSuRqFBRZSL2UqFq9KBmDR1WPK19GUa8+bUbRAwjZkY++4hG8kOguU8T97BrI4Z24P/O2GFPia6QGJi8rHdnY3ox8f/UskwKWackDTm9Xib5xIRQ3LZhE08IZ6sJhgRUw2uV7UqTKkwWYmJibh+z7dT5zROvJmdC0oV1E8rwKBg0gYyEuqDpUwUmRnURUaDy0tM6FoZjmOSEm4R4frTzK7xRComGp0Nir/NC/bYVQ7G41btMKbL6dtwwQiyCXH5QAzh04DjSuZUw0S12bWyqq+7fmWVF/ca1G1QtVVhpTCUwT9D1ctKvCuXr/Bk+nzTeLht2I0nJp5HvTZd3S9wj9ikd02HU4GId7Z4nqAvxIrNrLa+z7VTcRwPs2oahsl/kFza0tfEdiQz/Rwk7fgP5tJtr3dW59MxP/U5zb7PR8ZTTXb9bLQC/Bv7YTGnzqv4lFAeIVZcOVYcYZ87c3cvFyiWds4Aw5gE4iCF+0BlVkbhek/7brH9VOhXIBTGvTPbvi8rNtz2Ha6PmcEdaOWG7O6W3d5CcYcx75lht6uk3rYD8T9dGRZ+WN0DKp+LuuKYN/cy8lndk1i8E3X8vIpFC4Jq1tDlyGI3q2eWN88Be8HZsIHYpoi3O+HTfx1K9/Q9wSGTBz9cXarMjElQqBpJfX1vQXmMBQk2gs82X+jwLmDx7EVTsLABrnsRqxMuYbHwZiV7Z7AyqDe7PdyC/mCX5Hqh0B1vdwOf6ZGZ3XWe3AOu+jlIzMY9axL6HRTnKoYsK7lBPIIwhaJbG9z9Ah+41NZm9vzAMewfzyQvyu79dBv6+5N5DmSxzi/f/20E0r/x5mA8ki65f8jn1Orn5rrnVEylXoKAICAICAKCgCAgCAgCgoAgIAhkFwJRlyIpPKSsKj4/u44tGFBIbUNp2b1yf/tpSxcop1SG2AHS87HGL9KvG7+nYRu+oScbv6LcyurE0Vxm8Xxh5JfXj3zy+FBY/nB9KEPfpUqVpipVqmcoT2YSb1mwjyLZjRiIQJB/AcE2N4Qo0+oYiLhKqbHPEB8PSiq4fYTt33hcqSIxYYhV+HAli32ZMUyegiiF+0u4noTKEhP22A9D/D+otGCYjIs+EaviaakdFn8ObTulJusguMAEJuI4avUFCJbqXHftEg3t1LErUWSZGiWUGzlsI1YnFBnuFKdwAYn4mSBttCGvjjGIfYixWDisoDoMYlTHCzu45Tir8KpxWtssJyZBdd2s2qHPkxu+N8zeqWIWoh/CoDQzklvYB7I8vGpxbGaZQU0M98d+HsQzNJ40LvqSUqOAoMF1Qcw7d+auX7nKDxygwlPkOd+vcHmYwosQ8qT2BxBpUL5pg0tAtAsGJdFRjtWG+xzlQM3piSG+G/BGH4Whjfq+9yS/WRqcH/fqsd02ZQ8mw2uyG2tPLDP9/BIvWACZ9s8PS1kdGOFROzDmwE1reGpMQcQWxG/tVhEuGBGn8zi3BarXOh0qKzee7tpidS/DJSvw0GRLDVaca2IDyihc0e1L99NGdgmceCltcTTGPLjy1nVFHXDtMmve9h3kw1gHzGENOle138vZ1Q6re8AdDt7cy+7uSZwT16rLQ83Vggyj0s/dM8ub54C7Nnp7HO5E67Eba7hh1tdTl2X1nqDTZOV3ZsYkkI1QTMPwDqNJcRBtcL9dj71SwNA/w/mdJlWISVb3KzxCIE4tDCpVjLN4brkzrbjUBGbJikUc7l13+V0dd3cPuOrnUNxjfMNCkTPsshrYQLUPA9les1Ule2xiLCzC+I3FM+4MxCoWWCz7e6O6/7EoQkwQcEbA/R3jnOMG/o6LOUn+wfyC5UaNeQOraHpqqDBRdzFBQBAQBAQBQUAQEAQEAUFAEBAEBIHcgcAWJiv7V7+DvugyTE3y/7LuKxUjc+zmn+mpJq9S4/CWSpWZl+OUf73yfYpLukADatxFB8/to21nbKq83aW306Ba99G4LbYQFrGXYwgk6Fddf1XxMWfsnUinLp7IMCAdO3WjsLBwDq/wXobzepNh65J9ym3Y/Z/2VkTav6PW2F0tWh0D8dByQD12P1tDTZxj4l2rHkEuQuV070e9VJUw2a5djnlTR+TBRKGza9K9a4+q/TgvJsluf6urUjT4BfqpGJ3alabVORFXqtSTrenRbweo2JdQkiJeGwyqQMTLhKtcuIiEq1io4LTbTcRm6/9Ce6U0ANE4HbEtU615v9qKEAW5Nfjd7moie/3sXero7F9WUs/HW9Ij397CKoeryr0lJvuhlIMd2nJSxf+675PeiryYM3yVah/c1BUtE0r3fdqHznM8zhBWhM0ZvlLFr7NqhyrU4k//59srN71QWuCaLRi7luNz2WIWWmTz+hBIsDZMOkO5BvIbsc4mf71IXTu46ETcz0FvdFGqKrhIXTtjh8O5GnarrsjkP1lVl1UGBTLifSLWl47r5UnZmPA9tPUE4f7BRPh6JmHd9XV3/crVeUGygzR54PM+3GfiKB9Pwq+evl259UOeRePWUw/uV1DAJXG8VaSd/t0S1T/WzdpBrW6tT7WZvAOBeI5jT3oy0Y54sFO5jO6sGGozqL4i1qBOPpCJRQnAadXUrTTgpQ4qHm9Q/kC16MBVu437M9PPdTlxrB6a9fMK5Xr3t7dmqvtPH3P+Vu3/drEij6EMA5k4lX9jPwwLJhDrEPcuxhvEC4xOdb8Lkqpi3XAmtkNUTEuoD3U/t7qXQZBuXbRPjQ9w1wu3zL6pqm9cUyij6neuphYwFOKyD/Lx+TxugyyYOWQ5dX2oGS+mYDey7H4T9Zs3YrVzszL029u+s50XmvR9th31fqqNiq+Hfq8tu9phdQ/oc7v69uZedndP4lxYwAMc9qw+4nBqd88sb54DDifIwh89WF2IMeXu1JimWMzwNysy4cHA6j3BqgqIuXjba52V+2Es4oE6/Pf3Zrt1OepuTLr11U52l8Z3f9BTxSye8JlNPbqGx8sBL3dQpCMWeIC41OPgvxxfGM9zxLaEW2S4+9XHrO5XqKo73NNYvQ+B4MUYgYUS7uwMu4YGgYnnL79q8jh+1a7IdJfX6ri7e8BVP8e4coXbfZQxgbo4iu9XrSrH+8Ca6duUa2S08fLFJJr+Q9r7jlV99DEQ+MDl3o96Khfozu9zOp18/zcRyOPr68uPWPcWFhbmPtF1SOEXkI9fwkvlCjIT5CUUmCAwryTa3EhcB4jkFIKAICAICAKCgCAgCAgCgoAgIAhkCQIVImqYlnNo/061/9QpWyw100Qe7CxSpIgHqW5skiDfYEq4eildJQJ9g8jfx58uJKZNuqZL5GJHgG8gJV1NZMGTR/8dT1cK4s0j5mBWumyGImvgK52UghEnxOTpmn+2O5wbyrfEBJ6YN6m21TFMRGJy08w1KlyOwZyVG1AKVWlSTh0DeZTA9ZmbyYl2FIZJSagTEQcOE/oZMSge4YrQNB9PSiJ2H1zO6XZClRIWUUyRiCFMJoEYwcRfRgy4Ig/IDTODEiuJ6+RsmPAFaQrVp/M5LdvhXFAO/402oq86GybQfXx8PFKBOOe1+g0SE+QcSLqMGia7lSolI13ApF95cl4Q41DgXozlscvkfFCTQq1php2O2ercz3HvOPcl57rAVSLIOue8zuk8/Q0iC2okFVfTpB1W5WRFP8f4pGJ7e3hudY1ZXe5sRuzQJpC0nprVvYxrCJWtcXzo+XgrXhBxQKn6cA4o3R/7fiD9+JjNdbc+L8bl5Cs8b2kyfug0Gf121XfclWNWl+xuh9U94K6+3tzLVvckiE6QaWPemJGub3jyzPLmOeCujdlx3Oo9ITvOhzK9GZNwrfBscTXu4FhCHL/DmTzPre5X5MO7jvF+9aTd6G/4mI3XnuR3lcbdPWDWz41jmVahOj9jMC6lU2DyswweLMwwc64f7gcQmp6kdc4rv3M+Av7+aSEZMvL/zFylxMRlABkYc2pfzr8iUkNBQBAQBAQBQUAQEAQEAUFAEBAEBIFcj4AZgYlGITYmPt5Y4tX0pEtGykG8ziReEZ+VdoHjt800xOKC+s/ZtLLIeT9+Wx3DZJ8rcyYvdTrE3Ny34Zj+6dYFqz2hmw1MisGlqzcGN68ujTkJV+WCsLjAagpvzApXlOeKgEBMK1f1sWyHN5W8gXlcTepiAjQlOX0fzkxV4SIUk7qIxemNwXVyhs2iX1mVBSLd1fVHviu8qAAfMwPZbmaeTCjDVWJWGu4d7Uoxo+VmRT93NT65qoura2zELiMEJs5jdS+nIwo4PVw4trm9Pm1fVlCpuMvVCqOdKw6mq7LVuJwusYc7XPUdd9nN6pLd7bC6B9zV19V1tspndk/W7VCF3bP7Kbekq1nFZtY3PHlmefMcsKprdh1z9zzLjvN6MybhWlmNO66eO6i/1f1qlc+q7ehv3vQ5qzJxzN09YHZO41jmTF7q85mNS0jr6cK9rFoEo+sj3zcHArlOiXlzwC6tEAQEAUFAEBAEBAFBQBAQBAQBQSDnI5CRFbLetCY3KDG9aZfkEQSAAEgvqOF0bDxBJXcj4B/kR3lZRadd+ubu1kjtb2YEMPYgfp4PK7Lh8hFuKXOj3SztcIU9lHmIlYhYg6cP5s5r5Kptsl8QEAQEATME/jNKTLPGyz5BQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBHISAogFho/YzYFARl0A3hytllbkRgRulrHnZmmHqz4EZR5c/4oJAoKAICAIWCPAYWHFBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBDIOQgIiZlzroXURBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBBgBITGlGwgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgkCOQkBIzBx1OaQygoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgICSm9AFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBDIUQgIiZmjLodURhAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBITElD4gCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCOQoBITFz1OWQyggCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoCQmNIHBAFBQBAQBAQBQUAQEAQEAUFAEBAETBFITk5Ot99sX7pEskMQEAQEAUFAEBAEBAFBQBAQBAQBQUAQyCQCQmJmEkDJLggIAoKAICAICAKCgCAgCAgCgsDNikDCpYvpmma2L10i2SEICAKCgCAgCAgCgoAgIAgIAoKAICAIZBIBX0/zJyUleZpU0gkCgoAgIAgIAoKAICAICAKCgCAgCORSBPz9/e01j4k6Q9euEQUH51P7Ll2Kp3PRZ+zHZUMQEAQEAUFAEBAEBAFBQBAQBAQBQUAQyC4ERImZXchKuYKAICAICAKCgCAgCAgCgoAgIAjkcgSSk69S1NkTdPTwXvXBNvaJ5V4E8vrkoSqNy1KePHlyRCNCiuSjFrfUpfaDG1F45WI5ok6WlcgZsFlWUQ66R8Cq/+MY7hOxrEXACvOsPdP1Ka1ht+qUr1BQhk9WqUFpCq9a3CFf+dqlKCh/gMM+qx/FyoRSvY5VrJJk6pjVtfL18yHKotsDZbW7s6H61O9c1aHOVsccElr8yCiuFkXlykPFyoZS0dKFrlvdc9r7RXCBQCpXMyxD7a/TvjIVCS+YoTzZmbjN7Q3IB/fcdbKyNUsSxqjcYLmprrkBz5xeR4+VmDm9IVI/QUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQsEYgX8Eg6nB3YzqxN5LizydYJzYczR8aTGGVitC+9ccMezO3iYnyQf/rTKumbaXY03HUpHctmvbdYkpJZvnvdTbUpVqz8tRiQF3aunAvrZu1014DTCC25YnEivXC6WpSMh3fc5YWjF1L11Js9bzr/R6Un8kMqJZhBzYeo3/HrLX9kL/XHYECTIw3719HkfU/PPqXw/lBHnW4qxH5+fvSlaSr9O/otXTqQJQ9TbO+talyo7LkF+Cj+vqyvzfZj8mGawSsMAcp0LhHDb6vU+jiuQSaOXQ5XbpwWRV2/6e9mQgMVtt58uYhX7+89P0jf1HylfTxmF2f/cYcqdm6Eu3fkPHxsGz1khR5PJZO8DiirdWt9WjV1K08dhzXuyy/Q0uGqPFo84K9lunMDvoF+lLDrtXVNfn703/pzKFoezKr+wOkYs8nWhEWngQE+9MWPvf62WnjpL2QDGwkc5/YxxiWKF+YqjevQJvm77HntjpmT+RmI6O4uiku1x2uxX0U992S8RuzrO7FyxXm8dOHTuyLTFemt+8X6QrKoh2lebxv3LMmHdlxKl2JrtpRtWk5Onf6AkWfOJ8uz43Y0ah7DVqahddPt8HVO12piGLk45PX47FIl5cd3xXqlKIuDzZXRecPDVLPDbwfYuycMWQZ5aS6Zkf7pUxHBITEdMRDfgkCgoAgIAgIAoKAICAICAKCgCAgCAgCNy0CcTGX6OdnJmW4fZgMrNKkbJaSmFCIXI5PpB3LDqr6TPlmEdH15y/VuUuxCjSoQIDDhL4GCRPBV5lUGfnKNEWw9nisJWHftiX7VRIoqIa/MIWSr6boLPJ9AxGo0aoiHd52kqo1L+9QC5AwbW6rT7OGrqDok+cptGQBuvW1TjTsuckqXY2WFahwWAH6/d3ZiqAuXKqAQ3754RoBV5jjHgcpPO6d2ZR4KYlqt41QqrtZP69QhY167R97oTgG5VxuIDB1pb0VtDsLGce9PUsXme3flRuWpbiYeLoY67iIxd39gfsJ5PO075aQf6AfPfRVP9q6aB8lXb7idZ2xEASERF4msKs1Le9QjtUxh4QWP64nrhbVuGGHFv2+PsvPXbdDZYo6xiS8CYnp7ftFllcytcC9644SPmZm1Q6z9Dfbvux4p8tqjA5tPUm/PGt7X33g8z409ZvFFHPqQlafRsrLJQgIiZlLLpRUUxAQBAQBQUAQEAQEAUFAEBAEBAFBQBDIDAJwf1ivk81l35jX/1GqQl3e/Z/1UerCTvc1pYAgP5rNJMPh7Tb1Qq+nWlP1ZhVU0ge/LEyxZy7QpC8Wqt9QKcIdYJnNFr0BAABAAElEQVRqJcjHNy+ribbRzhU2UhIJBrzcgXavOkxNWWUZxK7dMOkNdVtrJpNAfIAAfPDLfg5lwlVhkx41CQqugGA/Ork/iuaNWMXKUZt6Ky+rBFqzcgmKCazK377sAK2etk3VB+qCLg82o4JF8zHxmKLynTkco45Z/Tmx9yyrU8+yotKmCjOm3cLKTCg1r6VKLTGBa3Q358uqFKiG0P7rQWTe+U43pVgCBsB/3cwdrIjaZa+yK8yRAKqOOu0jVNqti/Y7KKnyFQykjvc2ofAqxVkxd0ldS600wz5cZ1yP2DMXafawFZQQl6jKKVO9BHW8p4kiIvLwtUF9cJ1hIYWDCaQv3G6CJNnPSrPFf2xQ6iDUveM9jalC3XCKi46nVVO2EiYttVm1Q6cx+0ZfQNnOBiJ6/Ifz7NcRapvgkACCMu3K5auMSxWa9fNyVTfkzW4lTteHmivM0P71rPytwEpfKHpBol6OT1LXwQxz3Bdla5SkkhWL0LGdp8k3wJdK8/WZwQpHEEKFiudXausSFYooUn7hb+so9uxFBUcg329QP6+btYPa3tFQkbVQFUNh3fn+pnRg0wk6uNmmBqzSpBwVLxdKyydsdoYy3W9XmEex4nDylwvtmEceO2cfg5wLqcUk5oqJ7s/lnC8jv/15bGvPStzy7GISfWTXqkO0+PcNqn7As37nanT2SAw161NLjTcTP1+g7gWcA2rBbg+3ICiC9m867rFH1SDuY90faamuV+yZOL4WcfYqY/FE90dbqt8Y447tSos5jfGkE18TXFuMedEnYmneyDX2+tgL4Q2MrxiHVkzaYtxtuq3H53odHd23urs/MLbp8RGqWYyHGPfcmRXm7vJ6e9wKV4xHGNcadK1GcMu7dsYOWvPPdo9OhT7S/q7GFFoiRBF5/45ZYydVoBqDAhxK1UNbTvDzdJ0i5K3u1yKlClreywNe7kjzR66mCzw+wjrx+Lxn7RHVT6zagevzwOd9VZ5ti/epNqofqX9cjvUWz164ir3/s75UmBd/wBrw+8SulYdo5WRbn7N6v7Aa6+vzO0le7uvF2fVtBC94OMqqyek/LLV7OkitcrqvQa93ob8+nqdcG0MJfiEqnmq3i6AU7qc7lh+kXk+2JoyBUTzmgHjX5q4dSIfyBr3RRdUJXhn0+4Uuw9V33Q5VlJtnPx6TD/AYgWcd7hN394DL65F6IjxjOz/QTL2bzRm20uE56aouVphbvdOhPFwPjHWVOfQAnjHTf1ii3rVwzOpdoAX3/yuJV6k83wslGXsQ3dMZe4wt2WVWdXV1PbKrLlJu9iIgMTGzF18pXRAQBAQBQUAQEAQEAUFAEBAEBAFBQBDIEQhsmr+bxvzvH56gC04XExMKtNptIgjKlfmj1lBbJqy0YdJsyfgNPDF4gMa+OYMnpZbqQ9Sc3W9COTWayx3/4VxFThYslt9+vGDR/NSQibMJTAZgRf3pgzbXhSBGZg5ZTqf2R9KoV6fR5K9YhWmwq1eTacwbM2jo0xPpLJOQrQc1sB9F/MyQwvloFJ9z3DuzFLmA+sN6M+EK0hEKr8V/rKeePJFpFd/NXqibDU1gIlnpasXptHbByJO+IGIf/qo/K5P608BXOmYotp2b05oeLlQ8RLleHPPGTPrzg7nKXR5ILW2uMK/RsiLValOJJ37n018fzVfb2AcDRgNf7UTHd59V1wnXBjH3QJ6gfZgwn/HTMlajTudrGKUUjfp8rW6tz+TJZhr56nQudx4hDps2TCJGMumLfPjAQITCOt3XhIlfHxr58jRaNG69InMK86S+Nlft0Me9+TZeR5BSUA6BwISBnMI98OTQ2+ieD3uSsS7enMtdHhC8Z5gwgyqx5cC6NOPHZQTST6mCLTAHEQlCGPdc7XaVac/qI8r9cUSDMoqY6/9iByYiT/B1nKxISfzWpC4Ub3CjWK5WKfr1han0x3tzWF1nI6NBoNVuW8lebUycg1zOrBkxL121hKnaGcQriCEjiZfZ85rlB24n2ZX2MFZOD39xChUNL8SLKSqopDhWuVEZdiXsy+POJDrCizia9KqpjoFQxFgyZ/hKGvLURLrECypUP/dAign33YdYGTzkyQm0evo2qt6Cz8fjBuwUL9DAmHw+Mo7Pa7svbEd4nGGsSpYvQiNYAQ6l95EdpxVBrY/rbxCYGJM8JVp0PrNv47Vyvj/2rDlCAfn8qM8zbajvM21p6V+bPFLNWmFuVoes2GeFK+67pn1q87VcRaNfn6GuMe4pdwZy8ha+l5ZP2MR9YAKtn7NTueRFPowVIKMxjo18aZpyxwnCEWZ1v1odQ17cFyBptGGRDlSwMKt2QMWKfrWDF/ggLqTRrMZ6pHP17MWCITz/DzJBi/sA20by1+r9wmqsD2SSH4sGdq8+TEP5HkEbIzyIyejDrqeRFvdwH+6PMDwzEhNsyuDZv6xQ9SzAC5qM5q4dSFu/SzXCew/GWLjCBsnozhB7E2p+jKl4FkKFrr0BWN0D7q4HzgvX1ePemkVzf12t4oe7qwuOW2Fu9U6HvFDFY4EHxiz0H6jpYe7eBYI5XEGzfnWY2N5KPzz2F+1acShbCUzUyVVdra4H8onlPgTSRsLcV3epsSAgCAgCgoAgIAgIAoKAICAICAKCgCAgCHiIACbvXK2Ix0TaUlZIJvEEIJRYhZhQ0BPtiAOJSVG4EgThg1iC2kCKbf53DwXm81cqxGO7TvOEegl9WH1DmQcyBOXsW39U7cNkOcq8xkIe1AvbduPNjXN3qxX9Pj4+tHHebqX0xHGojUC0zBu1WtUFirVp3y9RahjUGfWAGg3fkUfPqcnkECZts8pA7MAN6V5Ww8Dy5s2rVJFj35ypyD+o99pw/MzsNsTCg3tOKLsQRw6qOaOZYV6zdUVFNsazG0nEQwXxiH2wcjVLqusDrHE94LJt4hcLlCoRE5ggdHA+4AolUDl2+6ntNMeUrMuEJ1RNUHAuMMQDBWmNWKJQKWFyHKpAKDihhkEMvEXj1qnrjLiUmMSuwsoPo5m1w3jc2230d6gcNfEDkgrkex6u15AnJqjJ+R6PtvC2eI/zgWwBZiB6cU3Qn1EXd5ifZLxwPyE9rg3cMiNfSSZmEQMP/QPfIPTxjf1GW8qLEnAfQ+EFBTIMsQmhskG8Qxhcu0KZmVWGyXCotYzxZnXZaC/GBiOJpo9l5TfGMLiBxniTh//h3inDMSq1oW+iTwCz/RzbFko5GIjfOFZ6QdWNvKrfpBKROq/pN6epwDhuWWCL9Qhy2agMR3sxJmMcdDa4PIaCuS4rbxHDdcOcXSoerzEd4giX5Xt36rdLslQF7nx/4JzoX8AH/S6UXS2DEPfE3GHuSRkZTWOFK8raOHeXGjvxXII6WC+CsToPFnVsX3rARrTzMwrXci6rJGEYtzB+YRzDfQU3riCrMc7BXN2v7o7x6hKV39Ufq3agX6EfO5vVWA937q6evSgHz3/0f/0uYHT97Or9wpOxHuMMVPio82H+9mQBydkj55RSHHER4RkBimeQmudTVedQDkOVaWZW7UD6TfwcPB95US1ywf2KZ747q8XvJVsW7uMFI3mZaPZlN7ZHqHytMJXN6h6wvB6pJ4XCGm6bofAFKQulrZW5w9zqnQ7lom/juYLre2jrCfv1cPdcQt69aw7bnincl0CEZre5qqvV9cjuOkn52YOAuJPNHlylVEFAEBAEBAFBQBAQBAQBQUAQEAQEAUEg1yCQwhOTWnWFyUhMZvqySk6TnlCDOLtKxaQ2Vt7DbZvRMPllNG9iGMHVXx1WmcE1GSbsoD6E4Rux3EC22o3rCsMxTGJCDaktIe6yXbmi93n7DSVO90daKMJAYcQFYZLYGHdsLRO2d7/fw9tTeJwPrlC1YbK1VERR/VN9m2EOZYjRRSq2sQ8WymQNVIAOloprQVYDwT0cXItqg+s+bXCZV79LVer7XFsCQbpk/EY6mRovDUQQXE42Y8UuXNXC3TDUQQWLhahrCBJOG+oDkthoZu0wHvd2G8pHuCeG20EY6oi+thzuTLndUJ1B8QtCD+Rtdpkm7Zwn291hbif9lUvPNFd9RcvwNWbyy2j4jf06hl1S4hXVdmMabGPCGvHjqjIhfnzPGbp8MdHUdalzPk9+Q9Hb+6k2ivwz9l2dF5Pjq6Zu1T+z7RuLIHBdsdAikfse3E0e233afr4LUTa3u9iBMUarhkEcXOKxRBv6yuVUd8p6n9l3cEggk/dMpmBMTTXcOyBQ3RnIbSibm99Sh1oNrEdbF+9X7mI1MYU24P6Fq2C9z12Znh53vj+QrxW7rz7FixLWsutVqADv/qCnIlXNrqfxPO4wN6a9XtsYM7Wp68xuht0ZiKz9G2yLcOxpUy8rroNRRYxxDeVinIO5ul/dHXPXS7xqh8VYj/q4evbiGAzPfSN5advr+q8nY/15w30HJWWwB8pHuH3G4gIsPtnCizbKMWGI+/Qcu7v3xKzaod33ohzbOGBb2GFVLt4/oNxuwM9CbXrMtboHrJ69uhz9bobnBd7DUJ72IKDTGL89wdzsnU6Xoc+H37gecK8Lc/dcQprsemajbDNzVVer62FWjuzL+QgIiZnzr5HUUBAQBAQBQUAQEAQEAUFAEBAEBAFBQBC4oQhc40l4TPoZDZNpV1gdANekRnWmMQ227RO4zgdc/IZLx8oNyyrXtiBR4QrzmWG3q9QgMEFUYp/zRCrUDphQH/fObBcle78bZNYtL7ZnJeF6FTPPVUmKTHCjnnGVNyP74fJSG1wSAhejmWEO8gRErJ5kxLYmI+OZMCnEuJsZcIXKaCmTk2aGiVWod6DirMJkFOK4/cwuN3WfgHoEH0w493u+HZ/zolIsQdUJN3uaKIdi1jgpj3OZtcOsDhnZhxh1iOE64dN/07IxGQHXsiCd0F4Y1Co3ytxh7qpe5yPjqSa7WjZaAf6N/dqsMIVKsf3ghkpxi2ueJcZMDMj/M4ejlTLUuUwoNOGa9aghHqRzmqz63YbdUoNgGvXadEVWw+Vgk942l7E4B3dlUwM5D1eV2rCwAnHu3FkCE8FwwagIk1RVGPq9pwYCGm6G4c6yO7t0xmIAHYMQ9/F4did92+udFcmJWMNZYab3BxdckWO3arffuFegnAuvUkyNuVbndYe5Vd7sOubiMlueTvWB1MU0zgkxbhkV/xjXcJ0vMk6ZMZDl2n0syglw6jtetcNirLd69up2pKSksIvb9DGH9XHn77iYeIWF5Vjv6sZzLszwGyRm4541Ce8mUJyr2Jq8WMLTcTuj7TCc2nQTLqY3s+LaGNdZJ7S6B6yevTp/Rr89wdzsnc7deTx5LmFBXE4wq+uRE+ondcg4Ao7/A8l4fskhCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCNzkCF3gisnBYQdVKkGY6zhYm7KDc0Aa3bnBFmBnDCnq4uNTkVoPOVe3u06AOwzEok7RVql9axW6MPhHLLuUCKbxyMX3IrjS07/BiA64cB7zUQRF1UBYaDe4eO9/fVJ0f+xFjUrvnNKZztQ0XeM6uYF2lNe5XcfV4B8iRGuy28NCWk8bDptsHNh1X7jyVCIwvEVx7Yh8M8fagJgKWMLijq5Qal+wwx/Or3qy8PdYnVHXa/SLIHLQfGEHBCNduKew2Fm5ZYa1vq29XcWDSGdcIBCwmmo/tPmPvO5jwr9mqkiI7VcZs+gO3j3ALCTJG9y99qv3sTlX3ZWCRzO3wVIWJPg/3uH7sRjArzApzq/LhzhJulfU9gPia+I39ntgZjvUKwr4e33NQo2aFdbirMWFie/GfG0yLq8h9Dm6onRclmCY27PQGc4wtR7mvo6+i70JB7IkhdilwhHITVqVxOb73fNyOdSCM0bZ6nWzngVIMLns9EGIqd6RwxQyDahj1Ni5euMTuh9GH//lhKavWI+z3q8rg5R+r+yP2bBy7GLa5x4QSrGTFIg7Kblen9BZzV+XdqP0g9UGUIU4lDGN3eFW+lmxYpIHxC89GWAOOqYjxTS/kUDu9+AMSG0QxDIt3wio5Ku69KNJyrLd69upzxUVfYjfLNveq6jng5nGfXWO9jh8MN9xnDsUobKCu9tQy2g535R7cclzF0tQuhPFugAUMMKt7wOrZ6+6cro57grmrdzpXZWK/t88lXSbuj6pNy+mf2fptdT2y9cRSeLYhkDVvV9lWPSlYEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEsgKB5v1q2ybfWSUy+N3uHN9rP62fvcujokGSNetTm+77pLcK0zVn+CqlWFs0bj31eLwlx/ArwzGbbK5fp3+3hKBA8ta2s7vRvs+2U+4nMVFsdIGKMmf/spJ68jkf+fYWJsOuKneKIA6hsJo5ZDl1fagZuzVlN7LBfko1OW+ELW6Zt/UBoVOSJ49B3DblGHSww+wy99/Rawir/TFheO/HvdT5ESduyteLPD4VSMPuj7SkMa//Q2c5hqenBmXW3R/0UKQtiEMda9Qq/5rp26nzA03pgc/6qGTHOXYo9sFA1k3l69b94RbUZlB9pf7BpP3/2bsK8KiOLnohQggEAsHd3d3doViRtrS0BWrU3f6WQt29tKWFQqlAcXeCu7u7BwgkuPS/Z5bZvN082WwSSNJ7vy95Nnpm3szbOXPv3bP2sMJ/6fiN1GtgW9a6ilGmJKF5CU0wkKggg/p80pHbIYYy8UL7ck4TJvgg0Ny4563WylRxUEgQRbH/OW1ueMr3i6jj040VWQMtnRWTNsXz+acSScJ/7VibDf1Um/zFgvNo1siEb1GYM+3yfFN68P0Oql5TBy/2OWeY2Wvfv4EyLQzfhYkV9HkrzO3SVu34VaQilqHchP0EE/jaVzIWae9efUgtNMOcaWIFRFf11mVZEzSG+n3aWSUH84S/vzXVnXRxJup8IeHdEW6d+IP5qmlb2CxqVarIpB9MJJ7ldjcSg9556GuYbpwxZCl1e7kZm9i9pPo+fCn6EncO+4jt8kJT5dsSdcdGCB0PvmKhpQWCFMTQUd6QMOWHRSpbjC3Netek+ndXUWQl2hKEpbdAK3Laj0uUWW/gCvOy/ord+wEt9I7PNKLKzUqp8m9bus8nctwOc2iDd2VsoNWKMQ3v3l4mBKFVavfMqX52uDrFtXqOOQa+Ce8b0FaZWQZBFfmXSzvdNZZuol4D2qi2uhx7lSZ9u8AqKZ/vY3y+m/scyGyQ9iDEdd+xSwTzZo/XWiqzrNh0Ao3jPwZOV3OV3VjvNPciz42Ru1R/LssbdmCJAfMd5l6774vkGOsx717j9+kgYwJrAFE8Zp45FmdKG2M5NlVBQxb9au6IlR7zi1U97HC1ewZzzznYL/RDH3Vkv5yYJzOpMQPfQnbvgF172OXn9MwJc6tvOrt0/Z2XdJrFKufj77N6tJd9oCaW4NdpWh3t2sMqjtxP2QikCwwM5M8aZ4mIcO02cg4pIQQBQUAQEAQEAUFAEBAEBAFBQBAQBFIrAsHBvpu6O3bsWKKqKb8zEwXfHYkM03ZXeeHSW6CBBm08bYpTP8fCq/b7p+/5esRC7I1rN03zQxrQGEPamjAzpusU1xg2Kc6xUJyBF+ITTN4yMfHoF13oz0EzffY/2P/77vTHO9NVvVF/LCAbxQlzlBVi5UcPZALS9PaBCu2xzOGhqo7eWnMw74tF/dhoJr68VplQHmilwD9pvDS5HOg3ZguaTvVQlUiGf+hXCSH9dBFAYoL0TTIzrEjYBnOdr9URZAfMUXoLSGc7k7I12pZV7926OTu8o6a4a38xh09HjFVm/dGuksAO/dx7nLOLo59hE8Ql9qOZ0PEQ8aBxaTbO6bRxVOY6WXvY+/0zhkmKc2hTXb101cPPpy/p+ou5L2nfzjB6PDMb61AOq/HM3zJibEUfgInQpG5bq7Heaf4EBsovo8n4YlfPpMbGY47gsVKJ1/xjVx5/62GXJuZXtBfMD3u/607vgFV72OXn9MwJc6tvOtt0LeYl1R7opDZtgA0LTmOZbd4JfGjXHglMSoInEQLG35lFS5QzTXXf7q3qvvF3pmhimkIlNwUBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQcAbATMCE2GgqYQ/b/FexPN+bneNBX87sSOanOLapevPMxCCCSYwOaPStQrTlsV7fSYwjWWzys8JcyvyUqcN05WmwguTVtp5IDWtnqE8Vs+QjxmBiftO9UCY5BC7fmWVHzTpQBomlQlWdz42mLvDWJyYEZgIakZgYqG7xUO1lNZt8eoF2c/tLItUU87txGAO7UV/BNj5Q2Air+SO520e2Z/6+RIHJr39EX8x9yev5Izj73jmb5kwtsacZgIzGcRqrHeaP4GB1fhiV0yrsd4ujt0zjznChjizSsPfelilh/uYX63mO6d3wKo97PJzeuaEudU3nW26FvOSR3tYJHA7CUwUwa49LIoot1MoAqlOEzM4JDPbki7EToHD2WRJynbp+S87O758IZpNORzknaP+m3NIoX1HiiUICAKCgCAgCAgCgoAgIAgIAmkQAeMOWafqGXfIOoU1ey6amGaoyL3/EgIwaQnfVHaaC954lKhWUJlkdVqc9I4n18mHALRLYErYWys2+XJM+pQLlcujzE/CzKA/RG7Sl8g+xbSAuX0N5akgIAgIAoKAIJC2EDD+zkyzmpggMPMUrZTiyUvdtUCyZgzLrgjX4/s2CpGpgZGjICAICAKCgCAgCAgCgoAgIAgIAoKAICAI0Hk/NGzgU08kZSFwu7VLkqP2B7ceT45kky3NtIB5soEjCQsCgoAgIAgIAmkIgZStyugFNDQwU7r2pVeR1SXKjLKLCAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgDMCqYrEhAnZ1CqpueypFXMptyAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCQOpEIFWRmKlRC1N3i9Rcdl2H1HRMz9qvRhvLqanswcEZbltxdV44pkuXzq98AwICKCgoyDEuwgUGBjqG8yVAUFCw3+X1JX0JIwgIAoKAICAIpDQErOZpq/u+lL958zZ0V8e7VVCkU758JfbnFeBL1HhhEhs/XoJyQxAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBP7zCAQw2fOOLyiEhob6EixZwySFSdaQDBno+o0bluUE+RUUFEg3bty0DOPvg3OnDvobNc3EA76FCxejkqXKUPp06en8+XPx6pY7dx61iBaWJQudOXOG/v33X8qXrwDHK0q5cuXx+MOC2YULsfHSKF2mHPXp258WL5of75nZjVKlytLNmzfp8uVLZo/j3fOlHmZpFipUhMqWrUBhYVno3LlozjOuL5avUIkef/xZql6tFi1dulDlmTlzGFWoWIWASXR0NF2/fj1eWaxuIA8sRubOk5fOnzvHca+5g3rn9d77X9KWLRspNjbGHcbXkwYNmlDzFm1o7dpVllFatW5PDzzQjyKy56CtWzd5hMubNz8VKVKMTp06qUjOcuUqerSxbnM8R3v35Xbt2OluuhAbS0eOePqCKVGiNGUNz0bRZ8945GF3YdbfdPjw8OwErHLmyM34n+VxwRP/YsVLEto5gMlZtKdRQNiiLoW5bpcvXaJL/GcUu/ZBOLu0dTo6DyLP9yAx/UanLUdBQBAQBASBlINAiRKl6N33PqdcOXPT+vVrPAr28itv003+tj18OOHfmVWqVqesWcNpw4a1PPfmppdefpvWrVtFMTHnPfLw5SKx8X3JIzWEKVasBJUqXY6/c9PF+871dX7GtxHCGr/L8D2XM0cu9T2C7x18G+MbKUuWcP5+vUzXrsV95yUFTth85qvE8jdZYiQl/M5MTPklriAgCAgCgoAgIAgIAoKAICAICAKCgDMCxt+Z2bLnNI0QfeaUum/8nZk0alGm2d3ZmyCZRvw6mB5+9Cn1o75C+bL0cO9eiki4wQs9a9dvpImTp7kLWSB/PnqgV08Ky5yZiYobFBCQnsZPnEqr1qxzhxn87ee0b98B+uSLb9z3mjSqTyWKF6Nfhv3uvicn5ghkypSZHnn0aSYlb6qFthYt2tHJE8doxIgh7oWXtu06UcOGTWnz5g1UoIDLj+iXX3xI+QsUpNKlynkkXLNWXRry87d04oT/zuexQHT/A30V2fT3X8Pd5KFHRl4XTvWwSvOB3v0IJOamjeupAdcxJCSEvvv2M7UYhSyaN29LE8aPpk2b1qscS5cuSw88+CitW7uSifVg6t7jfhr8w5c+LVKCvES9du/aQUHBwdSD43737ad07NhRlbZ3XupmMv2DlmbLVu3pnbdfZsL5gkcuGTOG0mNM3ObMmYuefqqvIjGrVKnhESZvvvyKvESfwCJuRI6cNODtVxS5bQwI0u/xJ56jo0cP0xefv298ZHlu1d+uXbuqyONevfrQ9m2bCYR6j5730+efvUdnmSDFgItyZ88eQXt276T2HbqoPjt6lGscwILwc8+/Rvv37VXt27FjN5o2bSItu0VO27WPU9rGyjRv0ZZatWpHkZFzaPKksepRYvqNMW05FwQEAUFAEEhZCFy5eoXK8uYYzIW7ee5Jajl58gS99OITPm/o8s7fO37lKtXprru60nvvvukdNE1eQ4P1Ef7dERKSkfbs2UlNmrSgQ4cO0J9/DFP1Tcj83LBRM7VxbdzYv1RcfBPju+PHwV+p63vu7U1RUafUpq0IJjbxfTl69O+0ZvWKNImtVEoQEAQEAUFAEBAEBAFBQBAQBAQBQeC/i0CaJTGNTQptpf6P9qEB733M2l5RbCYrPb38/NO0s0wp2rZ9J2v4FaQnH+tH3//0Cx044NLsCg/Pyvf68u7mMJo736UVhzSzZQunihXK0abNW41ZyLkPCHTu0oNOnjzuXswBWfPkUy9Rk6ataPasqUrbsFnz1h5k12uvDySQlUuXLKBVK5e5cynEWpnlyleMp9XnDuDjCYjFFSuWsOlZ3024OtXDLM0KFSorjb1BA19nwvaqKl3vBx8hkGh//fmbui7ARC3w0dKpcw+aNPEfWrliqbp19sxpRZb99OPXOojlsdf9fei3YT/Sjh3bVJiud99LrVvfRb/99pO69s7LMqEkeJCTtUaus3aAN4GJpDt16qa0Zbt07alygibByJG/euT6RP/nFUGIm/l5EQ8amdDONQoWDrt1u4/mzJ7G/aKS8ZHlOTQw7frbffc9RKP+Hu7WeMHiYVPuq+PG/U116zakDBlC3AuzIK7f/+BLmj9vFpfvhEp3z+5d7rps3LSO+nM9li9bpMpu1z5OaesKRUTkoKpVa8TTgE1Mv9Fpy1EQEAQEAUEg5SGAuXTK5LG8qekB+vijAcqChFkpK1Wqxt8XHZWW3vHjR2nKlPG0zcsKglk8mOHHd9eXX3ygrAu042+U9PytloGtmNSoUZfvnVXfcBl4ExbmXGgB7tixlUYMH0IXL15QZvx1/KJFi1PPex6kTJky0TsDP1GbeGbOnGKWbZq5V65cBcqTJx8NGviamutnzphCH3z0FS1cMFdtQPN3fs7BG70efexpGsbfdUYLFAt4A9M23mgFqVW7HrVv30VIzDTTm6QigoAgIAgIAoKAICAICAKCgCAgCAgCGoH/BIkJ87AgLqOjXaZLYTb086+/53suH4C9e91DY8ZNdBOYAAdhf/51OH0w6C1avHQFXblyRWH21+ixdG+Pu2nL1u2Wi0caXDnGIQAiuXadBvQuk3haoPE6d850pWEIEvMcmzz96IO3PcguhMHCmLfUq9dIkY9oSwgWy+5WC2q51UKRt2nTFi3bKgIKxNOB/XvVQhBMdP36y/d09epVatCgqUcW+fMXpG7d71OmutD2c+fOICwW+VIPszQLFCxMhw7udxOYyAy75e+590GV7yuvDqDQ0Ez07HOv8QLVYfr+u89Ya/iiB7kK7T6jeTeYK9N1PsME5/jxo1hrcIvq69DwhEaiFpit1Tia5YVw2OXfq9fDlJPNyYEoHDvmT9Y83qOSAEnYpu1dVLt2fYL25H6+/zcTfMgXko5NA3dgbYs6TO5B1qxerjQDs2bNRk89/ZIynwszeCDxpk6doMLAPHA+xhkaiprEVA8M/8LZNCxMD/827CeqWbMudWCNx8DAIGVS708mf/WibNOmLdVC6kkmED31dYnq12/M5m7bslm2zPyO76PRo0YqotGuv4HURntv3BiniQ0NzHS3xgxoyxrN+aGfQsNYmyO+dPEiwRStFrQdVOBBvmIssmsfp7R1mtDMnTRxDFWqVFXfUkenfuMRWC4EAUFAEBAEUhUCixdHKmsOsOgAcsxbKrIJ+gd692Wy8Teew3erObRfv/40ZMh36hvBO7zndTplGQHzFCQTb9CpU6c+TZ82ib75+mNq3Lg59XsEFk6u0j///KE2KIFQbdO2I7k0BuPi72JLEHPnTqdGjZrT0KGDlVl7z7zS3tVF/m7DdyI26cH8f8aMGSmYLWloEzj+zM9ZsmTlTVAv0N9/jaC9e3ZZggaz9SKCgCAgCAgCgoAgIAgIAoKAICAICAKCQFpE4D9BYl66dJk2bNpCA996lZYuX8Xalzto3/6DvMBwU5mpLFK4EO3YuTte+56KOk3nY2IpX948HP6Aer533346fOQoNWpQjyIXLo4XR26YIwCzm5CoqJMeAaAhAI0ykGQggDQJ1JhNcJUsWVqZ7tzCZkSNAtOqNWrUoU8/GahugyCCRic05FavWkbFipXk3f8PKHISAWBmtBWbM/3owwFqIan3g/2odZsOTNL95Q5jTB8LRs88+yr9+ecw2sg+ovKwD6LnX3iTTd8ep9OnXTaZ7eoBUtRboEXZrFkrtbAFwgsCs7Tw3wg/jzCZC02+H77/gs3jHlPPUb6H+zyhTIRB0w8k3FA2kQzJli07k4Mv08jff1FEW3Gu4yOPPkMfMgmMMmoCE4uZ5VkLFKTs8FtamGZ5Ic0mTASCgAVZV439cvZ/6kUa9M5rijiFObhChYvQJx8PVIuXHTp0pT5cts/YvCoE5lF37dpOb735gqoXNAagETBp0hiC5ujjTzxP7w563U38o8497+nNmo4jFLGnEjH5B+J7ExOJWPhbs2Yla0ZnpaLFiiutD+0fFERng4ZNuH3fUf4rjclUYU1FLK6iXiCHYdoNZfvwgwG2/Q1+pYwaIzCJW4F9Y/4xcqhKXvu/RN+DpjC0XrDIq0nmhQvnsU/WJ5TpN/juLMqE8+/cVhAQ73bt45Q20tDEJfyL6nPch9j1G1cI+S8ICAKCgCCQWhHAZph/Ro/kuexZWsvzotFnIurUkS0cTJ48Tvm1xDWsWOCb4a677vaBxEQMTzlwYD/N4Q1nEGh0NmjYjAnSoe60li1bSLVq1fOMxFfwVx7FG6Iwnx7kDUT/Bdm3dzd/q6ygF158U20Cg2YmyN7oaJef7oTOzyBB+z/5Am/+Gm9qeaQIb+CDT274Sa1eo7bS0v0v4Cx1FAQEAUFAEBAEBAFBQBAQBAQBQUAQ+G8h4Npq/R+o849DhtHY8ZMpT+5c9OTj/ejDd9/iH/05lImsDGw+6wJrTpkJTGCGhWX2eDR6zATqdFdbCmHzWiK+IRDC2nvXmNzzNgMKLUfs+M+QIdgjIZgoy8E+frCbHRqKRqlarQb7djzi9oUJ85swrwWTsyAQt2/fQuvXrXFHOcYaie+/9z+lNQjia+uWTZQ3b373c++TuqzluX37Ztqwfo0qL/xIwvfmJd7lntB66LTXsl/LmJgYXnR8RpFOyAPEmxaXidl/FUGIBT9IwUJFmOAkJiWjlE+ljBkzETQ6IagzFsv28K58kKHHjx9jLcO97Mexsnqu/2Vj8jgn4wgSDkQoxCwv3IfZM2hWoo2wCIdFxyrszwrt07RZSyYcf1eLksB4ypRxtGLlUvUMcUG8Rs6freJiQXXChH+UVibSctXnX9U2mniErycQedCMtBIQnajnMtbehECb9PqN6+yz9qZKS2vhQmN2xvTJrC19OV5S0BqB9ieI2dDQUFWvbNkiFDFtDGzX3xDubjbHC/Ow2jyvjgt/o4gLcjUjp4/+CoGPTxCcMA987PgRRcKWLu2tI8pktEn7OKUNc39dut5zS+tFh4472vWbuFByJggIAoKAIJBaEYA/TJgRBWFpFGzywvfNzlum5PWzHdu3KmsLWsNS3/flaDRzj/kdVh2M9+CXPCwsiy9Jpfkw+M4qVKio+ibCZjdsnipTppzygY7KJ3R+xqY8fLPge89MihYpTtisVoI3/eEbJ5S/B0UEAUFAEBAEBAFBQBAQBAQBQUAQEAQEgbSGwH9CExONpoiZdRtoDf9BenbrQt26dqIffvqVzp8/z0RETiZVXBpwKsCtfzkisvNihEv7Tt+POn2aCZw11KF9a9YsdJnT1M/kaI4ANBFD2IcSCBijpmJYWJgy1QuC0CjQMoBAExF+C8ePG+V+XK9eY+VbSd+A+dOdO7fpS3XcyVqB8JkJgeYjtPFgfhVEF0hRrTGnAnj9y8XpnWBS0CjQMoRgoS4h9dBpgMj79JNBStsRWo4gXWEK9MGHHlN9U4fTR5COPdhc6Afv/0+RmLi/nRcs+7IZt7dYMxX+kXLnzadIUR0Hx/Rs1tUoMDWHP5id69HzAaVJaXxuPDcuSuI+TMpmZy1ZaHCkDwhUJlh1eLThItY21AItVaPAL2SWLFkUeWq8j/Mwvt+yZTv65JYmrfdzfY1FOZCCWHy1krLlKqoFvpVMqJoJiHAQjEY/mSBcsdhnFLv+BlPEII+//upjYxR1Di2TP/8YprRp33v/C9rN5vM2c/t06tydNVdm0IrlLm3tRQvn03vvf86awss9cLRrH6u027btRBs2rOFF5BPxyuPUb7w3EcRLQG4IAoKAICAIpAoE8F301tsfKL/SusCYA7AByJusxDcI5lPc1xuAdBzHI29G8hbvW8hThM3XN2jCm6ZO0+8jXJYX4CcblkKqVa/NGrFLbb/rzObnLVs2qu9VWN74nC1fQLvVKPPnz3L7xMS36Qcffc0brnaqjX7GcHIuCAgCgoAgIAgIAoKAICAICAKCgCAgCKRmBNIsiRnMCzlYEMBiTYVyZal8uTI0asx4d1ut37CJenbvoq43s3/LBvVqEzQsjVKmdEm6wmTNqago4211PmnKdNbmfJsWLFoS75nciI8ASMOz0WepeInSbj+GCFWEd5EfPuwy1duuXSflz9LohxD+nKpWrelOMCebzCrEGoo/Dv7SfS+WNRyhjWiUrExcaYFZU5CnMCeLPgHfivXqN9KP4x2htVe8eCmP+4XYf2NGXiCCJp5TPTwi3rqAOV2QaTOmT3I/hp8okJlmkjt3XuV/UfucRBhoW2Zj06moa/TZs3SQfXv+zBqi3oJd+djtP+2W70k8xy7+nkxiYhFTm7P1jgezrDDvqwU4r1ixhH2VRhOWJ+F3dK9BG6Bp01a0aJGLyMwaHq6jqSPiYrFNa5UaH8KkHbB4/fVB6jb8aUJA8o0YMcRtok75PV2+xJTkVRH4H+oEYhmmeCFYwIU/yw8+/IoGsincaO5z0CqFlqi3+NLfGvCCZJXK1ZUPS5cGqysVaNSC+ERfgaBfwdcq+jNITGhiTGRtVC1Xr17hsGeVJgzME9u1T99+T1qmDQ3k5i3aKK1gbb4PPkqRvyvP0bb9xtvsoC6fHAUBQUAQEARSFwIwUTp79jS1QUmTiNCSxJwNE+/abDlqVaBgIbUxSVtDuL01/ff2ZncHc4Ov7z17dnqU4MSJo2ruh3UL+NW2+q6zmp/hMz5r1qz0RP/nlV9S40ZAY0aXL1+mY0ePqLbGt4KIICAICAKCgCAgCAgCgoAgIAgIAoKAIJBWEPBU20orteJ6lGPSElqSIGwOHz1KDerXYbOaLr+MqGbNGtVo1569qsb/jJtIzRo3pNo1q6tr/IOp2T69e9Gof8ab7lq/yJqDU6bPojatW7jjyIk9AjOmTaSuXXsqM5sICWKvdZu7aPasaSoiNMvate/sJiShsQfC0bggBPOi69atYn+GcaZDoZVWsya3LxOcEJjzatqstTrHvyy8+HOGTbKC6IHvTfhJtJM1q1coP5qlS5dVwUCK9ejei03eZlTXTvUwS/va9WvsF/I5NmOaTz2GH9CWrdpRZGR8cg0BQCZe4TqCRINggbIp+6zEoiQWulavXk6l2UQZfC1CQN69/sYgRTRi8aoRm2vNX6CQegYCF5qYINmsCEwEhHYk6gopW7YC5WFNT/gExaIn/FGCtNQmaSuzmdk6dRuoZwhftGgJtWiKc4Rp0KCp0jrEtbeMHvU7vfRifxrw9ivqT/s2HTTwNbfWJfxAValSw21K1jsNfQ0zwa+9+ow7LfieOnRwv7qG1i00NOuwX82IiJwqCrRs3xn4CSF9p/4G/1I12c/Xd9995vbVqvMFKQ9yXJuPzctYlSlXwd1Xd+zYSk2atKRA9lUFgSnZHDlyKh9ZTu1jlzYWP1984Qn6H/se1fitYj+wCxbMYd+jXzn2G11+OQoCgoAgIAikfgTmsq9KWD0oyNYCtMxlKwD16jemMmXLq1uY/9q160wIe7sF5vBhNh1agv8F2cHuDGrXbuD+VgoPz66+ZXbyN4HTd50dPvClCX/nffr2j6dli3j4RsR3BvrBQf4GEhEE0goCOQtmoyrNPTeWJqRu6QPSUamahdQ7kpB4yRU2ICiAqrcpS80frEVl6xZNrmySLF29QSbJEpSE7ggCTu0YEJhmlwTvCN7I1AnzO1YwPzPGuJUp3LUWlpAkIvJnpfINi3tEyVkoG+Uo4LkB3iOA10Vi5wGv5OJd2rUVNp/J+xEPMscbKW3udSywSYAS1QpSk/uqq79secRthglEcksQuCMIpDlNzA7tWlOtmtWYsMxBQ4aOUKBGR5+jocP/oBefe5LNiV7lxZQMdPDQYfpl2Ej1/NSpKBr0waf04P33Uve7O7G5U5dPQmhuavOzZq0zL3IhtWrR1OyR3DNBYPHiSCbbgumVVwcoMi09awVOnTKeNm1ar0KDmMseEUFv/u89ZfYViz8gobRGIcyggTgbNvRHj9ShHTh50jh64cU3FcEHjblVq5YqAhQB582dSY89/ixVYo061pljkutAPHOixgRBMiGP+x/op26n43xhOnXjxrXq2qkexrT0eQybLB479i/q/eAjSnMQaaLu27dt0UE8jiAOf/j+C7rn3gepVesOatEK5l5/+ukbFQ5kJsyV9eUFLWgbQ+MRpsr27dujno/8/Vfq16+/Os/KGpb79uymYcM8cfPIkC82cP1eePENZW4X5NvQXwe7NQ1H/T2Cet7TmwYO+pS1G88oEvnXX35wJwHtw6rVarJ/ru7KHySuJ00a635uPPHWBNHamnjvQDRDatSoQ/uZdMWinZ0YtSMRDmnf5DT0/cWL5lMW1tQEwRsTc06Ve+yYP5Umo11/w2IgTP1eYw3KQe9+5i4CzBb/MuR7Nm/8t9J+efe9z1VfBlE8iTUv4aMM8ucfQ+ne+x5SGqIwlYw2+uWX7xV2eG7XPk5p67ohHchN3qiB9DWudv3GFUP+CwKCgCAgCKQFBDB/jh37Nz366NPu6sDEKPw1Q6sf8wMEm8WWsN/w2y2HDh2gTRvXE+bKdetWK/Prt7sMtzO/BWy+P0uWcGXm98KFC4q8nTt3Bq1nH+sQf+dnfBvhmw/amPi2+GPkUJXeQw/zdwr3AXyzwe/6b7/9FM8dggoo/wSBJEQgc7ZQyls8gnatNrcmk4RZUbY8YVSsSn5aP9dTw9nXPDJlzUjNHqhJR3aeogvnPF2X2KWRXHVs3bcOXTx/mTYv2E0125Wn4/tO09nj5+2KkmzP8pXISQ26V6HrV2/QuM/neeRTqWlJLl85nkNuUuzZSzR18GJVbgS6f1A7ysxkxq2fbLRn7SGaM3ylR3y5uH0IBIUEUvXWZVV7jf5oDp3gPqUlf+lc1Oz+GvxNEMi/aa/TnN9W0rE9cRbGsEhfq0N5Qhp4P8Z/EUk3rrm+G3QacoyPgL+Yt+pTh0rVitt0liE0iEZ/OJsObYvvIiZ+rnf2DojI3WsSPuZny52FCpfPQ1sWudaoUIsKnBbGlgV/u9bWnGqWmHkABGWZOkWo3t2VaeO8nbRqWpyborDsodTy4Tpqnrlx/SatnbWdNs7f5S5OvS6V3O0VdSiapv20mMv937Eu4gbCjxN/514/skq2KFGHz9KlC1eoRe9atG/j0Ts2VydbBZMg4aKV89OZo+fo3ClPdxdJkLQkIQhYIpCOf/j6NBJHMLl0p6Vw+QaORcBElTlTJorlxQNNiBgjYTc4fvBbaaSBKINW25UrV4zRkuT8wJbFSZJOWkgEJjAvXbpoWRVo88EcqVkbWkVC28PfpbfPIIS3e2aVHu4jPZTTqhxO9TBLG9qOMC/qq6DPgqSyMiEGrUJvn6I6bZQPpJcmuPR9u6NdetA8BBF9+bL5QgAW0oC1Jibt8rmdz1CmDBlCLMvtT39D+TFeAGOzPofnwAN4WfV1u/ZxShvp24lTv7GLK88EAUFAEBAEUj8CMD9vNT/dztphow++u62+vW9nWW5HXvjm0NibfT+mlvkZ7earHDvm6Uve13g6XEr4nanLIkd7BLAgXKpWIZr0zUL7gEnwFFqUFRoVZ5JtfhKk5nsSyVXHpwb3oJ+eHacIJeWrw6dVGN/L7WvI0CwhVJk1XP+9+S+BzDSSmNCQanxvdZry/SK6cvEqVWxcggqWzU3TfnS50Hnkiy409JWJhEV/kTuPQLn6xdhUOTEZWUG1kSYxA1nrt/trLWjWr8vpNC8yQ5MI1z8/N04VOnveLNT2sfpMXM5XBDXaPepw9J2vUCoogb+YG6sWnjuMer7ZioY8Py5VEGO93+9Ak76OpOiTCSMrQJRjvtDjhxEDX88TMw/kL5WLchfNrsY5vBtGErN9/wa0Y8UBRc6C6H/g/fY07rN5FH0ihrLmzExdXmhKw9+cosbJbq82pzXTtykyy9dyS7i0gcA9/2tFyyZsogObE/edmzbQ8KxFn0870cSvIun0kXOeD+RKEPABAePvzKIlypnG2LfbtfHE+DszVWli/stEDjTY7ASLBTGx1pOr0QypWTogi5KDwETZReIQsCJ1dAgr30D6udkRbW+1WGf3zCwtfQ/+pezEqR5mcRNCYCK+U5+1IjAR15/y2aXnWoQ0JzCRX0LIUoS/XYL2tyJeUQZ/+hviYbyw6nN4DjzsMLFrH6e0kb6dOPUbu7jyTBAQBAQBQSD1I2A3P93O2lltwrqdZbideeGbw+67Qubn29kakpcZAg9/3JHmjlhJLR6qTRkyBtF0Jqj231qggxZiK9YYzJojE12/dpNJkGV0Yv8ZlUyHpxpS2TouM6h9P8vOi71saebTeYpoRL/fsmgvIf6lmMuK5Lrnf63p7/dmqrg12pajSk1LqPON83fT6ulxGjF3v9yMti/bT7XvqkAZmWCDNsyi0etUWOM/PA8MDqAlYzcYb5uew/xhlRal1bPhb0xWGoc6YLvH66uF62qtyxBMFa6csoVWTHZZU7Gqo45buVkpZeI2KEMg7Vl3mCL/XOPe7ArNnWtXrlORSvkoT9EIOrLrFC/8L1DXIAZDwjJQ7w86qKT+eGc6XY51bWqFNkOjHlWVucaYMxdZY26FW2MufUB6asgak6VrF1Zkx2bWaFo+cZNKA+ZpYe6uYJncyuQhFlq3Ltmri2p5hDbosvEbqSiXEySmUUBkYSEf7Qk5deisG0dcA/8brEUFE4u3g8hsypqEIBXKNyhG4azVBW2wOcNXuNvTru+gfnW5TcIiMtG+DUe4z69yaxra4Wr3DkB7C/0HpjVBFO5e6+oD0Cyzewbs7N4Bq75z3UEzUrd3leauvo58IIj393uz3O0Ijd9Q7n/QIrx2+TqVrVdUaTijL0CSm8Bs3a8ub/5NR+jrq1kbrihrWEOjV70HF66qccNs3MnFpkcbdK9KGbns6HsgnUCsr5+zQxFSeAea966p0o05fUH1a2hNabHqHy0frs3v7xHau/6wCgoNyVyFs9Hif1wWwnR8s6O/mBvTgjYiNLKTVbMvHZPbrPENzWpofR7dHaXG8wvnXG1uNw/kLpKd2jxSj9slI+3mcY6T8kmwiQtjUmne7AKt3u3L97vjwTRrn086qetNkbvUuOt+yCfVWpWhqi1Ls9004j56jeb9vpq16E8ag6jzhMwDiI+/zOGh8dKZNniJ+/2ApvK5kzEUkS+rGm/wPodkClZ9Du9LcAZWcrnkstYXLyHDDad+bjXWw+xu0141aMwnc92pgTyb/O1C1pJ2tZf7gckJNGVrtS/H7RxMB7cep9k8h6DcEKtxx66sRSvlp5z8PmTh7wCcn+RvgBlDlro17jC2gly+yvMd+jLmrYk812GcsZt7ncZIu/nVpNruW3bjJ4hs9Em8A9EnYmn6z0v4G8V57nUn7sdJnmIR1PT+mpSNNytAixdz1pljLqsL/rQH+mKrPnWZRD+ivpMu8rfDXNasP7DFRayG58qsrE7k5u8OkPXzfl/l3nBg971j9w1Rlb+f0vM8jzG4RI1CdJDzmsT9EZuf8pfMSW14E0x23hzT6522qo/O429KPfb6+i57Q2tXj5DMGajn6y153N+iNlqhHPiOvR1WQbzLKdd3FgF7RvDOli1e7pcvpN7dYam57PEaQm4IAoKAICAICAKCgCAgCAgCgoAgIAikOgSghVWxUQka+fY0mj1sBTXmBT4tdzFRuYHN7g17bTITdKup/ZMN3f7dZvy8lE0ArqEti/fQiP9NYYLOpY0ZywuYBUrnVknAfGvhCnl543E6CmbCBALNJWhUjvpgNo16f7Y6xz0tWXNkpupMcv7DC7g/PTuWju+NM4mpw2DhukCZXG4CT9+3Oq6bvZ2Gvz6ZskSEusuvw2IhtXbHirwou4x+e2OKMqmJBTKIVR3xrHD5vFyXovTnwBk09NVJyq9bmbpF8EhJKJuvrdO5Ei0dt5G+fXwUbVuyT5FJu9nk6rBXWXuRSWEc8acJTETMmDmYxn85n3548h9aPGY9tWWSDGQABAvbYdkz0TCuy8gB0wjkAtoPUrdTRUUU/MbPQBY3ZCIUGkSJFU1gIh20q9buA5ORkXF65PMu1I//ur3SXF0nNj+7+CAfYC51+k9LacgL4xWpgr6gxarvZGcyApqG80eupqEvTaQAJoNbsC9SLXa42r0DWGQ/xYvSQ1+ZpP6QHhbHIXbPnN4Bq76jEvbzn7Ed0W9ANGhiIzxXmOpHj37VlR775m4qWaOgn7n4Fg3v3IkDZ5RGXv1ulWnKd4sUcZqPF8MhVphjkR2adKPen6WIa/S/CV9GKpIM8Vo8VIsJ9QAa+vJE1dZoc7S9Fqv+AROuFRvH+WqEtjFI0MSKHebGtEHKGwk+47OkPL9+/YbSJhz89BhFRDXsWc2dvNU8gA0KGPdBWv3w1Bi6yCQa/FjyoOSOa3UCgjkztzXGcbQZrvVYBtIBYzJMy0Ib3CjYENDonmr017szVVtiw4HuG8ZwCZ0HjHG9z41thfxzFc5OJ7mPQvCubFm8l+57uw3BDDi0mY/yphQncernVmM9NNmy8NiNTTUQkPbQnvaFwASZCPPfY3nzyc/Pj1dEI+5B7MYdu7JiTKvM5PfOlQfph/6jFRGMd0tLMG9+Ks/fEOejLtB3j4+mBX+toUu3NuXYzb12Y6TT/KrzNjtajZ8YL0DiwbIAxuzje6PUhiGdhlV76Of+HLFppuuLzXhDxDp+f/6h1TO2qvZBWv62R3oe4/KWyKE2eyDNyD9WU8dnGimiHWNkF85v7/ojytIDNmfgGvchdt87dt8Q2HRVp2MFNU4N5m8TbO4pUa2ASvMomyXHN+D1a9dpBGsr41wTqr6+yyohwz+n5/X2CAAAQABJREFUemATDN7RwhXy0S8vTFDfYRfPu8hoQzJy+h9AIFWRmNEnDzLzn/o0GlFmlF1EEBAEBAFBQBAQBAQBQUAQEAQEAUFAELhTCGBReSFrOl5lzRJoIsG0IQgqHLHj/8iOk+p46uBZRf6EMREIgf9ELERDewtkCLRXICc5nFrk5nPs2i9SMZ9a8NJ+kso3LMbak+vpQvQl5XsP57hnlFVTtygSAXnsWu35u7kWk1aF2K/ahK8W+Kz9Bw0nOy22tTO3KY0bEBfQNtTEoFUdUdYKTHpsmLeLFwfTK4J256oDVIQJW6PsXLHfpT3E6kTblu1zPeJzrXGFoz7X8bYy2YnFYJAHh3ecUO2ChUdonoFomTVsucL7MmusTfxmgVujA8QwNNLQZtCKPLTtOBO9LjJZp52YI4gGaNVoE4xwdbFu9g5esJyqSAosvIN4SG4BCQwSAeZtoW1a2uBXEHmb9R0s4oMkgg9I9NP5vOgL7cP0AelscXV6B0Cww08rNJFAEEHjRWv12D3z5R0w7TtJAK7WjtMavEgSZDeITRDgo3lzQfMHayviJAmys0ziGGsCxp69qEhg+OBEf0afd8Ic4xDeZcTFQjnIEsRDW5atW5TJy1VKAxptjTbXBI4uiFn/2MUavdDQguYaBGMWFv+TSsww12lDWwp9MtlNMPK4s3bmdoUNXALB5yO0trVYzQMgCmJ4PIIGPsZ71W+c+UuVLEzHrpmxTcU7z2MriECjoB2h5egtuA/feiAp4U8RhCHazSj+zAPG+HbnSHvfhqOKvNThUCaQmXlZW10Rnj5iYNXPka7VWI9n0MzFJhkIxhdo+vsiNZjABImIOQTYLhm3QVlFQFyncceurNGsmbpz5QE1tyDNvMVzeJDPmN9VW7PWPjTw9MYcu7nXboz0ZX61w8Ns/CzJGoQwA4u5A/PkDq5PYX7Xtdi1hw6T0GMVNtW+eeEel69bfgdBLs4culwlk5j2gPUHtAPwRZon9p1RG8by8DiOdofvcByxCQ1H3Ndi9b3j9A2BMRFti3dhPx/1BhGMC/gGvMnHC7e+B/V3jS/vsi6X8ehLPRB+IW+kw/iJ8cVMU9uYppynTQRc2yNTSd2uXo6l4/s2UniuQjwIhTualr3T1QJ5CQ1MEJgou4ggIAgIAoKAICAICAKCgCAgCAgCgoAgcKcQwMKT1jpSC0+80BbIO/2hnYXd9tCw0wLTsMEhLk0z3IN5MW8zoiA1ofEAYgQkQ/5SOWnnqsxsWi5GJQN/e8YFe5zjnlG0qTXjPZyDlENY+GLDwlxSiSZYkR7IXJjV1WJWRzwDPrU6lGezh3GmO2Ey1ihW9TCG8T6H5ipMxkLTCYuDeYu5NC6g7RLLxC/K5xZuKwhIHGifdGCNKaMkld8umFu966lGisCAiUAI8AcZqGUlkwwPDGqnL5PtqPNHBmg3aLoYxQxz9Blo22kBYQYcs+YMU9hZ4er0DoBQhTndOqwF25w1O0GqQrMMYvcsMe+AroO/R2g+QqPLSChdZXOdKDswwd8hNkEJUg/mepNLtObbTS9/qk6YY7yCwMKxcexBW6LsaFstGFugVWkUs/4BU6c7Vx1UhDg2DoCAAUmaVGKGuU4bWq8wQ3w7BCazKzUpqYhMaMcDay1W8wBMiF7kcV8LTGRfvmV+U9+zOmbhd1ObKEaY81GxPKdktArucR+a+jAL+tCHHXgeOa7GGmx8gSTXPIC0QRiWqVOYLRNMx6WSEtULsqntHEq7EZq+3V9toawXbGKi0Ums+jniWY31mvDtNaANLRi1lopVLcCkpmtcccoPJj2hHe6WW3MErp3GHbuy6vkb6WBewjcDNtfo9j17zDUv4LmvYjdG+jK/2uVj9p5nZTOrMO8OU9FaQPZqsWsPHSahR2jQ7l7juRFL2UjmhBLTHtj4gfFOy7lTMcpKA8hZbPIxCq5zFAxXJu1x3+x7x5dviHP8/mqBOeXQrJ4a1LBwAAsT3mL3LnuH1dcor1M9rl655pN2sk5TjmkTgVRFYqIJQAaePBjnQyNtNovUShAQBAQBQUAQEAQEAUFAEBAEBAFBQBC4PQhgcRKE0cgBcYu53jn/y1oAWPzyljPHzrHWR3G1ax8kU+FyeVhj0LWwhkVD3NOLjDg3LiQiLSySmgni/M0mBnu80ZIadKti6ivTLJ7TPfPcXLGs6giziuvn7nD7fTLLQxMuZs/M7sG3InzP/TlohptYvpdNGMJyI4g2kMowswbSxSggc+A3DuZ5tUas8Xmizjnvto/WY02s00qrwyotRSqjoMksgcFxS1ZYsAUuRjHrOy6yM84PHkzcqbisWRXAGq5WuPryDsC/Jv6gsdb5+SaKqNGEqdUzX96BhPYdIwZW5/CHCO27fz6a4xEEmwKM5BK0Z+6U2GEO7S8riTlzQbUp2laXH1rjxgV7xDXrH7gPQqppL/ZVy30qKU27WmGOPCElmSCbxWa8k1tAlpasXkiZDQc+GEee+fkex2xBHMIMrxZlGtywyUPfNzuCaMFmFvixhQBbXwXactgkAX/I8GWLDRowSQtJrnkA2sjYjDDm4zm8zhxHEBVj363K1x6Ic8Zu88LdTI7nUX3G1/p4h7Mb6xEWuEcdPkdF2Gw5NrJMG7zYOwnTa4yH8CVoRsL7Mu6YJso3gwzjLsLA5Lpx7LV6r6zS0/etxkhf5ledhtnRbPzE2IJ3e+Hfa+NFcWqPeBF8vKHeH8NmAWO0xLSHcR5EmmgP5AXN9PJsct4oWfj63Kk4stbse8enb4hbvrGNaRvPgTm+B703mNm9y8b4xnOU17EeFt+JxnTkPO0jEP8XSNqvs9RQEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEbiFw+kg0m5QMofy3/NThNjQHjHKeiYPseV0+57CIpn2bnTxwVvk/O7z9hDLfVqlZSbd2CMziwSwpTNbiD+e+msq7yIviWICf/O1C1igqQcVv+WQylimpz63quHfDYaraqowyY4k8sQgKDdTECMg0aOFozdg8xSLc+EM7DObSQN5qKc4aOtCShMDMGzSttETkz8rkZ+JJxWb311Rm4iLZRKFRUN+WD9d25w//Xgkx54aywfxn0C1fqca07c7L1CmifKwiDMzfYRHcSRCmfIPiaqEXYatxux3ivgnC1w5Xp3cAfkehbQaB/zyEh5k/iN2zxLwDKnE//sGsKkwbjvt8vpvk08lA47JqyzIKV5AV0F4080Wrw3sfob2WFP5Xka4T5t5562uYfkab6ncAhBna3Jf+gTTg6xXmZKu0LE07VhzQySbqaIc5EgZmeOd98a/oXZCEYg7NNryfmuCtxvUEIekk8F0KE78wewspVbMwExUBPo0t+zYdo6otWFOdswG5gbjp1MBvnytw0eMcyov+qd8rxEyOeQAac9A2n/TNQqXpbywhSFiYGNYC38Dop4kRu7FepwuytFW/usqigTbPqZ9ZHUHS1ec5QuOFOURrqydm3ClYLrea45Av5h2QpCDNEiN2Y2RyzK/7Nx2lsjx/6Hkac6c2He9Le/hTV7QH3gEQyxD4N81fOpc6T0x7hPBYBVPmEJQdmvMY/2BGG++r/m6DL1lc476TJPYbAt8t2sRsxC1fxE7vslWZElMPqzTlftpEIG5bW9qsn9RKEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEbBDAzvypPyym1v3q8GIlm5ENDVJEzaxfXf6cEBV+w+p0rMgm/+5S2oIzhixT5uVA6GCRHaYdYdK0yX3V6fRh16LvikmbqWWf2tTn444q98PscxP3EiLwTTbtxyVKO+f3t6bGW3T2Tqtu54quxXfWPur1TlulSbN6+jbvYKbXVnXcGLmbTbRlo4c+6kjn2F9YGGs7zBiyVGlCmCbkw00QKVgI7PJ8UyYYYNr2upvQRPTpPy2l9k/Up0e/6so+Sa+reoOYAM7zR66mdvwMGldX2T8VCIpJXy9IVHmwAF69dVnW4oihfp92VjWAGTlgDk0ZEEcPftBB5Z+e8xv/xXwfaukKAtN+7fs3UNpW8KXmq2DxvPd77VVwmNMb/2WkY1RXH9tEMM8IUuRy7FWa9O0Cdzw7XO3eAWj23PNWa9VGQWxmOYr9qWoTvnbPkuIdcBfex5N2j9dX/UKb/IUPydGskQmCBov7RSrmpYf5PYasnLzFVJPLKqtWfeoQyK4JPrSFVRr6vi/jjg7rfZzy/SLq+HRj5e8UGpkrJm1iv7InvYNZXu9efYhK1y6coLpbJsYP7DBHPJBBMLntjxZbQjHfzGaOOz3bRBF1IFKMJr3t6gBfdxjXur3cjHG5pLQg4TdYk2R2ceF7Lx9rUD721d3KD+FBNlOstTpRhh6vtVQmKUEmFWaNwz8GTldjCtLMx74n+37WmWJ5rM8UHkKzTbRVEzoP2JW16f01VFk6Pt3IFYyJ12UTNip/kuvY13AHJon6cXmgZQbTqvAHnBhxGuuRNswMo812LD/gc1bwHQozr4980UX1Y2A7lbU4Ma8kZtyBL9ouLzRVfRWblSaxP2ZfxG7utRsjk2N+RZ9fOn4j9RrYVrUhcIKfWGj2OrUHCFdo5GbLE0Z49zD3jOP5Tm84ssIC8/OSsRvovgFtVXuAQI38y6UJmpj2gJZz5WallClzEIUL2Dek1r6d8FWk2mAExUnsY8I1tCGdJLHfEJjHu77YVPmFPrY3imby9yDEl3fZu2wor7/18E5LrtM2AukCAwPNtIvj1ToiwrUTJ94DuSEICAKCgCAgCAgCgoAgIAgIAoKAIJBmEAgO9t0M3LFjxxJVb/mdmSj4kiUyFpzh68hoYs+YEfxkej+Dpp32sQVCzXuhXmsQepseM8Yz5mF2rkxHXmfTlz6tYJil4Ps9szoiNuqBRV1opej64r6qBwrmR9lAEOAPi7xmAo0x5GX0iaXDQbMR2nRWcXW4pDqi/vAhCjN2CRWQmHt4od5X853QlNq38Yha1M8AU7Jefgt96TvAxsrkrh2uVu8A8oRWKvzFgoAzit0zhLN9B/zsO8b8E3oObODj0/uddEoHfhZzF81uSjQ5xbV7boW5XRw8s2pjp/5Ro21ZNc6BtErp4i/m/mKKMRwEjD/jCrT0Ye7a+/1wwhhjbiCbe3bK83bNA5q4hV/QpBK7sR7aqw+8256Gvzkl3vzplD/MBYfwxiP4v/UWq3HHO5y+hgZ3XiaVQWaHsdYfyGPjXAflWmjYetzTkR2OvoyRZvOrXbLqPbcbP7m8mcND1ZzlbZrdrj3s8nR6pusZG30x3jdBQtsD2o7d2Vf5T8+NU4T1JfZRqzWsjeVAXfzpq4n5hkC/444Q71339V02ll+fW9XD7LtSx5Fj6kPA+DuzaIlyphXYt3urum/8nSmamKZQyU1BQBAQBAQBQUAQEAQEAUFAEBAEBAFB4L+HABbJ7MSbwERY44KmN4GJ51ZEiTEewtmJ2cKdXfjEPDOrI9JDPbzJNNxPSD0Q3ihYeLRbfLTTqoDmFP5ul6D+/hCYMHGHxUl/THeChDQjIn3B3CyexsoOV6t3AHmatT/StHuG50nxDiCdpBI7bKzyAIFUsmZBJjhcWjdW4fy5b4W5U1pW9TDrHyA8WzxUS2kmFmf/lNrvolMed/J5YjD3F1OM4U5kohUmMNnsj2DMtRp3jendrnnAbkw2lich52ZjPTTsMjABCROhy1mb2Gz+dMoD5NyFc+a+ba3GHac0UQ6YO48naq+OH7t1OCFfxkir8TVeOW7dMHvPPcJyUa3SNGsPj7h+XtjV09/2QFFAKFuJv/01Md8Q3qSwLpuv77IObzxa1cOf98KYrpynDQQC0qdP/44vVQkNjXOM7kt4CSMICAKCgCAgCAgCgoAgIAgIAoKAIJD6EAgI4N3VPkpsbKyPIc2Dye9Mc1zkriCQlhC4yQvi0MKESVpfBaYlo9gssR3Z6GtaEi5pELjJJO6R7SctSYGkySX5UgGBAI1m1GMZm5qEmeaULqkd85SO750uH0yUws/hzpUH2NRz4ixbJEVdLrNpT5iDtyL+kiIPScN3BGAVI+rwOTaJe973SBJSEEjhCBh/Z2bLntO0tNFnTqn7xt+ZYk7WFCq5KQgIAoKAICAICAKCgCAgCAgCgsB/EwGjmR8nBIxmfpzCmj0Xc7JmqMg9QUAQEAQEAUFAEBAEBAFBQBAQBNIWAsbfmQkxJ8vu40UEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEEg5CAiJmXLaQkoiCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCjICQmNINBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBIEUhICRmimoOKYwgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIiSl9QBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBFIUAkJipqjmkMIIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoJAoK8QBAcH+xpUwgkCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAg4DcCoonpN3QSURAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBJIDASExkwNVSVMQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAT8RkBITL+hk4iCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCCQHAgIiZkcqEqagoAgIAgIAoKAICAICAKCgCAgCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCgoAg4DcCQmL6DZ1EFAQEAUFAEBAEBAFBQBAQBAQBQUAQEATSDgLpA9JRqZqFKF26dHe0UoFBAdTkvurqr2rL0qZlSe6yFq9WgPKXzmWat9wUBFIrAiWqFXS/W9nyZLnj1Wh0TzUK4Pf9vyo125Wj8FyZ/a5+aJYQKlw+r9/xkzpiWEQmqte1MjXtVYPyl8yZ1MknaXp3ep5L0sr8xxOza8v0AUJ9JEf3sMM8OfJLzjQxB9W/u3JyZiFpJwECgUmQhiQhCAgCgoAgIAgIAoKAICAICAKCgCAgCAgCqRyBTFkzUrMHatKRnafowrlLPtcmc7ZQyls8gnatPuRzHLuAN27cpF1rDlHuItmpbN2itG72jnjB/S1rvIQsbhQqm4dOHY6mIztOWoT4790uWjk/nTl6js6dik32yucrkZNa96tD6FtXL1+nq5eu0sh3ptM1PhfxH4Gow2fp0oUr1KJ3Ldq38SidPX7e/8QSENOq79RoW44W/r02ASklf1CrsiZHzhUaFaeDW4/7nXQB3mhRs315OrDlWILSyFU4OwUFB9CRXacSFM8uMEiNnq+3pGUTN1L08RiqdVcFmvh1JN288a9dtGR5hrKUqVOE6jExsXHeTlo1bas7n7DsodTy4TqULU8Y3bh+k9bO2k4b5+9Sz4NCAumpwT3p4vnL7vCLRq+jrUv2uq/l5PYigLmgQfcqdP3qDRr3+TyPzCs1LUnYCHCTvxliz16iqYMXu9sukPt3qz51KEeBcAoKCeJxZk2SfaN4FCINXviDOTZj3D+ovRuNgKD0dHzvaRr1/iz3vZR6EhCYnio0KkFLxm5IqUWUcjECQmJKNxAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAGKOXORfnxmbIKRwEJ6qVqFkmyB8N+b/yryMH16XoiuXcS0PP6W1TQxi5t3Vh/VolB38HbT+2vQxK8ib0sJju4+RcNem0zt+zeg3Uxo71hx4Lbkm9YziT4ZS/i7wqTw7ZTb2XcSW6/UVNadqw4S/hIqlZuVpKhDvEkjCUlMkEWXmSDfsshF+I3/cj7R7ecvFRT5WAs0Y5YMdGLf6XjQQPt3Y+QuNa4EBQfSA++3V0Ry9IkYCsmUgU4eOEN/8IYJkTuPgNI0rphXtQ+INaOgv5WsUYhGDphOVy5epYqNSygt82k/LlHBmvNGjaPcv3GNdER8Q8BfzDGvfPf4KHcm7R6vr/B330jpJ/LBl9JbSEjMFN9CUkBBQBAQBAQBQUAQEAQEAUFAEBAEBAFBIJEIgGgsz1o/M4csc6fU/MFatG3pPrXQVL1NWarSwmW6dfgbk5XWgw4YkjmD0rBZNW0LNb63OoFknDtipSItOzzVkMrWKaqC9v0sO0WfOE9jP3VpS9Rns4LQZty50kVAlW9QjDKxZt3KyZspOGMQgSwowqYQYcpr27J9FPnHGvr3X+dVb8uy8iJU308762Kr4/Wr12n4G1PUOfKBmdqCZXITdt4vm7DJrWGTMSwDtX20PuUpFsF1iGGiJ8YjHbuLTFlDCFjmL5WLtUEuqnRBvEGKVspHdbtUIphZ3LfhCOO2im5cu0HQIClULo/K7xBrYgVmCKQCHH8Ka5Jc4DRa9anLmnJHqDZrM12MvUJzf1vp1rZCPZr3rknQGIs5fYGWjd+otOqQX1Vuw/Rct1yFslEJXuA9yBpak75dqNoMzys3K0VVmpeiIM5vz7rDFPmnC3PUu2rLMmoBv07HCqyJe5nGfDJX1QdmIds8Vp+ys/nRXu+0Vc/mcftDkw9SsGxuLk8tAumcjk33rZq6xa3ZpAIk8T+nOtplB20RaBvnLhqhCI55v69SpB7iPPxxR9WvWzxUmzJw/5zOi9/7N7s03Oz6jl1+eGaFOfpL7bvK0/gvIlW/h1Ze1hyZack41gbhvlyrXXnVTzKEBtHR3VE069dlCvvE9B1/y+oUz+q5U99BPPSflqwxBcxn/LzU3a/8xdypf1i2h00/b/lwbVozc7vSRM6aM7PSRs5ZMBtVYjJw7vCVyiSsVb+yGz+NuEFDEGPQTG5nX7SdOzzZUPXjqENnWeNxgTspu3cZZrgf/riTepcRoRqP+5gDlqLPsUDzuVXfOtwPM9H1azdVnzux/4x6ZlePhj2qUjke3zPyXNH3s84e84DTWG83fuIdwZiNdyD6RCxN/3kJXYq5ospj9+/IzpNsUeAkZQ4PjRds2uAl7nnmGs8P53isj8iXVY37IZmCFSGWjscyCOa65BSMR3ZjvR3mdvMAyox+0PT+mpQtd5girOcMX0Fnjrk0r+1wrdaqDM8FpRX/fO3yNZr3+2qFJdK0G+vtxla7eiBdK4FGLOY3zKPeJGYUf1uM+2yeuy1P8Xugv2HQzzHPz/zF9b1j1Ky1yiux9+8f1E6ND0Uq5uNvgI1q3Md3xIQvI1XSVuNO63511dyJ+Xw1awwXrZKf+21GRaRfvnDVdmwBLnABcPXKdarQsLjaiIaxAPn2GtCGNVfnuzVT8e0GyxK719pbzPAXcyN+waz5ivrM/m2F8XaSn9uNLU7zQLn6RVnDtyrBfYFRUzvJCykJJhkCYhg6yaCUhAQBQUAQEAQEAUFAEBAEBAFBQBAQBASBlIkASJBivKgEsk4Jr9EWr1qAsPAHWTd7Ow1/fTJliQiN5xMT5BTMDxaukI9+eWEC/TlwBi+MuRaSQTosYDNtWxbvoRH/m0KTvl6o0sO/TLwQh8VnLRl4gTj0Vv5YODrKZmt/fmE8DXlxPOXIH86L4EV1UNujZVl5vRmmy/QfyMg9aw+706rbqaIiEH/jev793kzCwjsICQgIiH2bjtIPT/5DyydtorL1uCyudWx3fLMTmC3s9moLOrz9JP307Fia+sNiRRLCD1d2Xhhvy+Tf/JGraehLEymA77VgshOCRV1ggLJUbFKSdiw/oBbS4LMwfWAA5S2RQxEKPzz1D5O7q6njM41YSyhYxW3xUC0mYQNo6MsTVdrIA3mpdBlfkJDbl++nwVwXkBIl2L8nBL7zsHCH9hv66iRlZq9M3SLqGcpSskZBRW4OfnosHWDyrlaH8urZ0T1Rqm2vX7tOI96cos6N5iuxELhk7HqVJrDPyQRqckqITR3t8sWif5cXm9He9Ue4rcYxiXtEXeM+JHveLFSRTcqNfHsazR62ghozeaLFru/oMGZHO8xBssCcZdVWpZWmUD0mu9fPjTOdfP36DRrOeA9+egydZCKpYc9qKovE9B2zMup7dmXVYRJ6dOo7SK88L76PfGsaEw7LlS9FnYe/mNv1D7s62pUVZEKeotlV0e5jciBDaLDS9IMZS6d+ZTd+6rqCwOz2SnNaMWWzTwQm4k3/aQnNGLKUsjDhaBS7dxmmXTFO7+UNFYiL8xW8qUTLXbwpZQObX4UWdOSfq6k9E6Xa951dPRb/s16NfcegQf3qREWe6DTtxnq78ROEKLS5pny/iIa+MolNU0ZRIx6zEyvGjTIoG+Y2aF9CMMbmKZaDHvmiCz3+zd1qo40v84C/ZXIa6+0wt5sHsGmmK491i/9ZR5hDVs/Yqsyuopx2uAIPaKr+9e5MNb9g0w20WrVYjfVJ8Q7oPBJyNLZlgdK53Zq3WXgzSGz0Jer8fBN66see1OnZxgRiLTkFmxpAhm1euEeZJsXYjTJB29du3MG7f4L7HzRG63erTFO+W0QgaIG7E64g8crznHU+6gJrQY6mBX+toUu86QnkOzYfwKSylmKV89FpNgefWLHC3JhuqdqF6dC248lu/t1ubLGbB/C9VKdjRR7/pqrvzyKs7evD556xinJ+BxAQEvMOgC5ZCgKCgCAgCAgCgoAgIAgIAoKAICAICAK3EwEstu9ceZDKsI9JCLT+YGpP+xjE4vZ11hC0E/iUgubKedb+AwEDgZ8qLJhh9z7SwnO32KwKIfymBbtVXNbfU34vC7IfSl/ErqzQhMRfMdZmgLah0mq7lSg03dbP2aEWqkEeYZGtAGtrYPWqKGtPbLhFIIHk0tpHTuUpXD6PwgB+1VAuaLqM+XSu8tEFDQmQiceYBAQu85mMBDkKLREISBPgB4IEpCFMMUJDFKLLjjRVefadYRI5r4oLP6HzR66ia6x9gbSRB/LSAnIOWpJoz/181ARnhcbFmaDYxQuj6XlBN5DNUB6gIpymFmg4LZ+4SZUd2hrQToKgfdG2N/l44VY7o1xajnMZKrN2JxZxgT0005JbrOpol28e9rGK92D93J3qCLIG17gPAaGykP3fXb10jTE/TOGswaRXNi37jl2G/MwJ8zmsYVuLfRqCrFk5davStFRJMrxrWfMPbRwQEKD89kGzSIs/fUfHtTo6ldUqnt19p76DuPBDdpU1vqCpDEJOa8H5iznStOofdnW0KytIrpyFsqs+AQITWtRhvEHgHJtQdOpXKA/EbPzE/cxMYnTnjRDQisY44KtgDLvJf2Zi9S4jLN5l45gNzXAI+jtIPGhr4Xjq4Fm18SKMN7YYxaweIDaQ5r9cHIwNONdiN9bbjZ8wFQo8YCoU5dnBGv2FeZxOSoHfzn0bjioNNqR7gYmvlaxJPoQ312DDTl4mNMthQ0syitVYb8zSG3PMIXbzALTtQaYd2nZCmfTFHDJz6HKVpB2umDPg9xgWAOB3GuZYoVmvxWqsT+w7oNP39wgTqLDQoDXqsDkpH28E2hS5m757YpRq1zqdK/qbvE/xgB3emRieA+HnFu8A5nRYRrAbd5D4Md5khrnzFJt4hj9yfBPgW8AXXKG1vWbGNqWRinn/MpOYELQ/tKMh2MyEjVVJ6QPZG3OV0a1/pfjd3bHioPFWspzbjS3I0GoeKFG9IG1hP7fACuMh8BNJ+QiIT8yU30ZSQkFAEBAEBAFBQBAQBAQBQUAQEAQEAUEg0QhsXrSHYBZxHRNuFXj3Pq59latXrsURLF6RsEiHBXVvseEwKTA4QGldgUS8wgt2MO95aPtx7yT8uoZmDbTa4CtLL6ZjQTCUF2VhgtEoWCQPDQuh6yAEDMQcNBtArjpJNib6oDXhIbfW7+GzSy0i33qIhUkQZFlzMjnGosvGq49044YngYyFTITVcu5UDIVlz6Ti4j7S0nL6yDll5k9fn4uK1afs+/Aa19vlDyw8V5jSrqzGmn9ajD7xzhviIQ+jFi3CQ5P0BpuY9BaQL9Am7PRcY7VYvODvtcnuC8uqjt5lM17nKBgeTxMFmim4DxxA0sI8L0T1BW7HQNZ4BUFj1XeM6ZudO2GOdsZCe7XWZVh7bZ5HErhXibV0QWSC2ENaWvzpOzqu1dGprFbxfLlv1XcQV2MOnDGOYGwAOecv5kjTqn/4Ukezsp48cFaZ9oV5XIyfMOMI0gGbCJz6FcpjN362eLC2qvMNJtSTShzfZYzZt8hLnSewAdkBjVAtl2Iue2iw2dVDx/E+2o31duNnVja1WoRxzlU4TrMb43JSCdqwTJ3CrHkd5/8Sm1Bg7hyCjSfrZu9QG2K2LtmXVNnGS8dqrNcBzTDHHGI3D2Rj09+713iRSLfmJSdcR30wW82fD33YgU2YH1ebb0DuQqzG+sS+A7qu/hxBzt31VCO1AUeTdMAG1hFgMh2ymkmqTs805o0Ea/3Jwqc4HmMya9EbxWnc0dqN3psSfMH1LPdZM8HYBIIcfQGbLvzxnWuWLu6ZYa7DBvEGKZgdnvLDIn0r2Y52YwsytZoHsrCmMqwbaFHjCm9iEknZCAiJmbLbR0onCAgCgoAgIAgIAoKAICAICAKCgCAgCCQJAtC8xKIWfGXlK5VT+V7zNWH3Ap1JhH+Z/NMahMbH8NNkNOEWkumWKVsO1IhNY4KIG/baJKUpAnNrtdg/YGIFWlIdn25Es1jrBCSDFpAj8O816v3ZntqiHAAEEUzsoQ6ajIXmjy8C/5XhbIbVTKAhYdRigukzpBt7Jq5cZvFwL5BN0BkFJkSxkBxz5oJKA2lpzVnk4eFDj8kgM7nIfi5hrlT7svQOYxHNHQwkHzCC9qJRsAALrUFoo0ID4+6Xm9OPT42Jh7MxTqLPnQprksG5UxeoPBPBRsnC17hvJ3Z9xy4enjlhjv5avmExpcELX3Srp7s0QmDat2T1Qsq0LdoZZgWf+fkep+zUc6u+4xTZqaxO8e2eW/UdqziJwVyladE/fKmjWVlhmhpERJ7iOZSPPmhOnmStqy2L92IPgmO/shs/4asQGowd+jdU5g2N45YVPk73Larvjnbz5k1lttp9g0+g1QQSCJs/rMSuHlZx7MZ6u/ET5YGWeXIQT7lZ+xp+jMd8PEdpAVuVXRHLycxtOL2vZpg7zQOYK7IaNj0Y6+eEKzRfYTVgEWulw58zNv7ATDjEaqz3ZWw1q4exXH6dc9u0fbQeW044rcwg6zQwH2bOllFfevj4dt+8jSe+jDtmxUksrpvZ2gU0ifMUj+D2XG+WRcLvWWCuE4JVCxCoIJKTW+zGFpW3xUCIjQNZcsZ9C8DVgUjKR8BlpyTll9NdwqAMmdhPQUl+AWtQ3pK1UvQfyoiyoswigoAgIAgIAoKAICAICAKCgCAgCAgCgsCdRmALa192fq4JbVu6L04TMJGFOs/EWva8LtOjINtgZgwCs3T52WwtBObv4INTCwiBg6zlQUwAgESEJl9SSJtH6tKuNYeUCVbv9EDeQbtNS0T+rMqEKBZXYVq2SgtXGWDSUpXbh8VraKpA41LXTdXzlg9KmMcs36C48n+JPEFSHdp+widyL4TJLZjEhUA7CuVBXJifxVHXA6Qo8kBeTrJ3w2HGuYxqC4SFz1KQt74KNOa0aVptahZtB+1e+P1CW8Js4U3WQkl3y2Qu0oaZVpjRBYF+JwULqzCZCW06CHyO4Rr3ncSq7zjFc8K8CfvdhJbXhK8iqUa78sovJ9LE+wGTzZqortaytNvMqlOeVn3HKZ5TWREf2mvaj6xTesbnZn3H+Nzs3F/MzdLS93ypo1lZQd5g4Tsrjw0ggaDhA7+1OCamX6Fc2NQA88Uw/wjffdBySm6JOX2RzUVnUdnAFyyUzk8fiWafySHu9wMPMbYlVuzGervxcz/7KC7LPv30GAVcVFkTWSBopkFzb9I3CymazQEbBZYBYGJWCWNSln0GH2Hfzb4K8Mpf2jXn+RrHn/fVaR4A+VuV57Nw1maFwBe2Lpcdrni3G3SrouJg7NnNc6ket+3G+sS+AypDP/41u7+m0qCPZF+QRsE7epnJWJhgh8B86FH21+qrqDmLzbZDqzApxJdxxyyfxOK6lU2mVmhSQllx0H5fzfJJyD0rzHUawBrfAQkV9NFStQonKJrd2GKXEMzswxez3mQHolcUMe0QSxnPkuZtvE11ARkYUaAsf7gl/4SeFFVCOTNkzkbBoVnp9OFtbALEfndfUuQpaQgCgoAgIAgIAoKAICAICAKCgCAgCAgCVgiAMMEi5cb5uzyC1GV/UaVqFlYaX73eacsL6rvdWmEeAU0u4FOsTseK9NCHd6mFoBlDlqmF/q1MlFZkc5j3/K+1igVtCb0gumraFmrQvSo/L0Ew7XWWNZ30szC+7vpCUwrOGMR+uULowfc70F4m6aAZArEqK7Q5UQeQqqVrFVJhUaA5v61Qi2rzR66mdk/UJ2i5XWU/SFiUnfT1ArrEfpHmsB/HLpxn5aYllQlW+ITU5XElZP4fWisTOI22j9Rj7dKqalEMC8h71h6mw+xbbsWkTdRrQBtFRl2OvUqTvl1gnpDXXRAmlZuVojqdKirSaAH7I9UaWlO+X8Tapo0VMQiNTOSBvJxkI5stzcF+Kx/6qCP78nOZp50xZKmqv1NcPIffqK4vNiX42zu2N4pmcjtDMxM49vmkIxMCMZSJCdflkzZ7aGGEsc+/9k80oNEfzXYR1z5kVpyJ4EY9qrImayblvxX9a9wX892mR31IIl4Q1VZMFoJ0hYIGFi1BHuK+k9j1Hbu4dphjgR3EwvA3pijTngt4IR6+Mf8YOEOZeu70bBNFtmBxFyaDfRW7vtOQMS1WOT+bGAyjVn3qqHbSuNqVVeeNOCfYP+SELyP1LZ+OZn3HKaK/mNul60sdrcoKk7LaBKs2Qw3iPjH9yljWRf+so55vtCIQ2/N+X2V8ZHre5fmmhI0Y0MTGGDl3xEqfxgEktjFylxrvytYvpjTUx/O7Bc34qT8sptb96rDWN5uRDQ0iEB+zfl1umr+vN+3GervxE31+6fiN1GtgW9YQxXgVqjS+YfI1MdL0/hrKxDY09pXwOLBswkbasmgvRR06y3NZBeVjGKQpfBzCd66vUpP925bgsevbx0epTR2+xLN7X+3i280D2AABX7P3DWir5g0QwZF/uUypOuGar0RO6vtZZ0WuZwoPodnDVqhiOI31GEv9GVvt6mj3DBYlqrcuy5r0MdTv084qKMyn//7WVHWOftuO551/WesYpO+4z+fbJefxDCZ32/dvoDRSk8Jfoi/jjkcBbl0kdmy5wNYXYK4fZHRSiBPmIH8xv6y4ZZI5IXliI1jbR+vzfDhZabn7EtdubLGLD3IY38CPftVVWbeA2WFvjWi7+PLsziCQLjAwkKdcZ8mbN87Zu3Po5AkBrUaQgqlRrsSeZfMgnj8SU2M9pMyCgCAgCAgCgoAgIAgIAoKAICAIaASOHTumT/06RkRE+BVPIt1+BEBUOZmDw672q2yy1UN4gRi+HC8yKadNtRqfY2EaWhNmz4zhkvIc2hXQHES+3gItUpB02keV93O7axCuIALM6oL84GPNF4G2Y3f2S/fTc+PUwj3KozXyjPETkqYxHhbnUU+YHExoPWHWFAygdx1xHwvlsdEXTRfvQUjfDvNyxnranYOghq/JhIpd37FLy1/MQWDCD2m898oiM1/7jkV0dduurPDRmbtodjexYZeO9zOrvuMdzvvaX8y90zFe29UR4UzLymOZklurqFiw935/rPqVL+Mn0oYmN9QivU02q3yT+B/KD59yZu+BVb/ztR5mRXUa6y3HT4Ykc3io2myhSWSz9JPyHuYytK0ZNnb5QLO760vNaOjLE+2CuZ/58r46YW43D6CNoXFvOi7b4Ir6o2+YzZFOY31i3wE3OEl0ApPdvmxU8c4OJCY2I2FTUlKJ07hjl48prtyG8N3tPQ4Z08FmB2yQiOe72xgoJZxzXR79ogv9OWime8OWr8VyGlus0sG7A6sRKenbxKqsael+cHCc+d6iJcqZVm3f7q3qvvF3ZqrSxIRGY2qV1Fz21Iq5lFsQEAQEAUFAEBAEBAFBQBAQBAQBQSBpEHAiMJGLKdHCC/4wz2glMT74h7SK6+/9a6yFiT8zMVu0NQtndg9aD1biK4HpHd8OH3/TBEGitTq983O6tiIRcN8uzZS2SJhQckLjYtd3dBizo7+Yg8D2V+z6jl2aVmWF1m/JmgUJmtb+iFXfcUrLX8zt0rWqo45jWlYvFRAz4sCqX/kyfiLvm+xf2HQXgC5YEh7tSDqrfudrPcyK6dQfLcdPhsRubDHLK7H3TOcyHxKFyfB5rNXvj1jh44S53TyANrbEzgZX1N8KA6exPrHvgD/Y2cXxh8AEGQ3ScMeKA3ZJJ/iZ07hjl6AprtyG/0Id3Etysc/Xio1K8GajG8oMdoonMLn8pdmULHwMW/ZXrzoaL63eHWMYs3O7d8csvNy7swgEpE+f/h1fihAWFuZLsGQNE5Yjzn9GsmaUDIlj90vsmYTbhE6GotzxJIODeSfhjRt3vBx3ugDp0wcQv3+mO2YCAgIIf3C2LpI8CGTIEML90LVwgT6ZlFgb2w/tHBAQmKTpJw8ikqogIAgIAoJASkYA35JmYnXfLKz3vSZNWlK58pVo167tbFKP/ZWVq0Bnz5w2/Tbxjut9ndj43unJdepBIDbW059UQkseGhqa0CgSXhBI8whA8y7q8Dk2oZg4s4lpHiipYDwEkrPv3GRC5Mj2k34tMscrqNwQBNIgAjB1e2L/GZ9rlpzvq8+FkIDxELjJfrKhhQkztKlRsAkhKEMAW4Q8T+tm7/Drt93trjc2q8CMv0jaRwBr5lqyZXf5KNfX+hh9xuXD1vg7M3WRmBEup/a6Qv4cQzJkoOs2BBpIpaCgQCY3kp48+q+TmBEROeiRR5+mps1a0fZtW+jixQsUGBhEpcuUo8KFitKVK1fo0iU2PcNSvHgpyps3H+XMmdvj7yI/v3bV5a8iV648VKZMecqYMZRiYs57kEQlSpamPHk84yN9/GnJkSOXyhs7YS5c8Fx8yciLKWU57UKFitD169fjPddpZMmSVZXVWC48A0FWvHhJKliwCOfJDqUvX9JR1LF58zZ0X6+HKSJ7Dtq2bbPHM1y0a9eZFxIrqkXFsmUreGCgMYmK8t0pdbwMvG4AK9TVO80CBQsrjDNnDqPz56MVxrrOuhz6mClTGEVHn1UpFylSnEqWLKNI2vPnPX13WLW5LlK+fAW4XcpTaCb2i3PW8+MP5QAeuXPn4fKcU22j42HxFHkWY9xxjj5hJSAWP/3se1oQOUelMeCdT2jb1k0UGxtjGsWX/mSMqNtv+/YtVLdeI9Xn169fbQzi03l4eDYqVqykR/tnyRquFph1AnZ46TBmx6ycDtr8zJkos8dyTxAQBAQBQSAFIYC54O0BHxK+XTZtXOdRsueef13Nz0eOJPxHX6VK1QjzyqZN69Rc8+xzr9GG9exzzWI+9MjY6wLfA4mJ75Vcqr00+3bSlfH1WwXfZZn4O8j4fYrv3ogcOencuWiP7+QsWcLp8pVLbGbSy3ynzvQ2HI0/Lv3JTkhMf1CTOGkdAZhqFQIzrbdy8tQvufsOfM6JCAKCgDkCCdX6S+731byUctcJAbSLmQl3p3gp5Tk0cOH7NJp9jZtpjKeUchrLIXOLEY20fe4viZmqzMkmpAlBRo74dTA9/OhTdI1/1FcoX5Ye7t2LSTL2w8Ek5tr1G2ni5GnuJAvkz0cP9OpJYZkzq+cB7CNi/MSptGpN3ELR4G8/p337DtAnX3zjjtekUX0qUbwY/TLsd/c9OTFHoHqNOnTgwF6aOOEfFSBbtgh6ov/zTHyd4b9o6tylB00YP5rWrFlBpUqXJZAsWjKFZqIyTF4NePtlRVB16dKTw5QjkETVq9emrEz2/DLkWzfpdd99D9PRo4dVW+o0Ls2fpYgvXLdpcxdVrVaTduzYRk2btqJTp07Q7yN+UUELFS5Kffo8odK+wQRml649afasaRQZOVsn5T7ee99DVLRoCRr66w+0c+c2dT9//oLUp+8TtH//Xrp44QJ17NSNFi2aR/PnzVLPQeI1b9GW3nv3DUXkuhMzOQkKCqJKlat5PMHCFvr3VibdkkIyZsxIffv1VwujL734hBszkKz58xeirVs2KiIuJCSEfhz8FYHE9C5TqVJlaf261XTo0H566KHHKITT3Lt3NzVs1JwOHz5Ao0e53g+7Nkdd2rbrRLVq1VN5FinaUi3e/fTj16pM0A65996HaM+enRQclIG63n0vDf7hSzpx4hjjEUCPPf4shYZmpoMH91KHDl1oxYolNH2ab34InHB06k9O8f19jj7esmVb7stxWtwgivfsdjmWt8PLLk/0fbxDGAsHvvOqXVB5JggIAoKAIJBCELhy9YraWARCc+/eXUleKnwLvf7as2rzlT+Je8evVKmqmtc//ugdf5JLlXGsvp1APCbkW6V+/ca86fK6+5s5f4GC1Ldvf/7W/V7h0q37fXTm9Gk6y9/Q2CRYoEBhGjfuL1q3dlWqxE0KLQgIAoKAICAICAKCgCAgCAgCgoAgIAhYIZBmSUxjhQMDA6n/o31owHsfM1kVpQigl59/mnaWKUXbtu+kwoUL0pOP9aPvf/qFSTbXLvbw8Kx8ry8TNmE0d/5Cd3LZsoVTxQrlaNNml4NR9wM5cUQAGmM7dsTh1uGuLrzYspKmT5+k4pZnc2bde9yvSExv8gnam1jMgfZmDSZDoW33xefv0dVbWpkgcxD355/iCOaRv//CGpDxfZJAq65yleoc/wO1UIcdACDesAh0+nQUdevWi2bPnkZLFkeqcs2bN5Nef+Nd2rBhjZskxYMqVWqo3fBa+xD3kNaDDz1C05g8W7N6BW7RrFlT6eVX3qZ9TOqB2MyZMxdr/11zJDARF+X/+6/hOHVLv0eeUlqD7huJPGnfoSstXbqQOnbs5k6pHGuBlihRij784G21CQAP7uvVh1oz+QtC0lgmvF8DB32qSMPSTLrlZpL1ww/eUrt95jCOAwd9RkuWRNKRw4fIrs2hYdCsWWsaNPA1pUWJxT6kC61MEKk9e/amESOG0O5dO1Q5O3XuTi1atqM/Rv5KtWrXp8y8AeHTTwapZ0uZSH7hpf/RvLkz/V6MVQkZ/ln1J0OQZDndvHmDexHTmIETXsawxnNoL1epXJ3GjvlLbRwwPpNzQUAQEAQEgZSLADTtpk+fyJt47uFvmPc9LFAYS12hYhVq1aqD+t7ARp8Z/J2FTV9OEhwcTC+9/BZ9+80natNX69YdKD1/12Rgk+vVeMMYLDL8/fcICmFrE50696RcuXKpOXnkH7/SpYsXyRi/SNHi6nsKVhXe/N/7tGL5YpozZ7pTEVL1c6dvJ3+/VXKw9iU212GzHTboaVm4cK77uxrfxm3b3iUkpgZHjoKAICAICAKCgCAgCAgCgoAgIAgIAmkGgf8EiQnzsNBci452mbWE77vPv/6e77l8C/XudQ+NGTfRTWCidRH251+H0weD3qLFS1cwEeIyQ/rX6LF0b4+7acvW7ZaLR2mmdyRhRbp0vYewuFOSCcSWTDx98vFAmjljsgcpePPfm0zsuczJemddp04DpaWJ+3XqNqTFTDBqAhP3QFa9/8FXlC1bdnearD3P1xF0jQnDWINp0casHbhwwVxFbsHsK8y9/sqalBCY+QLZCsJRC4jNw4cPKlOlK1cuVbehldimbUf67rvP6KmnXtJBlenPINYSXLsmzpE3zJoiXm2uw/nz5+nxJ56jTGwW9e0BHyniDzjUZhKueYvWbIY2o1qQgganmUA7FSQsiDsItDqhdQhSFgTqpk3radLEMW7irk7dRkwMtrilobifxo39m03GnnQnDXOiqC/KYCQxCxQoxFqVB90EJiKsW7eSunfv5Y6rTyryYumpUyeVRiTMgYHUxPsGLb+QkIxqUfPCLV9Jdm2OOKOYINVmYG/evMHm7M5Tem4TPING5rFjcRqJSF+bHz5/7ixrIPyti6TIZWZRefE1vboH7dG7u93H7VNCPZvB9fUWaND26PmAWvSFWd2JE0Yr0lmHs+pPeO7UfhhptNYkwkNTYtq0CcqULdqwR8/71fuRLl167jsrVF2MJh+wMAzTslFRUTzuuGzy2+GFPDIxqdu5cw/Vb9E3NmxYy+/QKKW9g8VsaPKICAKCgCAgCKQuBJbxpqO6dRtTPdbUW7xofrzCY0MYrBaMHjVCzWH4Znjw4cdo2NAfaadhI1m8iOpGOrbKkFN9T+AyNFNm3iRUj2bNnEI/fP85NWjYlB5++HH1bYA5F6QqCNVWrdrf2mwTFx8WAyLZAkb9Bk1oxPCf3XO7eb5p467Tt5PTt4oZCmFhWejRx56mMf/8ydZg9pgFUfe83RZYBpQHgoAgIAgIAoKAICAICAKCgCAgCAgCgkAqQ+A/QWJeunSZNmzaQgPfepWWLl/F2pc7aN/+g0wg3FSkVZHChWjHzjjSSrfhqajTdD4mlvLlzcPhD6jbe/ftp8NHjlKjBvUocuFiHVSODghMmvgPZWeCcdfuHbR82SJFQOoFF/gOgskx+DqcPGlMvJTgXzGYtQC0FgEW2E6dPOERDkTk+fNnWZsyp5vEBFkIokdrgI74P3vXASZFsXUveck5S84555wziICoqCiivmd4Zn+fOWKOz4yKKCKI5JxzzjnnDLuwhCUswf+eO1uzPUOH2dklLNzr5/Z0d3V11amq7qZOnXsH9uf7nqfcrPhLt30rPfvcK6zeyyyk25gxw2nZ0oWiHjxx4hiVKl3Wv9odxCbibmbj8htr27YzLWJVgZUcxbmcHKsK7tSsBBSOHzl8iGqxm9Tjx6Po55++ob4PP0kfvP+6EH2imGC1w9/D/hBXqVVYJdeDSa0F8+fg0gBDHutZmQe3yDC4qgUeX335oUwqdut+N3Xq3E3yQj6tW7ejX3/9kQ7yyv3GTN4+yCv5oWAFAYh6gdgb/vfgK8p7jGNRNm7SgvFL5SfNMrKr1ixZsst11vrVqdtIFBYoD5SmK1hdi5hYmGyD6m/48D95UYAvVuaRuHaza/NDhw4Q/jcGpWEOjhm6ZYtvwYAhMDFBC0K8QMHbaNDvPjI32LUuiNVdu7aLMgT1RCxWENMfMnkO18TAKNgaNW5OA3/9QcpalUnhRx59ivq996o/LphTfwql/cpVqETb2fUfVKZQpfTp85iQ4OPGjmCSuTW7Ts7O7oVf4Xi8aejpZ14SIhsKTFiFClVkbKAt0F8HDx5A65isdsMLde7b93HasX0b3/O/TGJnoAd44hlK2vHjRgZXXfcVAUVAEVAEkgkCeP+OZLehcAO/cuVSMouETPHbd+gqak0sXIHBK0Q2fse0Z48V3iSmySV+u2f3Lr87fCg669dvLB4ZTF5YpAW3/sGGWI6RUUfF88Tevb5v6OA0N9u+17eT27eKHRZYCAZX+RMnjrWNn16kaHFKxQvH4OGjWrVaNH580rjQtyuLHlMEFAFFQBFQBBQBRUARUAQUAUVAEVAErhcCPpnS9br7Nbzv9/0H0PCRYylf3jz0+L/60vvvvEZ5cudi5Vs6dpOVlmIcFIAxrIjLnDlTQEn/+nsUdenUjt1ppQs4rjvOCIA0u8QKWMQntSoocUUmXumfi8k/TNZk5N/BVrdeQyYYF/mJNsRbBGkZbFDL4hwM7lF/+P4L+vyzfvTmmy+KQrNFizZyLmu2bIT4ilAVgFT6Y9AvdN1dp0AAAEAASURBVNddvTmeUGE5P3nyeGrRoq0oRhHrEfGNoGTjAsh5KPbKlC0vak45YPmTPn3EFfXDaZQ3IiKD1AEYcGaSDrg0YmUDCNSNG9fJsaX8G65Xgw3EFBR/ixf71KAoEyYToSpFPiBsl/A5EHCwBg2bSNpoJiRBwq5g9V+OHDnY/Vu+uPNNRdm4Z88u2bf+QXxLTEAitmfFilXkvvX4XsEG5WvRYsV5InWZnEL7FSpUVFSZUTx5CeIRLmahXLWaV5tDzXl/74d5onYIY+JTQZvrs+fIKWRxmjRpRdFqjpst+hJUj3CXCivKk3x58+WnceNGCOkM13p26hW4uTvOWGGCGPXZu3eXP/anW38Kpf0OHzos7YS8MeE8buxwjv3ZQMoHMvzXAd+x6+Cz4mJ4OxOPiHsKi2JFKNSTH7z/hhCqINt73duH0jMpabVgvIoUKc7KzRw8oTlSSOjTp0+JC+C9Nm1tzUd/KwKKgCKgCNz4CCAe5uZNG6hD+64BhcVCmHz5C9DWuBjd5uTWrZs4xnUh+U4wx0LdRvLCLGN4l8ADglmQhONYpAW1oBpJbPBQvp2AVfC3ih1+8B6BRU67HBSYRTiGO77RSpQoLd95GXiRlpoioAgoAoqAIqAIKAKKgCKgCCgCioAicLMhcEsoMdFoIA+Wr1wt/2O/Z/eu1P2OLvTtDz+Li888eXKz8u4gTgVYrpw5mJA5GnAsMiqKFi9ZTh07tGH3jlEB53Qn4QhAYYn/Qa69+NKbtH59vNIQ7l6hKPz0k3f9GUcfP86KwKz+ffMDKjWj+EMsRmMgjeDetQJP9CD+5oXYCzSbiT8TLxNxOnfv3i4TQXAbu2TxfALxBxetuA+IQZQj+kS0qBC797iHxrBi1Lj1NPfB9vixY5S56pWTeZl4gg9uxOwsd+68NG1qYJyo7du3iKtYa3pMUoG4NJOTmNjCPtzaWg2uUKFcxQRZlixM2LLC1dhhnmwEoYnyIP7kZ0zy2hlidiJmaBNWY1bh2J+HmIyEgu/e+x6SsWSuQXyntWtWCgGHYyBVo6OP0Z+Df5UkIFihIqjKCgEocI25tTnq1JtjlO5gtSwIvmADAYn/Qap2ZyUp4oIZQ3tBdQl1qYkbBeUtlCRW8nwbu7kLtqNHDgUcimQXuTlZCQpz60+htF9kZGDeR7mNMmeGCjiNuNtFPFe0JwhbKGuj4lz+oh9YbemS+dSlSzcqdFsRVqhulFN2eOXJk1cUwXCdbQxuhK2uhM1x3SoCioAioAgkPwTwHfJ/L71FCxbGe21IzSSmuGDn96jVsHgKsS2x2Mn6XrCmcfrtW74VePYfXoildiUCoX472X2rXJkbEZSbcLH/78eepi+/+EgWl1nT4RvLxJrHYrE3OY44vE5YvVpY0+tvRUARUAQUAUVAEVAEFAFFQBFQBBQBRSA5InDTkphpeSIHxCUmayqWL0cVypeloX/Hu1FctXot9ezhW8G+juNbNqxfh6CwtFrZMqXofGwsHY2MtB6W32PGTWQ15+s0e+78K87pAW8EEN+vW7e7/bEocQXcsJ5nNVpBVkRu27pZMqlWrSaTUXsDyBco5IqXKCWTO+ZOOXPmojSsqIViAIrK/PkLEhSNxnDuwoVY2Y2KOiJEkTmHLcjPy9xfYKVZObhn984Akgjk3ZQp46l6jdqs7CtBPXveL2nxJ1OmLKIaBLG2nMnSvHnzs/vOjKKqM4mgjNu3f4/ZDdhiggruPq2GCa7g+KB16jagpey2Df0advLkCSnzXxxH0hB21jxOMGkKRSEmuYINsR+hnHj++VflFFyVwhCn848/Boi73sxZskid5QT/QVyrgwf2m10hdOtwrKzBcYQlThRi18DBMZuOMDlYkONuhtLmUJvedfcDQiKPZAWiMbiQRd7WWJa72XUtSEzj8haYP/zIUxLf07jRw/Vw+ZuRXbhaLQvXLdhAIoLkNQaXt1AAe/WnUNoPZLLVCnPeUGtgwvO++x+m+fNnC3mONHfeeZ8/KRTByzlGpiHnU6VKzcR1an9fdsILilIoYqHQvHjxouQHkh9ueE1cV/9N9IcioAgoAopAskMA74WZMybLtxTeBbCz7FXkBC+4Kl+uUsD7GipMKPvN++BaVjbuk+Va3vK63Qtx2L2+nZy+VZwKjZjviIfe9+En6LtvPwtYkGW9BgvzDh08wN/QhZTEtAKjvxUBRUARUAQUAUVAEVAEFAFFQBFQBJI9AjetO9nyTFpCJQk3m/sOHKCGDepS7lw5/Q1Wq2Z12rp9h+wPGzGamjdpRHVq+dxw4iBczfa5vxcNHQZ3jPFqJpPBGY5JOG7iFGrbpqU5pNsEIIBJtjx584mbUlyGCTjEVAIhZSXKQNwtXhRIFEO1WK9eIypWrITcEWq2rnfcRQvZhSwmcaC4u73rnRJPEQmgSKxevTat5TiCMCgra3NsSbhChYF0LM8kmYlVVJZJzE6d7vC5kOXzLVu1p6ioSNrHMZ3gZvXFFx6n9959xf//sWNHaDATf1OmTBAiFkpSxKYEgQQrVaosxzWsZOvCFOehZGzStJWoPbEP0qxy5er46Te42sUx40oWJ0CArVm9nK9tyepKnxvdmjXrykQXzoOAQz1zxKkJoRh85dV3xW3vCI5T+fJ/n/LX4fPPfGrG9/u9JkrPC5w3Yirm5TaC5WAXrnDHO3tOPCFail3tglDdblE1bmGXdTVr1ZPYjbgOxGWlStUkFmoobY4YnWfPxEgcTUPWIh+oCuo3aCLu8LCflklpKDF3M9kMRSyUsg8/8gTNmD5BYnIijbEdrEoAgQdFLwx9LFi9iuPNmTCEghUGF7hwQbtu3SrP/hRK+8GlLVwYwzJmyiT9F+59YSCsj3H/gmFys0zZcvIbf/IxGQ/FLMYHFJeNOW4n3PlBMQxzwgvxQJEOcU3RD3E9+nEBnshWUwQUAUVAEbg5EJgxYwq/Q7L43eGjVrNmTqU6dRvKgizs4xugTduOQnhi/1oaiNNs2bNf4VL+WpbhWt7L69vJ7VvFrZyjRv5Fx45FUu/ej/I3zJX/dMM7Ht+aWHy1d8+tEX/UDS89pwgoAoqAIqAIKAKKgCKgCCgCioAicHMhcNMpMTu2b0O1a1VnwjIX9f/lN2mt6OgT9MvAP+i5px/n2ISxPJmSjvbs3Uc/DRgk548ejaS3+31Mve+9m3p068KkBWIWkig34YLWyWbMmkOtWzZzOq3HXRAAQfXzT99Sz7vup9ZtOgp5FBNzipWZ3/jdZYFAy5evIK1atTwgJ8Q0HPDL96zY602IiwgSc9XKpTR2zAhJB+Xf6FHD6Mn/vCAEFGJgzp0zg+bPmyXn4aI0Bys3n33uVSZ6TgoBhviJIClh06dPEhL0lVffk8kixHX85edv5ZzE9mRi3GrguKFuMO5lh/w5UEhVqBpxHMTqDz98JS7BrNeZ37NmTZXy4H7AAG5Mly9bZE7LFgrQPXt2yiSW9cSwv/6gHnf2EgXlqVMnWLEXTX8N9fVrxHGE29gXXnxNXCYjZigmwhB7Mdh8cTpJYpaibaBeHD16GMcD7SOKTUyQTWJXvFvY9a6xujxJunTJQr8yFMehRs2SOSu7uHuT42bFMLbpaSZPqK5ZvUIuc2vzNtwPGjBRCYUi6msMClioSYHr/b0fkcNo0107d9Cg33+S/Yf6PsbKw2JC6oHYM/bD919ybMvdHHPyB+lr7Tt04fJyG3P8y1pMtloNhCX6DIhEEIa/DewvMTKRxq0/hdJ+IMhBonbo0FVIdezDPS9s4oTR9GCffzEBfoQXXVwMUIOOHvWXxGR97fX3ua+nEUXmzz99I+3khddP/b+WOjdr1lrGAZSrQ4YMlHvqH0VAEVAEFIHkjwAWM+H99GCff/srM4cXG2GhzwPslh3vFNgMVmzauWf3X3SVfuzfv5c2rFtDr73+Aa3mRVfwHHEzm9e3k9e3ihM2+C7DYrlHHv0Pf/PdS0OH+P59Ay8h+H7DYqXTHDph0G8/cbzSeI8STvnpcUVAEVAEFAFFQBFQBBQBRUARUAQUAUUgOSGQgv/hG1Jgm/z581/3euUvFU9sOBUGZEsmdh15OiYmgFwx6REzBv/gBxllZ1jhDLIAhE9S28GtS5I6y5siP+AN0sjEqExIpbCqHXEErao96/UZM2YSt65O59OzG1e4X7Mz9AX8H677NfTFdOnShVwvKAQx8WhHMtqVz3oM+KGshoy0nkM5oDA8f/6c9XDIv3EtME6I4Z4ZeByecRiHiWlzqE6htnUaw27lRHufZ1LZTl1troPq1akN3PpTKO3nU+emEBWtuR+2uDZdurRM/F5JMOM8roMb2XDaEO0Hgj3cfoz7qykCioAioAgkPwTwzsLCoOtt+La5ePGSf7HX9S7Ptbh/ON9O16JcV+seBw8eTFTWOXPGe8tJVEZ6sSKgCCgCioAioAgoAoqAIqAIKAKKwA2LAOYHjBUrWd78DNju3OYTUVn/nZmslJj/sOQtBRM1bgay6hSvRnYyL6IM5MbVIDBRdjV7BEC82ZFv9qkDj3qROl6Td04EJu6CvuBGdgWW5Mo99EWv/ma9CkSTE3lmTWf3204hatKhHF44mbR224QSmMgD94xxGYeJaXMnos+u7MHH3NrbpHVrA7f+FEr7ORGJuNatXrjO6VpTbqdtOO3nlJceVwQUAUVAEUg+CLi9s65lLbDw6FYzfffeai2u9VUEFAFFQBFQBBQBRUARUAQUAUVAEbhaCLgzglfrrmHmG3vmRJhXXv/LknPZrz96WgJFQBFQBBQBRUARUAQUAUVAEVAEFIGkRqBG23KUMVt6f7YpU6Wg0rUKS0x1/0GPH7Xal6dseTJ5pAr/NLy8OFmatDf2uuwCpXJT+QbFnYqf7I5nyBJBRSp4e+kK7lehVrRE9duoYJk8nsmBKbBNTpa7cHbKdVu2617kktULUdN7asj/2fNlsS3P1SxrqjSpqEG3Krb3dTpYtFIBSp8pndNpx+OZc2ak+ndUoWa9alLBZNZfHCulJxKNQChjILE3CbWf45mKPno9LdSymjKG851gri1QMrc8exp2r0pZeHyqKQJeCFztb0yv++v5GweBZEVinjp2gJKjohFlRtnVFAFFQBFQBBQBRUARUAQUAUVAEVAEFIEbBYEKjUpQaiYVjGXMmp6a31eLMLEaqlVsXILSZYh3DRXqdUiHCc07/9uK7niu+RWXVW5Wih76uAs98H5H6vF/LQPKlDV3Jrr37fbU85VW9NAnt1OhcnmvuP5GOJCHiatC5W/MsoWDz21MMDbsUdXz0uB+5XlBXILC5fKRE7FmzaNEtduYOM9sPXTD/67IY61Cw4QT2sWqFCT096SyyH3HaevyvUJGZ8llTyKEW9ZQypgqdUqq2LhkKEn9adDnCpROGGmNxQ89+dly4ugp2rJkN9XuVJFAvlxNy1MkxzUnS5O6f1xNfG6UvEMZA4kta6j9PILJ+XCeC4ktn/X6UMtqrgnnOwHX5iyYldr/qwHtWLWfDu2MkjFp8rxa22s9PlKmSkkVGhUnEMM3qqWJSE3PDryXsFjFWLXWZalxz+pm13N7LXFNzDemZ0U0QbJCIFmRmBfOx1DUvo10/vTxZEFmgrxEWVFmlF1NEVAEFAFFQBFQBBQBRUARUAQUAUVAEbiRELAKHU8dO0Pf/2c4xZywj9WelOUWVV+l/LRnw6ErsoVirVTNwjTojYk04KWxtGnRLlFvmIRQriwdv0HOT/xhPjW5K/TJN5OHbhOOwJale+iPNyeGdKG1X4V0QVyiq0szJaQkSZt25h/LaPaQFQnOtNm9NSl12qSbEI8+cpr2bz5C5886u3sPt6whVy6BjTzo9Qm0fcW+kLNHQjxDzsWcp/Vzd9D+rUdp5Ocz6fKlfxKUR0ITV2leikBkXktL6v5xLct+ve4VyhhIkrIlsJ8nyT3DzSQBZQ33OwEq/i3L9sg7fxsvpJg2cHG4pQ35ums9PtJnSsvfKjXp0oVLIZfxeiTE+7nJ3fHfTWj+SxdDL/O1xvV6YKT3vPEQuLF9r9jgBTLw2MGtNmf0kCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCDghkLdoDmr7cH3KlD09bVu5j6zzlnABWrVlGbl04Mtj6WJs/IRW5hwZREEB17NQbm5jQmHW4OVMClwOuBXStXukAU3+eSEroE4HnAveOXPyHC0cuYaKVS4gikzr+ch90TTikxn0zz8+0uHo3uP+siHdZZ5sy5zD5wY3bbrUdP7MBevltr+himzYoxqlz5xOSKHNi3dTpSYladW0zbR0wgZRALZ8oLaQH5iAnD9iDRMg2yWvVg/Woe0r97OCxEeklK5dhMmK7DRv2Crbe1kPpkmTmro81YTgEvPI7mM04fv5fmwyZc9ArR+qS1lZEXfxwmWawrgd3nXMernt73veaEsrp26mRqxQg+Jj6fj1tGziRn/abi80p00Ld1EdVp+lZ1Xtmplbae5fK+V8zXblqXIznxJuzcxtfN0GOQ6XbbHnLtDqGfHzLfe83paGvj9VJmQ7Pt6I8hbLSZHcFqO/nO2/F3649SuUD+5LC5XNS1D8LBy1ljbM3yHXoy3QX/IVz0nRh09R9JFTAfm67WTPm5nuf6+jYLed+/KUXxZJn4VqA8rF+cNXy+VwKdr24Xo07INpbtnJOahLGt9ZTVwsY6J+2q+L6eD2SNfroGqB4m/w25P94wHKKiislk/aSClSpqA+H3WRPNbO2kpLxq0PyK9+18q86P0iFeVxkI/xBeE2hvEVTB9tQDnY5WuvN9vxwoJzNOO3JbRzzQFxrdrl6aY05N3J/rygTB767hS6EHuRwqkHMnIra3VW6kCtY7Ul49bR2lnb5FDB0nmkndNlSMNteZom/jifzp46L+fKNygmYw/PDoy1UA0ug9sxBjCMjb0bD/svhaILREj1NmUpd6HsguvisevkfCNuw/LcBnBBC6V29OGTNPzjGf5rHccHPxBrt6/A46MUq8vT0IFtkXJfYA+D4rvF/bUpJbdpClZcYdxhbEHh+eCHXaStkK46P0s3LthJC0b4+iD6AvrI0gnrmTiowaKMf2g6t+XWZXup2wstaCr33ZNRPuFDy961aTMrR01dMTaa3VuL0N8j90YL8XPs4ElRfLZ16B/Fqxbksuaj2X8uR3EoR/4sBEzMuMUzF27DY7nfQXWLvo5zxw+d5HdDeM8k3Mfp2YJzjpjjpJN5tIfTZeY4FOG1O5QXTwFYLDOVx/OFcxfNacetUz0a8OKZo/xugrIXhnGekfFaEtfvwu3nyKve7ZWoJve9s/xeRDl3rzuIw67vJa/3cpXmpalqi9KUht+ReEbinW3eqeGW1e074cEPO0u/bvlAHUqXPg1N5Hfdrrh6wOMC3sEwLFDayO+ABfz+N+bUP9JyPiDMijIBinfJxoU7adYf8fWQ51KrMoQvhQv8/prx+zLav+WI6/jAPd3GgNeYdOpXwAbjOxU/G/DcgWHRz7nT58mr7zi9By7yt0hixqQUwuZPTPRZeQ7hu2TXWvYcyWPN6rrfqe/ALbfTc6fny61paL8pkhdcBZ+MjKFKTUvy99plWj9vh4QdgKcPfEccZiXujN+X8jvf953o1h7W4ifkG9N6nf6+ORBIdiTmzQG71kIRUAQUAUVAEVAEFAFFQBFQBBQBRUARuHYIgEDqwETU+G/m0pE9xwkxqcSdWJxkbuXUTbR6+hZ68seeAZNZKCEmtI7yBPrQflOFxGzMykdM8huSAmkwudT9xRY0Y9AyP0mH4+GamWzF9beVySuTXiavRWPW0V2vtJbJvcI8uTmJ1ZhehgnQvMVyUP9nRrIb2tZCcIz6fBa1YYILxEqGrBFCsO3bdFhIMKTBZCjINRAKlZqU8JOYIDNA5oViZeoWock/LaSxX8/hWIBVqVWfOvT3h9Pl0k5PNKIlTIRAZYY80T4DXhzjn2h2yh+uVMvVK0YDXxkvpOzdr7VhgvS4X9WaNVcmqsFk5bCPpnMbneMJ24KSFWJJguRDO2LWt8dLLQlkMkjF3esPMaFY309igvjAxKZRlEDxmq9ELmrOE8pW8+pX9bpUkjx+/e9YysgY3/t2B8EVJDcmNHfyBOqIT2cQiJeuzzajvYx/KAbyauh7U+g4t88dzzWjGm3KEUisXWsP0n3vtOe2XCPKu/xMAln7qVveUNFAsYfJVxCB7Zgo82oPkCIx0eek/CDVYMW4LuviyD0QVgO57jWZJLZz05yBXTiXq19MSPv9W49QubrFmNC+RAeYPP3t1XH0xHd30m+vjKMYbifTFnBZGByHFiQXxflaC6ceKLdbWdcxoQ8lLix3oWzUlvsK3ELCQBaCVPyLCW+0KybkQQZP/nkR5SiQlep2rsR1GS9Kn9uZfOVuFZIdZBIR2N3+bFMmYtIEXIPnTR3OF+PqEk+SP9CvI61mQhGEARYXgOxtcEdlGvbhNB5PAZcy8W0/PpDqIi+QGMh4Q5VUr0tlasQuFif9uEAywCKI+cNXCfkIYqFO54pyHApPtFXnJ5sIwbVp8a4A1SdITyg0i1QsQD89O0rGLMh1GNoxJT+bjSHftBG+uiINXG2jjhgXxblPYrEBcHXrHyB+MlliHePZl4XrbAznK7BLX5CcX//rL15gkZ/OMm6wcJ9Jbs8W5OuGOc47mVt7OF2D4yBpgdVwXgxz+vhZIQlxDMpcN3OrBxbxnDwW72UvXca0lIEXYsC8+jnGfibus8Zijp+RhQnYh1vnzDky0nePD2P34/moE78HfnhmhBCubu8lt/cyVI8gKge/NYku8WKjbs83p7L1igq57lVWU0a7rdt3At4ZlbhfQTldmOvRhBev7Hp5nGSDcViX3wUY+4vGrOVnTWDuTv0DCx8ObDnKiwkWyeKj259qygsUikk74hy+RX58eoS8x7DoAYsp8N52Gx+4s9sYcBuTbv0KC6IO8CKUzrxoCc8DGBaowNz6Ds47vQdwLtwxiWvdbO7QlbJIxBDmJq1b33HDNVWalPJNFsHjAu8H9AO0K1wH4xnUlZ9lK6dsolFfzJYFZNiX9wK/79zaw5Qrqb8xTb66TT4IxL8pk0+ZtaSKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKQAAQwiX6KyRko/UBWLBq9VkgqkwUm4kGe2NmhHVFC0mC1PCaVsYLeSgxhchZxK6H0CJ4Qs8svIccw+QuFg1XBBRLnJKuHcC6CyVQrCeCW91Emb1HH0zyBvHv9QZm4BwkHg4tNEJhQI2BCH2qbgnFx+BBDEJOjJvYn1AtQZoZiIH/XzdkupAYwxwQh7pmNSSdM9uG+2KJsUHBkzhk/0e2W/yomnM+fiRWSFapMqEOtBpXYKVZ3QVG7lV34wRCrCyQMVBhwGYzfOAaDShRKPLjhhJWpW1TUnLLDf0AUQVERbF79CqQpJndRR+Sxd+Mhuo1VmZjNLsY4rp6+WbIEIRaKCtXcH5iCjMckMdSNJarfJqfQtiB0QRjBQEaG6op0w/ydQmCiffZtPkyxZy8IOS8ZufxZP2+7P64dXL/mL56L9nA9jaHPBauWzTlstzDphYl3EMtQGsEwRkGQXuYtCEz5bdyherCA4dYD93UqK7AAttg2Y/IZxB76EQzKKox79Ee0M5SERbhtYSVrFKL1TJKDXEQdoE4N1bCQAeUJJjzM9Ssmb5T+j34OtbYQ73wS1wE/XIfnGn4Hm934AP4rJm+SPpUqVSpawRPuUBAbO8TEchVWtkH5CSymD1xiTkndcB8sCkA9DeHsT8A/5gxZLkpZqC6lvXHSxe8yVHTo56LK5LJhjExm1SbMrX+wTlTSuP0B2Yy2AFYgfNE+iXkmuT1bTDlsMTcn7bYe7WF3iTmGRQMgabEgAWNvPqtivQhMXOtaDxdYvfp5sSoFqAMT/eb/EtUKmaLKcxeuptHXd67eL4r0ghwvGub2XnJ7L1fkRTdQ1YNYSstq8S1Ld1PRivklT6+ySiKHP27fCXh3zmHFP54R8FqA/mS6om88/iPPMxmTwSsL+H52/QPjae3sbdLf0a/xroPKGAa8jh04IR4HEKcTBCLygLmND0nAf+zGgJxzGZNu/UrekXgGsHIbzwD8LxJRZOrSd+Se/MfuPZCYMWnyddri/Rm1/wQvaCgRkMSt77jhivcuPFQg1jnin8LTAhZlnGC1ZT72AoJxiO8WbFfP8G1x3Jhje3CCq/mNae6v2xsfAVVi3vhtpCVUBBQBRUARUAQUAUVAEVAEFAFFQBFQBBKFANQeZ1iVZwzkz7k4d4/mmNN224q9ouaAkqIFuzuES1DjahXXtOxdR1QSUHwkpYGs7PREYyFc4erQWKcnG9O0AYvZ3eNRIak6837/50bZkhXmGmxBCMEwf4oJR6tBfYG6ZcqWQdws3sak5ZyhKyQJCAmo0MowUQhyCxP+IDFCMUyyGhPMY2JFdQE1JSb4oF41BtWkUWGZY05bKx6Y/CtQMldAUricDDYQlJi0NIbfhrTEMbQpXCTO5nqXZRLT6q7UXBO8detXIAOhMIErWquB8MqQOYIJcSZGDTHHCUA4hELAIK9jB+PrAVIIk9jG1s3ZJiqknWv2M2mcjxDjMRQrwpP8cNELYgmTtSAj0UbG1adTHnDViL4Dkrskk6lQZFrr5XSdOW7XVuYciO1L7GrYala3f9bj5ne49TDXu23b9K1H29gNKogvY1l57MAdLiawjaEtYXAreMTiIlmOu5AE5vpQtuj3xkCcwIVlqOaEORS+lZuWEiITpD7GqTEs0qjWugx1ebqJELggnkCcGEN/tyMvcT72/AW/8s6kx9aN28jOroS3LfctQPBf43uE+Xft+odrpnFXHrd5PiTmmeT1bMFtnTD3V8bmh1t72CT3H4IbZiwg8VsQbv7jQT/c6uHWVl79HASqE4mKxQBYAGBMnmdxSlq395LbexltWbtjBarO/dUYXFXDvMpq0id0i/crFhTA5PnHmKdOnUrIxlDysusfWBTSrFdNWfhynt+dcEW6d1P8AhF4FYDy+4H3O4o3ATzrzeIK3NN2fMQVxm4M4JRbO3v1K3kG8EKvYHPL06S1q39ixqTJ1207jxcywdUvvHAYc+s7Jo0drlgIhUVNcOeO/PAewvfBcXbnje+KKMu3EPLBfi5W9Zt+6dQeSHu1vjGRt1ryQUBJzOTTVlpSRUARUAQUAUVAEVAEFAFFQBFQBBQBRSAsBDCxB9dexjBBDxdeoRoUIvgfk1S3P9OUCafT/rht0wYuZtKHqONjjcQ9WKgEn+u9edYP7k0P74qSVfsmLcgquCUFgQlDmUDqYGLWSmqY9KFuEWNw9p8rfPGh+CK42wVGxqAGadarhijNNi3aZQ57bq2kJPID0XKGVZBwwQkictAbEz3zsEuAOGfGEHPvdJwqzhwDCRdsIJDgotJMluK3IZuQFgq+e99qJ5PBR1lVYVXbBudl9t36FYhixCkb+t5UUaCZa7AFFsDAN+nrI+mg4gvVrLimZ0LUOnENErHpPTWpMCt2ju6JFmWQV75w94d4sYPfnuSfiL+bY4KGwrehnluZ5C5btwiTp8VpUv+FXrcLOG/I9YCDcTs4B4ysSk6Q4daxi5iMZj8x9bC7v/VYNY49B5d+47+baz0s6kOMiTlM6gUbFL9Zcvtcp+IcXHAmlV3Zw0PP2W58lKpZiErVKCxuEKHyggvE//x4lz9TqBah1IRCszSrTxE77/sn/vb37cuXL7MqPJU/vfWH3f1wXtoyzn0s9q34yNiykKg4H2yO/cOSp924sisPVG/hPpO8ni0ot909g+tj3fdqD2va4N94HoIATOi7yK0eiCFqfe5EZPS5ksW9E9PP5VmOV01ch06fKcL/PPd6Lzm9l6EGXMUqd+tiA4NRYspq8rgaW7v+0ZjdOZ9j8nLAS2MEH3gyqN2pgv/2IH9BXCLmcz0mM7FgBm7GjdmND3PO7n445zYmvfoVntN4XgebW98xae3eA4kZkyZfty3c5aMPVeVn+3pWfcPc+o7Jyw5XkJi1OlSgf3hhEpSW1TjGOhaiwRvEiaMxVIFdJlstC+/juDGn9sD5q/KNaW6s22SDwJUjK9kUXQuqCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCoSBwmCeY4JoMSgZY6VpFeLItlRCAXtc34vh2IAlhmKiK2h/NMeriSbTT7NoV7uPg+rALx4PCxFVirfm9tUQ5OYtdAloNatLUaVOLS0ccx0R1Gp6w91LLWfMI/g1CDfUz8Rgx6V+hUaCLtcMc1wlKO0z2bV68OzgLx/1C5fOKmg8JQHDt5/heIL2AIci3ghzHy5hVFWmOOW0RRxGGCdPy/Hvn6nhlnNM1UAzCNa9ITXjSHL9xzBgmtyNZndmW44RiAjwU8+pXmESHmsoY3MyBdMaEJVzLVuWJThgUG3DZ6yqDMZnwtkydIv5+Bpe1uzi2pjHgCyITcblCJZyN4tIoifJxLE1r25i8nbbr5+3gSfQq0rZWlaxT+lCPozyIYQfLGbfFxD0m2k1/gWvKlCl9Yy6x9XAqF/CAEnssx9QNVpkC+3Ks3AUpDcP4N65dd3H7YywZ8gd9NRRi2KkcV/M4FEhw8woCE1adx7pZyIBtqwfrUBp+9oBsgmvXy6y4SsEEsrFTUWe4jbLIrokpa845baFGMm6r0Xb5Oe6sMfRdEAF4xsHgnrFgGR4jFrPrH1BY5yuR00+mwN1vKJaYZ5LXsyWU+wencWuP4LTB+8CuAS9EMe8p9F8ThzQ4rXXfrR5Q1cszii/AwoES1XwurHF9Yvp5uvRp/XlBfYtnJFzFer2X3N7LO1bvY9VwWSknyofFDWZ8JqasyOtaGvrAHo7XjDEHPKCENgbFHxYbwTBm8cw37W3S2I0Pc85p6zUm3foVngFZc2eWBRDoI2hPmFvfcSoHjocyJrGICe/DcG3ByDX+voE83PqOuYcdrpH7oglxSfEdcXjnMXmWQT0LO8iuuPH9ad6pSId9HA/FrsY3Zij31TQ3FgLx/+q4scqlpVEEFAFFQBFQBBQBRUARUAQUAUVAEVAEFIEkQgDxmSb1X0DdX2jO6pSzosZDHDkz6Vfv9ko+YpPVR73ebMeE5DZaNtEXvw5qgLteayMKNRCGkXydXezLucNWUs+XW7MKrobEzQy36JhwrtGmHK/SP0V9P75dsjnP7iJ/f228kF8Tv59PdzzfXBRgIBwRn89tFb9XOXDtwlFrqBvneS7mPE/oRcjkYfB1cKOJycKEqHs2MLnVjTGHQgPYjfp8lmQLom38t/OoTd+6rCJkN7Ic2xME8ZSffTHvgu8dvA816n3vtBciFISKiXsZnM66v3jMOmrVpw71+bCzHN7H8ThxzGpwKQtFC85ZreszzWRyHTE7e7/Xkab/tkTSePWrmYOWUft/N+C4iYUolvsgJqLHfDlb4o5O45iCXZ9tRlWalSK0L9wjmv5ovbfd713skhYuBGFQc1jjE+IYlLPVeRJ/28q92PU0kNSYmEU9UzAfGHv2ol+R6XkxJ8BkbCyrThHzy2ognu58qRW71Y0Qcg9Koj/emijqFGs6p9+IW3jHc81EFXtwRyRNjlN5wtVxN3ZFHMkuM08di+EYsTGUlhcWeNUDxEdxjhOaPV9mat2nrqhUR3w2U+rqVtZmvKgAas+7X23tL+pxVvEM+2Aaj5UThInwXqziPX7olKg1oViE4he4rJm5lR754g4pJ0giLEIIxRCDF0osTHaDHDzABOi4bwNVoKHkE2qaddz3uzzVVFxYAwvUyxgWC6Dv9vmos8QszMiE4yIeO3Bja2zNrK3Sn8vxYgUokEcyrlCRuRnGH54PxasWFHIfxL4ZAyBU5w9fTfe80U6eOSChZrFa3Gp2/QMkOgid3v060uljTCiwmj1NhDfmiXkmhfJssZY7lN9u7eF1PWIjQjX88GddBTsQ6+O/myf93G0MuNVjw4KdVIldDd/1ahu5veAat5gnMf1817oDQlbDLWpGdmc+lV2lG/eybu8lt/fymlnb2FVndnrgg84ckxBjMqO8/xHvOTFldftO8GqTcM4vnbCeGvaoxriXlIVGeOaY8YH8EH/xoU9u535+hrGLEOys97EbH9bzdr/dxqRbv0JeIPDgxvzBDzrJN8myiRtE3ezWd+zKYI6FMiaLc7zVNn3r046V+/2qcHN9KFsovoGTMbe+Y9LY4QrF5QV+HiIeNFTrWBBl3L6jP4/6YpYsBIE7fyxkwb7p5yZfr21SfWN63UfP35gIpEidOjV3H2/Ln98XANg7paZQBBQBRUARUAQUAUVAEVAEFAFFQBG4FRA4ePBgoqqZM6dPFZioTPTiBCGAiXhMhmMCNCEG9RzUHIjbiIk1J4P6AHI6q/tLp7SJPZ4hS0SC6+F2T2ADNRRIIePaz5q+ZrtyEp9w5bTQVIrmWmCSIUt6dhF4xjZfECaIewgSLBR77Jse9MebE4VAwWRhMFEiSkfMFDqYUcomZRt59SuQKFCx2fU7tCNc16IuCTHkh3zt8sxdOLvEShvNhGlCDBPk+N8uz4TkE2paaSt0Npeqw60pArkGjzuQimk4ZlwMu44MtmtdD7k/D33ElAVREhwbEm0F1aKV9Asu87Xa9xofbuMRbYHnp9NYRt6I4welrNUwPpwWWiBPjAGn5w7yxLPX6Z5O/QMLHS4wsXAF5txOiD3rNt7cMLDWK/i307PFC/PgfKz74ZYFeQCbCF4gYjdGrPcI/u1UDyjFQQjCJXjweEQeiennePfguRP8XHZ7L5m+4fReRj3Qt0BUBbd3YsoajFdi9736BwhpYGOHOVTeGHNOz2zb8eExBrzGpFe/wvP3Qiw/A6zPdZe+I/X3eA+4jQO8C64Y54lsFLe+g6ztcA1oR66vmBUDPiDYBD0fMa68nklxucWpi6/NN6a5p26TFoG0aePdyhcrWd42853bNshx678zlcS0hUoPKgKKgCKgCCgCioAioAgoAoqAIqAIeCFg/celV1q780pi2qGix24kBDDR2/KB2qLKKlGjkMTbCp5kvtblNSRmYmKAXusyX6v7QQV8ilU55eoVZdXePELMLzVFQBFQBBQBRUARUAQUgeuPQLgkZir2m/9mKMXPnDlzKMk0jSKgCCgCioAioAgoAoqAIqAIKAKKwC2CwOnTpxNV0wwZMiTqer1YEbjaCICwhMLhMivhFrLLzItQV1xng8tOuBG93mTqdYbB9vaISQbFytIJG9iNYuKeT7Y30IOKgCKgCCgCioAioAgoAmEhkCoVe5eIs+w54uPCm2PYRh87KrvWf2d6O0W35qC/FQFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBG4hRDYs+HQDVVbxI5Us0cg6sAJwv9qioAioAgoAoqAIqAIKAI3BwIcrlxNEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFIEbBwElMW+cttCSKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKACMQsjvZ2NhYBUwRUAQUAUVAEVAEFAFFQBFQBBQBReAmRyBt2rQ3eQ21eoqAIqAIKAKKgCKgCCgCioAioAgoAskBAVViJodW0jIqAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoArcQAkpi3kKNrVVVBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBJIDAkpiJodW0jIqAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoArcQAkpi3kKNrVVVBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBJIDAkpiJodW0jIqAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoArcQAkpi3kKNrVVVBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBJIDAkpiJodW0jIqAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoArcQAkpi3kKNrVVVBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBJIDAqlSpkz5ZigFzZAhQyjJNI0ioAgoAoqAIqAIKAKKgCKgCCgCikAyRiBVqlQhl/706dMhp7VLqP/OtEPl6h5LmSoFlapZmI4dPHl1bxRi7plzZqSa7cpTyeqF6MK5C3Tq2JkQr7xOyVJcm/vWbFeOStcuQkUrFaDd6w4F3BRYVW5WSs6dOBpD506fDzh/I+2gnBcvXKKzp27cMiYWrxuhjjXalqOTkTE8hi66VqdW+/J05sRZOhcT65ouqU6mTpOKGt9VXfpq9nxZ6NCOqLCzLlH9NsqQJYJORcWEnYdeqAgkCQJu7wG3c0lyc81EEVAErhYCuQtlp9K1CtOhneG/q65W2W6WfK3/zsyeI7dttaKPHZXj1n9nqhLTFio9qAgoAoqAIqAIKAKKgCKgCCgCioAioAjcfAhkzJqemt9XS8iAhNQuU/YMTH4WSsglnmlTpEhBPf/bik4cPUVbluym2p0qEkjW62EoS7l6xeihT24nED1WS8VEDDDr++nt9EC/TtTygTqUImV8Oe99uz3966tu9OiXvv9b9q5tvTys33s2HqZty/dyWSrwvQKziNx3nLbyuSIV8lOWXBkDT16nvTxFclDBUldORpWpUyTBfe06VSHs294IdazQqASBMPSyio1LULoMab2SJdn5S5cuS189ycQjxldirHC5fAQiVO3qIuA0lq/uXZ1zL1alIGXNnck5QRKfKVAyN93J76U7nmsekLPXeyBf8Zx092tt6KGPb6cmTNwnxG40zBNS9qRImzJVSqrQqDgB44Tate4fCS2fpk88Alfj+9OpVNnzZabiVQs6ndbj1xGBoE/h61gSvbUioAgoAoqAIqAIKAKKgCKgCCgCioAioAhcVQSgdPz+P8MphtVYCbHbyuShcvUTR0IE3y/XbdlYEXae1s/dQfu3HqWRn8+ky5f+CU52TfYLMAGXPks6Omyz+r4iE0RQE/7y4mj69b9jKW1EasIxY+kzpaP+z46kH54aLv9PG7jEnAp7e2TXMdq3+Yjt9dFHTtN+Pnf+7LVR09kWIuhglealCBPxatcPAebhbzj75/I/0leP7jmeJGULrmKq1DfHtOaNVI8bbSw3u7cmpU6bcHIrnA4HpW+RSvlpz4ZA9TvycnsPYAFBh8ca0by/V9GvL42hAqXzUNWWZUIuwo2GecgFT6KE6TOlpab31KRL/J5NqF3L/pHQsmn6pEHganx/Jk3JNJdriUDqa3kzvZcioAgoAoqAIqAIKAKKgCKgCCgCioAioAhcHwTgctJMrA58eSxdjI2fMHzww840/bclojJMlz4NTfx+Pu1ad1AK2vGJRlSuro/AfOiTHBR9+CQN/3iGnINyouk9NahQ2byEifiFo9bShvk7/BXs9kJz2rRwF9VhlWV6niBeM3Mrzf1rJTW6sxqVb1icQABC/WjNk5ipqM0KRLjpTJchDR3YFklTfl7IxOs5yReqjUY9qhIUcCA9183dTotGr5VzWLHf+qG6lJUVihcvXJbrDjMh6GX7txwh/J8p25WhdFbP2EJQav7zj49gjdwbTTkLZvVniQl2KM5Q/0sXL/uPe/2AgqQx45AxW3pxozvt18V0cHuk12We5+Get3KzkpJuzcxttGziBilvNZ5UB8GaltsXGMINbRvGasn4DXT80Emq3rosVWtVhlBLuPad8fsywcTthlDOPvhhF8oRp5Crzn1s44KdtGDEav9lWdhlcM9XWlOewtlp6YQN/rby6jv+DIJ+AOeWD9ah25goQD2i9kfTlF8W0+njPlfEBfk4+iT6TvTh0zTxx/l+d7ZumBerXEDcyMWevyiEBQj/0V/OFmxQBKgda3coL0pGkBxTub2M+1anOgYVPXDXpZ9D1VWtVVk6svsY1e1cUfr+3x9N99cxb9Ec1Pbh+pQpe3ratnIfhkyCLXOODNTukQY0mcfWiaOnCf0jJWOLdirJLqf3rD9IY/43h0BEwuz6FY73fLk1De03hVAI4AC3tpWalqTLPBbWz4t/FiBtsLmN1/SZ00n5gEX04VMUfeSU/3IokLs+24zSpE1Np6PP0IXzvmfZ8I+nS5oqzUtT1RalKU261LSd8Zk1eLl//PozCfrRpm89SskKa/SRZdxPi7EaJxOPzT/enCjud936jtvzE+rRlg/UJizaAEkzf8QaXrixXe4ebj28yuo2BpzKGspYDoLMv+s2JlvxWN2+cj/tWLVP0sNNdp4i2WnesFWy7/TcgbK77aMN5NnS6812MgZm8Dtq55oDcp1T30H/bdijGqH/4Nm8efFuqtSkJK2atlmeP/5C2/w4c/IcLRy5hvAsgCLTam7vgdx8z7N87V5W0MPQb6q3KSv3tOYR/NsLczwjW9xfS/ok3CijbKb+wXkF72PcNLu3FmXPm5nwzpo2cLHfjTzqV69rZYI7952r9/O7f6n0Ta/njlPfwb2d2sOUy+n5ie+SJnfXoFT8LMe3AEzGnIebdK/+4VRHUx6nrRvm7f/VQDwkoG3hdnTJuPW0eOw6f1bhPHdwsVtZcQ7uTZ3eS/6bW354jQG3OiIbp+82nHN7tuC8k4Xbd5y+P/EN5vVN4/TOQhnrc/+/wO/6ooxvvmI5ZSHdGH7fBxu+XfEcmT/c901TqFxeHpO15V2Rgvvs0vHr5bs2+DrdT3oEkh2JmTYiE2XLU5giMmZjlyo39oqrfy5f5g+daP7Q2kOx5xIXKybpm15zVAQUAUVAEVAEFAFFQBFQBBQBRUARuJUQWDl1E62evoWe/LGnkHLWuufIn4UqNS5Jg16fQIXL56MmTALtenmcJJn04wKCMhCT8CBuyMLT1etSSSY/oVDMmDWC7n27gxBfIEVgWXNlohpMqg1jAubsqXM8Wedz04UJbEzGNrijMg37cBoTDJLc/+fixUs08JVxTApeonpdKlOjntUJ5YA161VTyM8BfE9MfGJCH+VHnM9OTLgu4Uml7Sv2ESabOjzeiAa8OMaTwPDf2OGHITBx+rayeWgDE3ViTNyAiH34065+Qm38t/PorMcELK6F+gTqU5A+IEja8QRpYstavkFxgsvQof2mEtjIHi+1JEzMb1m6mwpXzC9FrsDkcRZul9l/LqccBbLKeRO78MenR8g+lKmYrASx62YgkX97dRx1frKJuATetHjXFWraakyOjmUy7DITvQ+834nWztoqhIRX33G6721l8lK+ojnpZ1bGoo6YBM+WJ5MQfGgLTDT/9f5UIeYwUQmiePLPiyQ7N8xB7lbgMQBcvv7XXxzHMb+/HTGJDDfDwz+Zwfc5S/VuryQTy1ARw5zqKCdd/jj1c7QH3DeDXP7uyeHinrJ2xwpMLC8Vshz9evw3c+kIKxwbdq9KIFF4ULvcKfAUCMzuL7agGYOWCU44G8GkT3UmsSfwAoapAxYL8VyS41BuXbaXnPoVFiykSpNSCIyIjGmp7SP15RmCcR9KTDG38QoXzjvXHqARn84Q934gLfdu8pFEWAQB1RvGeR0meUGgTI9TQMPNcvkGxWjwW5NkcUG355tT2XpFhVwPRCFwD5jsYEJn48JdTJA2pR+fHinkI8bCjlX7Xcer2/MzAz8XsbhjH5cdblFB6GNcgZgNtx5uZT3Iiz7cxoBTWUMZy4GIxe+5jUkQe5WalPCTmHguR+71KXPdnjsHeEEHni1PfHcn/cbvghh+jlmVek59BwRN3mI5qP8zIwVrPBNGfT6L2jxcz5PEjK+R/S+n9wCep3iOw/B8hSvwYlUK2GdiOeqFOcjvlDz3/csLo+X9izEw5L0pdOzACUsuV/4EOQl3uGO/niNjpji/X/D8wnMQz/x2TA6P/GymkJu4B1ygT/5pobikdnru4C5OfQfnnNoDmLk9P0EuH2BPDJ2faiLtjbxALnmZW/9wq6NXvm6YY9zV6VxJcMWCpQf6daTVvDALC4LCfe54ldXtveRUF68x4FZH5On03eb1fnUqD46H23ecvj/xjen2TeP2zkJ5MnBoBXgXGcHv9P1bj8hCPXjcsBoITHzv4flhDAsk5g9fJe9FvHfw/lG7Ngjc2CxgEAYgMPMVq8yraXLc8AQmig6SFWVFmVF2NUVAEVAEFAFFQBFQBBQBRUARUAQUAUXgeiGACdPgSRpTFigN57BCMvbsBZlszsbqDSPvgmITaiyQYVCeXYiNn2AEYYZJSBAYmNTbu/EQT/rkNdnKFivVoSJBPluX7ZFjmNhEnv8wIYpyGbWX7yTRismbZCIzVapUtGLKJlF64hxWxGNCfMqARVKWczGxNPqr2UJgoswoB1ytYgsXliA5M+e8Ul0p9wnjDybgoaxCDE8YJphXTt3Mk6/jxZVs1P4T1DjEeGgb5u+UiW+omPZtPizYY5I0MYa4Yphgi4k+y0ThWfmNY9KGTCKmYVe4+UvkEoIX98Fk5/kzsdIvMDGOSTvETcWkMtotFEOfsPYPK9GA61dy+2HCEcpGqGJNXMNQ+o7d/aO4nFCvVmGlLpR4yydt9LveLcUKwt2sIEad0Ac2czsVqRRPJnhhjnIiP/RPkOyYnIbVZAIA5CaICpCx81lpaghMnHeqI845GhOwTv0c15w9dV5Uq7jfthV7KSeTDzC47T3F5QCWwF1UyKHzl5SJ+1iP/2sp6kRgZTUo5lBvPCd28RYT7DCnfoVzR3YfF2UdlGtQx0ABh8ndE+z22M1cxyvXpxi32+rpmyULkIhWRTUUnyDrYNhCQWmsIj8fVs/YKuQqXD+DwC8aR+CbNE5b5AVF71FWrmH84PmC8Qlz6ztuz088j0BgIg0WN+DZUbC0T+WXmHo4ldVrDLiV1WssO+HmNiYRvxcLIkws1qLcruhnMPQzp+cO+jbKc5m3IDDlN78rYK59h8/j2Y+80Za7WVEM3E07SgaJ/BP8HsjArsjhGh3PtiLc16DOy5A5IqS7OGEOlSbiyM4ctFTehVDpb1q0SwhBr4yhQl43Z7tPGcqQYfxM/sW3kAOEIvJBfniXz/xjmZA5uB/M6bmDc059x6s93J6f+G5AG59hTwvAAv+LOwDc0MXc+odXHZ2yDQXzFZM3ygIEfNMcZTIe5Bws3OdOKGV1ei851QPHncZAKHXE9XbfbV7PFlznZOH2HafvT69vGrd3linjFl50JQu1eIxsXLjTHJYtYrQXrpCPRn0xO8DDxiEeN1V4fEGJi+eLWTwTcLHuXBUEkpUSEwrMG119addKKDPKfmTPBrvTekwRUAQUAUVAEVAEFAFFQBFQBBQBRUARuK4IYBIRk3IwkIqYREydOpVMBOMY3EwGu0rFpDBWs3dkVZjVgokRKCQTanDXVrlpKZm8TcEERbY8TKqyYXuaCTqQrX7jssJwDuQJFGbGoP5MG5HG7CZqC3VLO1aaYVJLMOLcQDBhEtgYVKD3vd3e7LpuMdkNt7hQ0GFCNn/xXFL+k3Ht4Hqxw0moZUGkGsNvHIMd3RNNeXjiDXiAnANhaiUcod6EcvGB9zvyxP8hqRfI0FAMfcGal/Uaa33QbiAzQu071nzMb0wcDmU1Uj1W8UKFuGbWNnH1hrbIyopMuIeDu0pjRiGFfS/Mjzv0VbjLBbHlt7g+Z/bt6mjOuW2d+jmuORkZTwL6cPP1Y7ggPcP92hhUS+eY8AzVWvauI4sB4AI52E5Y7nme2woqQphbv4LLWxCrUBlC6Q2MUcbj7HbazdzGKwigiyA34kgr5IN2TBGLW4TMAABAAElEQVS3smIXKzSb8GKBtUzUQBW7YoqP7EQ65AvVavXW8TEJEXM3FDNKO7jCDTa3vuP2/IRKuAUr3eCqGi4h4QZ5ztAVkn1i6uFUVq8x4FZWFMptLAdjYvbdxiSeC1uW7qEy7EYWizXw7EF6Y17PHSxEucSuwa3m1neQDnWEQeEf/N6SE4n4Y/cewHMS/aMpu0WF+2q8F/GeCtXsMM+aO7O850CkG8PzHASql4FM3bbct2DInzbumYWxbNze4hzyx/MF94M5PXdwzqnveLWH1/NT6s9eF8Ixu/7hVkeo250sFMxBKBqT5zIr+GHhPndCKavTe8mUw27rNAZCqSPys/tu83q22JXDHAu37+B6u+9PHHf7pnF7Z+FamF0dcRwL8XA94o/ju8JqcE1ejd8tXZ5uIovFZg9ZIYu+rGn099VBIFmRmHAhm1wtOZc9uWKu5VYEFAFFQBFQBBQBRUARUAQUAUVAEUgaBP5hMgETjVbD5DBiJw59b2qAOtOaBr9B0CXE4M6uVI3C4pYSahqoBf/z412SBSaGQVTiWDBpBqUoJigHvTExIbcLKS2ItzueayZxIkHaOJlMeDEp6WVQEiKm4eC3J/nJ47tfbws+M1EGogeT7GZyDr8NiYdyQwUFogouUUESY5LOGNSLIGQRsxTx0kBOgywMxS5zOJ2UTHqHaqH2Haf8oPwa9/VccWEMN7x12a0x4nCiD0BlNIcnFoMtFMyd+ir6nXFZG5xvuPtu/Rx5goCxMxAmcPdnDCQ/XA6GaoiNBwV0x8caiYLYSig53dSrX9XqUIHwjEDcQImtycQTlDJu5jZeUSe4LvSRG75JZChrjR07eIpK8jMC8RQRd9MovHEeiq5VrOAMNXagydNtG0rfcbq+y9NNWcW7gkBYwkC8o36wq1EPtzEgN/X4k9CxbLJzGpM4v3b2NnYDXkPU0RifVvN67oD8QD+wkglufQdK86tlTu+BE/zcxTvrz3cmCSmYn1XJ5rkbSlnsMD91LEbwgstdvAdh8CpgJdGc8pZnRNzCn+A0uN7qnQD5Y2ydZqU8XMI7PXeC87Huu7UH0nk9P9G2wd8X1vzdftv1D7c6uuUVCuYOj+WwnzuhlNXpveRWF6dzodQR19rdM7HPFrsyefUdKYvN9yeOu33TuL2zTDkM0Wv2zRbfT0PemUx3vtxKntf4JjKGxSPwoAAPIaXZ80O3F1rQ90/87foNbK7VbeIQCPwXSOLyuupXJ0cVpgElOZfd1OFabNOmTXctbpNk90iTJq24D0qqDFOnTs2rnZPV2oIEVx1tDDcCt7pZ+06aNGnYzVXo/+C/1bHT+isCioAicCsi4PTudDoeCkYtWrSlTp27SVLkU6FCZf6uCe99lNjrQymvplEEFIHri8BJnlDNkT+rFCKCyYUMWXwKLRAFUJMZgzvJxDybkA8UDXDxZSZuEafPTPpDxYNzIAKMlah2mz8eZXpWcBXkGHbGsJo+sQaXpYirh4kruPW0GsiNVg/WkfvjOOIwiXsyayKb3yBiod4z6td8xXMGlNvmkpAObV+5T2JEimCN/9mFeJE4BsOEXyV2wbp3w2HazYRK5eal/LHpoKIzmAJ3xHRLky70f5ueijrD7k6zyH3EvV4I/+QLt+8gjlXxqr7YqjFMWO1h1agpK4iicnWLCgGGwqRkMs24+0sM5iBeGnCfM/dBe4EgToy59XO3fA9zO8J9Y95iOSVZ6VpFmABIFfK4A1mxY9U+cTfZhePQASMvc+tXkfuiCXEj4X718M5j4q74vEU95pR31P5odj1rP14xgQ7X1FVb+tSUUHbCJalxcY32385jEa50oRo2rjBxrx2r90mMUnMMYxSEaGIs3L6D5xZcxppYniCLKjQq4S/K1aiH2xjw39jlRzhj2W1M4laHd0aJArsqP8s3L97tv3sozx08I41bY+NS2a3v+DNP4h9u7wG47ow9f4Fi4QqVrQo/W+HGOFSzwxyLANBvzPtV+k7DErST47Z6GZ5XWEyAhRcwuHguWIbHDxuur8D54D0Ow0IA3MfqJl5OJOCPV3t4PT9RfygEsTgJ49a4HA+lCHb9I9w6JgbzcJ874ZY1FGzs0iSmjol9ttiVx6vv4Bqn70+3bxq3d5ZdOazHzvC7DN9BiOVduWlJKsGxoWF4nuN7D88CeCuBm+bLrCBOEeeK2ZqH/k56BEL/Ik36e1+XHCPSsZ/y885uNhDPAi5zYmMtrmmuS0lvzpsWLFiIbrutMEVHH6MtWzbxCh/fGpZcuXLT/b0foSxZstIP339BOXPG/6PTisT69Wv814DsK1u2Ah05cpj/P+RPhmuLFy9JsRdiaceOrXTqpLOrAP9FcT8yZMhIpUqVoXTpImj37h10+HB8vsFpsf+fp16kqVMm0Jo1V67yDE4P0qp0mbK0lesdGxvvDsKarn372/lhmJaG/z3YfxiYFOP6XLp4kXbu3EYxMT4XTyZBKGXOmy8/FS5UlI4fj6Jdu3awWxbfhxXyKFOmHKFsVtu7dzedOBHvKid37rxUuEhR2rdvDx0+dNCalLJly0558+anzZvj3SWDlCtduhyhbDt2bKOoqHjXLW+9/TF99eWHdPCg84cX+gkmPnA/Y9gvXLgo5cqVh/vORjp1KvR2zZYtB5Uoya6oeFyjnOfPn6OsWbNRoUJFTPb+7ZkzMVJmHEAdjh49zLg5r7T2X5jAH9a+c9/9D9O2bZtpzuzpCcwlPnmmTJm5jqUFl52MuRlbJoVbG5o0ulUEFAFFQBG4MREoyc/3Z559mZYuWUi//vpDQCGff+E1mjtnBi1aNC/geCg7WbJmpcyZfRPOuXPnoX8/9iz1e+9VOnBgXyiXB6RJ7PUBmSXTHfNtmj5DBtq+bQsdOxZlWxPzDYJvstOnT12RJn/+gvIeP3TIp9hAAnzLpY9IL99xJUuWoYgIH3l07tw5aS98v6gpAqEgALeLQnjwRGGvN9sxibGNlk3cGMqlPPF5gOp2rsSuRjvxtzrRpP4LRfU2c9Ayav/vBgRVGSZwMckz5svZEoMspIxtEq2bu526PNWUOj3RWCZfre5RkXziDwuoA9/zkS/uYLXXRVETgjiEW7zx386jNn3rspsvdiObIY0Qd1N+XmRzl9APYeI9H6t7QNwiZiRsF8cSnPbrYlFfYFKwd7+Ocn/E5hv52UzPzDGpj8nXrs80Y8yI3fld9BOauBgxC40rz/ve6SD3GfbhNMm30Z3VqHiVgjzRm5la96krrgBH8D2R3+Ix66hVnzrU58POknYfx+PDMdgRnmjPxIQOJqzPn40V8grHjCGm4UOf3O5T5GSLoKkDFptTnts1s7ZS12ebUTkmcaHOBQZWN4h2GYTbd6C0a35/LWrQrapMNKI/YrIRhr6yYOQa6vVWO1blnhKXuSCfoazwwtyujOYY4oPB/e7Dn3UVV5gg/sZ/Ny+gzUzaULde/dwpH8SMm9R/AXV/obkoalE3xGYzBKvTdcHH5w5bST1fbk1N76nBCuOlwacD9t36Ffr/BXZHuYdJR/w7NJLb4NhBn0tjEL13cL+AUhQqr97vdWSScb+ofaHGdRuv0wYukT6F2KdwbYsFBKaO6GMgcaF4MzE4/+bxAUIV7oVzsdvkBz7ozHE50QcyCl6Iixiuhdt3QMYuHLVGFkEgZmL6TBHcR+PnWq5GPdzGQCj1D2csu41Jc89ty/ZSmTpFAlzJ4pzXcwcxaqGCR6zGgzsiaTK/e7z6jrlnUm7d3gNQEo76bBa/sxqJYjRy3wnC+A7VnDAf981c6vxkE4lZCcXk4jFr/fF/3fLG+3D+8NV0zxvtBG+Q+LNYDQzzvRPWUq832srz89zpWBrzv9lu2Xme82oPr+cnFkDsXLOfHvygkygAl03cIF4VPG/MCez6R2LqGC7m4T53ElPWUPCxSxNuHRP7bLEri1ffwTVO359u3zRu7yy7ctgdQxzvCd/PF68Uv782XhTF+Mbt81Fn/u48RRl5Mdoi/r6CW2G1q49ACv7Hto9F8rhXzpy+FV4eya7q6SIVGoacP8jI337+jh585Am6cOECVaxQjh68vxedPXuWLl26RCtWraHRYyf487utYAG6r1dPypwpk5yHT+2Ro8fT0uUr/Wm++9+nTCLtpo8++8p/rGnjBlSyRHH6acDv/mNOP3avT/jkklNeyfF4x053UN16jWjd2lVCMsbEnKb/ffUJ+1S/RO3ad6H06TPQiOF/yqRM9+69AqqYv0BBIbU++vAt//E2bTtR69btadasaTR2zHA53rBRM2rPeWGSD5NpIHV++ukbIQ79Fzr8KFq0OD3y6H9ow/q1dPHSRapevTZNnjSWpk+f5HAF0XPPvxoSiQmy7L77+xLIuTfeeJEijx6xzbNz5+4BJGbt2vWp8+09BLO0TG6CtB34649+wtCrzCD+une/h8qWq0AbNqxjsjEfZc+eg7779nP/xNo7735K+/fv5Q+teFcv07jOO7ZvlTK273A71ahRhzZvWk9Fi5UQUm/AL9/LuRo161CPHr0Yr0v06svPyLEcOXLSk/95UYhqkH9Qdfw9bDAtXbpQzr//wVeOJCbUiB06dKXmLdrQypVLpa64COrNPg/9m/tGejrE5Gf5CpVo6tSJMmkrmbr8qVipKvXq1Yc2bVxHmbNkoXz5CtCnn7zLv7NS40bNA64sU7Y8rVixRNr03vseovLlK9GQPwfSggW+fxAHJE7kjrXv9HnosUSRmBUrVqGed93PfXcNZY0jld/v95qfLHdrw0RWQy9XBBQBRUARuAYIgMR87InnZDFO/x+/4nfGFv9dX3jx9bBJzK538Lcvk5i/Dewv+eE9e+5c6PF7/IWI+2G9vkrVGtSJv/3efeeV4GQ35T6IyaefeYl27dzB30DHqWatujRhwmhaaPMN8fgTz1OJEqXoxx++ok38fRVsd/a8Txac4bsYhgWAj/7rKfr+uy/km+3V196jyMijFM3fWTl5cRcWef311++0fFnoZEPwPYP38d0Zqh08GLjALdTrTLob4d+Zpiy6DQ0BxFOMZQIh2NJEpJbV6XANZjX8myR4gZ31vNtvkBOIhWZ3P1wH137I224Cyetat/uGcw6kVjomahJKlICUwf/BuIVTBus1Rl1ndcGI85iAM27i7NoG7Zs6baqwyoP8cC1iNCbEnPqOVx4glaGWsGt/KPYQgxDtEex22BFzvgYxF936K5RCEUyOQwGaVBZuX0VbgpxITN/xqRVTBLjqdKuXY7+yjnPGUSyk2UZfUjcM0M4gsEy7QIXa7tEG9Ce7YjYGYh84gNAwhrLiWrjWNNeac+FuHfuOR4ZoK6g54coRCh7YVa+HyxjwlcD5b7hj2W1M1mxXTp7nK6dtvuLGXs8djDtuRNv4lm5954obXe0DjHm69GkJLnITam6YQ/kVjlISeUKJfDr6jL/fWcsVbr7WPIJ/u7WH1/MT40vqmYBnB+7v1j/CrWO41yXmuWN7zxDeS8FtEOq+7f34YvQb12dmIp4tbmVz6zu4zu770+ubxvWdhYdxCH1NXDqz4tKkRX/Du9dpXLnVUc9hjj/+35nFSpa3hWTnNp9QyvrvzFtCiYlV0Y890ofeePdDJmAixf3nC888SVvKlqaNmzjoeJFC9PijfembH35i9Z3PNUy2bFn52EOsDMxM02fGExjZs2ejShXL09p18aozW7T1YAACIM9atWpPr736HJ08eUJcZ/Z7/0sho0BqgtwzkzhYUT5o0M8B1//7sWdo3brV/mM5c+aiatVqMuEUv1owY8ZMQth9+MEbrPLzrVyvx6TpXXf15gm0l90fwJwzSKBJE8fSnDnT5T7Tpk6g115/X8g0p5X0/gK5/MCE3j29HpQJwpf++5ZLysBTUKf2vOs+ev/9N/ykZ5ky5YXMe+P1F3iS8ZxnmWvVqkclS5WlDz94009ogUy++54H6JuvP/Xf8NcB30t+/gNxP6DSrF69FoE8hnoRLuYe5oUBKFvuPPmE6B0y5DfqzkSmsS5MumISbdy4EXKoEpOId93d209imnR2W5DZiAUwbdpEVuPGxzFo3boDK1BPy+QdrsP9uzE5O3/ebCHB7fIyx+7hug4dMpBWrVouhzAJ2KxZaxoxYggN2h3fz/CcQJ9ctHCuEM6LF88X8tTkc6NuoXYFQf7Zp+/5lcNwDVieyeNVK5eJ0tapDTEBqqYIKAKKgCKQPBC4yIvyxo0dTj3uvI/f62/I+9Ku5JUrV+fFYZ0pD7+noeQbN24kbdyw1i5pwDH8YwLfKZ9/1k+8MWBRWEpeXJSOvZjUrFmPjx2nwX8MoHSsAMQCKeQP7wYgQKECtF5fjBc99eTvr4wZM9Kbb30kRN7kyeMC7nez7WAB1vZtW/3fsGvWrqTH+PsV3xXWSYDqNWrTCSY54R0jFMvFi/IeefRJGsDfalh0Zmw2L+LbyAu0YLXr1JdFYElJYpr76FYRsEPAiVCEOgz/B5t1DASf89oHceFmbhPFXte65RvOOZCFCSUwcR8Qfgkl/UIpXzB5aa4xBCb27doG7evUxiYPpy3yC6cuTn3H6T7muCt5xxOTAbEezUW8dcRc5jPdZzRBiMac4MnMJLRw+yra0hWDEMp4mWON+WdmQ0rvi08ZnDSgL7lDGHyp7LthEFzHGI7nmp7dsjbrVVPUxVB4lmR3fyM/nxWQN8aAUx8ISJiAHce+45EH2gpKaatd9XpwO4Rb/3DHcnBbgSRp+UBtUUiXqFHIMcau13MneCGCFUe3vmNNd01+M+Zu7yW3MrhhHg6BiXshT7c+EG6+bvVwaw+v52c47w+Uxa1/hFvHcK9LzHPH9p7cp/4x7Jkb8GGcs70f5xPwPLfLNxHPFrvszDG3voM0dt8mXt80jt9CPDZCNRPawKRHf3MbVyadbpMWgVuCxEyTJrUQl9HRPncWIEk+/fIbPsZLB9ju73UX/T1itJ/AxDGk/fHngdTv7ddo3oLFTOD4/vH051/D6e47u9H6DZscJ49wvVogAiC/MPEFAhMGNeypUycoJa/u6HHnvVSxYmVx3dmmTUdxYwbFrDG4Ky1Vuiz9OuAHc0iuGTP6b6pcuZr/GBR2F9iFrCEwcQJqvruZQIQ6MCoqUlyfYnU73M1CoTtjxmSaOWOKrDIpyKvct2+PVzaA4IE7U7gUhYs2kFydu/RgVWJtIQQXLownt3EvuFDt3KU7VWMFZypWAq9ZvYKJsqGc9rwo/6wuXJEeVq9+YyF34RIME1FWV2B16jaktWtW+QlMpMdkIcqFCUooG73K3KBhE5o9e5qfwEQe01jB+NEn34giM95NagrB6MLFCwHud5sy2Tdr5lQhMOFiF0TmD99/iWykLTEpCnWI1caPGxXgfhXj7cwZXvVlMSgKenG75M6TlxcWHBH3uTt3bqcpPMEJV7sgM63WpFlL+vjDt+UQygEMTDlwEK5Uu3W7m931lpN2Wsnk9t/skhf9DpN8a9bEK6pRZ6zUCbYqVWqIyhT952dW76IcDRs2C0iGvmjXf5AIk4xQfN5WqDDHQjhP43nS2Cg4vfoOrgcJD0Vmae7rZ8+eYSzG00Ke+IQ59S20R526DWQBAFwfwy3wRW5Do0zGtW5tiPNqioAioAgoAskHgXnzZhG8TuB/OxfkWDh03/0P8TfXr+KCHt9Pffs+Rv37f80eCa5U/AXWPIV4sYA3E1hGfrfW5XfMxAljxINCkyYtqO/D8HASS8OG/cHKlwtCqLZt11k8aUC7Ai8YuH7r1s3syWIiNW7cgn755Ts6ecL3/Rd4v5tr7yx/68B9vTEoM0+fPh0wCYDvvQ7s4eKLLz6gp59+ySR13CKkwGPs4nfIn7/5PWTYJT5n+W62O6/HFAFFQBFQBBSBmwkBTLwPfHU8FeIYf5nYXS3c6Q5+e3LY5NH1wuZmqYcbfqjj+nk7xDX2iE9mhKz4dctTzykCioAioAjcegjcEiTm2bPnaPXa9fTWa/9HCxYtZfXlZtq5aw9P9l8W8qpokcK0ecu2K1r/aGQUnTx1mgrkz8fpd8v5HTt30b79B6hxw/o0a86t7R72CsBcDiD+oTUGIpSZiF25adMGdnO6Vgg0EHQL5s8OINyQpY/MWynEDvYNcYnrzG8cx4p2qNLguhUxHWERERmEUIQLVZBXiPW0YcMaUQ1kzZaNHnnkP6I2WLF8CbvkimLVWnn/KnfI5zNwTKPsTIDCutx+JytGbxMFI+Ixtm7TQdx3yUn+07VrTyHlPmNXpSBI72RytmvXOwlKRRB5wSZKCZ74g7tSxEME+Xk3Kxbnzp0pSRHD8MjhK91zQVWBSUKsjPEqsy+PwLiecBMHBQBIN0NiPvHk8zLpaBSxP//0LbfDeVZZ5KVtTBq++H9vSLxSkHEjmZiFStEprqeJTwrXZnAlB3eyI1n1aLWmzVoJUYj7w20vXOS9/eZLtnEu4eYuLZNzcPX6UN/HmXzNLm026PefeeHBThnDUFcCw9dfe176QN+HHye4UAXRbVV+gAwEYf7HoF+sxZHf9ZlQNi7f7OqGSVm3/oO2Q8zSr//3MffBovTs86/Q6tXLJYapV99BAZo2bUVwEfjLz9+KMvmJJ1+gaI5LCqLYrW/lZSUM+iNc04Gsz54jBytUZzHmf4lK1a0NrwBBDygCioAioAjc0Ajg3T/sr0GszHuK8O0SHE8Ri6nGjh0hi7hQEbjXxzdQp07dQiAxr6z67t27xDsCzkDR2ZDdsA/+4xd/XljQBdf3wQbvCXCdj++hPfyuvhVsDsclhet7fJPEMHmJeOa///5TQNU7dOwqC5xCideePn16euzxZ2n8+JHyrRyQEe/AxX8q/i7Lw9+LcO8Pla6aIqAIKAKKgCJwqyAAJQzi0iZ3u1nq4dYOezYEzkm5pdVzioAioAgoAoqAHQK+pdZ2Z26yY9/3H0DDR46lfHnz0OP/6kvvv/Ma/6M/l7jISsfus2KClGKm+jExMRwrKJPZle1ff4+iLp3aUQS711JLOAIgwh7s82+ZhANRBoUilJnYBpNHIBLhEtYo0uCqrOsdd8Wt+A+8N1y+QjF5f++H5RoQnL3ufVDUjVCJFy9eSiby5vIkE1yjYdU6FHsg0WBQGoCYbMuxNhF7EvlAyYcJQxBYjVj1gBiZBw7sE9IISjtjSNegYVNWdk6RuiA9ygyXYU7WpGkLWrJ4gUxMod6LuexQfhrD5JVRAJtj2OJYBMcPhbmVGecjJI8rY3VAwZeeCV7YPCa8QLzBZewrHNcSk51w3wqD8hDxJ7/68kN69ZVnJUZlL44VCaLYy6DgAIkKd7qZMmcOSD550jiJyQlsly9fLBOcVZnwtDOUAbEyczHp/cH7r9PL/31a2g2ThOgPcFkHohnqQ5/C9yQN+v0XITiD84NaE67eNm+Oj5OBNCD/ipUoKWUJvsbse/WfPwf/ShPGj5Iy7Nu3W+JU5cmb37PvmPyXLFngj3G2f/9eVpBOlX7s1bcQAxN9+K+hv9M7b/+XPmT3wyDI0b9giWlDUzbdKgKKgCKgCNw4CCAeJrw3gLC0GtT4+fMXpC1B77jNvGAMHhDwbZJQMwuTcB0IU3iMsB6DFwAsNlIjWWAG9SXwOXhovyy+w+I4Y/CeUa5cRfFwYY65bX3fHTlp544rF1riumJFSxCUtyVLlZFFdxnYo4OaIqAIKAKKgCKgCCgCioAioAgoAoqAInCzIXBLKDHRaEKWrFxNy/l/WM/uXan7HV3o2x9+ZreYJ1lxlpvJqStXceXKmYPjzAXGjYuMiqLFS5ZTxw5t2K1laPFs5Kb6R0hBqOm28wSccbXpBgsmZkBgYQIO1q5dF1G3HTly2PYyqPNAesJ9WvTx40KUvsAqwmhWHsJNZyoO7I77W+0IT8DBQDpCGYhYm1l4EmrhgrlMdkaIahHEHuJCYeLQGGJSGsUnzoOc7cgr7K0GV6lp06YTVaP1OH4jlhTIPKtt3bKJUrNaEHacSVm4EQs2TBbu2rVdDruVGQkkj6ycx97AXJBHdPQxOQhi1hgmKKHaqAQ3vVy02NgLNJPdyaKuMEyaYjIN503dzbXBWygI8T9Ut6+8+p64xoWbVJh1AhT7wCmHJQYmjhmLZbd1ILMnThwt4xhk9/Tpk4VwLlKkuMTOPMoThla169Gjh8U1rMkD25at2rGr1yL05RcfWg/Lb/SZ1Rwz0+rGODgR1K9u/QcxQkF8p0qVWsh4YJwqZSohhd36jrmPHSbA2atvQeWybOkif30xoYw2BJEJV8mJaUNTNt0qAoqAIqAI3FgIwCvCa6/3o3lx3htQOngbwPsymKzEewLfUjhufVeGVCOsAguy4EO4pxo8dvRg1eokWZQGPObOmUnvvvepvKMjI49wjPb7xZsFFlyFYuvXr5FFc/DM8Cl7+YC61WozZ07xx8SEm9p+H3wp39dWzyfW9PpbEVAEFAFFQBFQBBQBRUARUAQUAUVAEUiOCNy0JGZansgBcYnJmorly1GF8mVp6N/xyrlVq9dSzx4+wmkdx7dsWL8OQWFptbJlStF5VsgdjYy0HpbfY8ZNZDXn6zR77vwrzukBewQwyXX//X2FKES8wlAMLj4XL5ovbZmTSa4WLdsK0WRcl6VnRSLauXDhYuKKs1SpskKOGoI0f/4ChCC/IOyO8/8XL16SiSC7Sbyy5SrQ7l07JL4gygYF3AMPPkqTJo7hSaRTHL8zJeF+VtdtWHEPO3kyWsqBuJ9Q0YVicAGKOIhWy8KEo4kfuWfPLqrfoIn1tExOFilSzD9p6VZmXIg8SpYoQ+vXrfHnkytXbkrDCkaQZlBUFihYyD/hhkRpWaWKeFcwTLqBvLMasATmdoZYUD3vui8gXiUIZ5CghQsX8SsgoQ6EW1xjcD0LF7V2dvwY2u0i5cqVx69UhZIUOP3zz2XpT2h/kMhIBwOBCDe2UObCGrJKtirHvPz6f5/46yYn+A/6ZV0mMQcFuXwz583Wrf9ANfvwI0/QB/3e8BO0b7zpI0u9+o7JH5hYDZiAVPfqW3DXl79AQeul0t9NGyW0DQMy0h1FQBFQBBSBGxIBvIunTp0gcZoNiQiV5Al2Q473H7xGGEOsZiwWMu9Ic/zabO2/F67Nva/tXfAtMnrUMP9N4W3kOC+ogwq2aLHiEo+91719/Ocz8bcK3M/O4tjd8ORgZ1OnjKes/G3478eeEa8YwR5LzDX4zjp4YL/E5VYS06CiW0VAEVAEFAFFQBFQBBQBRUARUAQUgZsBgYT7lUomtS7PpCVUkljtvO/AAWrYoC7lzuWLbYgq1KpZnbZu3yG1GTZiNDVv0ojq1Ip3ZwlXs33u70VDh420XbV+hl2Rjps4hdq2aZlMELn+xezZ8z5ZRQ63l4ZgcSsViKGqVWv6XcnCXexzz/5b3Jq+8fqLhP+XLl1Is2dPY9LsC1G/IdZQ7Tr1hZiCW7U72H3o3LkzpB/AjSjIr4YNm4kiAZN+d9/zALVq1V6KARdfiF0IMgzWrl0n7kNHhQjERNSmTev4WGfJG+fhXtYQT1A5wDVt8xZthOjEeRCtmHRyMij/WnB6qD1hIBSrVavlTw73olBiNmka38dat+koGCJ+KMytzDg/ZfI4cXNbvEQp7IpKo3uPXkyCzhJiESpHuFhFfFIY3L/WrFmX1a4rZB8ubuvWbSRqQBwAKVyxYhUmRVfL+eA/J04cF4VpPSafYcC4Vq16gve+ffHkLjCHQhWGOuTjfNfE3VMOWv4A+1WrllGz5q3ZNa0Pqzp1GkiKPXt20w5WhoIQbta8jbQd7gmc4LYNhjhRtbgtvv76E67zWTlm/YNYmyBDt7AK1s3c+g9c56bg/6D4hRVmohlkMcyr70gi/gM1KIh6WN58+SWe6LJliySemFvfWrxkPmNYgUBuw0C0N+S+uXbtStlPaBvKRfpHEVAEFAFF4IZHYPq0ifydkCXAxft0VgJiARQWOcHwfm/f/nZC2mttUVGR4u7dvLuv9f2v9f3wbYb41uY7Eq5k8S2wc+d2Wr5sCT391CPy7Wq+YbEI6beB/SVUgVtZh//9J0VFHWXC87ErVLa4Dt89uBe+I7F4TU0RUAQUAUVAEVAEFAFFQBFQBBQBRUARuJkQ8LE1N1GNOrZvQ7VrVWfCMhf1/+U3qVl09An6ZeAf9NzTjzOJFctESDras3cf/TRgkJw/ejSS3u73MfW+927q0a2LuF/ECSg3jftZSRj0Z8asOdS6ZbOgo7prh0D79l2oUePmQsDVql3Pn2Qiqxzh8tLOQKbtYmUkJm5gID6NQtCkv8wkNVSVRl0wZMhv4tK1c+fu4tZzxYolNH6cb3U7rv3+uy84TmYfasflAaG5e/cOdpfqu/+UyeOpe497CAo6uF3bv38fqzv/Z25Ffwz6RdyFvv3OJ0JMrWMiD8pNY0OGDGRXYb3pnXc/ZfXcCVZDHKfBf/xqTl+xnT59krhQffOtjxiXU6KSAHFpDHX64vP36d77+lIbJuUwSYWYmd9++5lJwiSle5kPHjxA/fv/j3r16iPxI1OnTkMrOAbl6FF/SR6HDx2U+KLPPPcyXWCyEPEVZ7H7WMQNhc2fP1vK+NJ/32ai8ITEt/xr6CDHSTK00Y8/fOnDmAlfELQgGHHM6gZt9ZoV9CzfM0OGjDLZ98vP34nqUG5q8+fPwQP92EPZeOnSRc7zK2kHJAeJjTq2ZKUuYoZiwvCPQT/LpF7vBx6VuqHdjG3ZspF+6v+N7Nav34QVmz61rzlvt3XrP2grKEnR9lA+gvw+fjze1bRX38H9oBrtde9DQlzDhew0nnBetXKZFMWtb6ENB/7an5WgTwrhicnipexedjYrO2AJbUO5SP8oAoqAIqAI3PAIYAHV8OFD6BF+/hvDNw28LcB1Pr6RYFOnTJB3gUlzrbZwO792zSp5N67k9xm8VdzMNviPX2Rx3Hv9PhevIfg+/emnb/zu+y9fDnQjiwVU+H7wci+Lb6vff/tJFsZh8R2+KWDwFoI+ANIU30a//voD4ZtATRFQBBQBRUARUAQUAUVAEVAEFAFFQBG4mRBIwf/wDcnPU86c8SrG6wVAkQoNPW8NoidTxox0OibGVu2HCX78g99pwgDxghBTCERIUtvu9fOSOkvNzwEBqDAvXrxg2wdwCcg1kFJ2bmXRB/C/IUaDb4FrMRGFfmRnmExKwa5ngwlXu7Q4BsI0LU84usVjRJ/EJJZTmbzKjPtERKQX4hb52Blc28IVndN5EI44H6qhDRBD0sTTtLsOalu3egdfA6yAhVOeUHeibZxwCs4v3H2n/uNTl/7D5KrPHW9w/l59B+nxjMLzx64dvPoWVJhQm9pdi7wT2oa4Rk0RUAQUAUUgeSKA97p1AdH1qgW+cfDd7fTtfb3KdbXui3c1voFMHPCrdZ//Z+8qwKs4uvZBQnACwd3d3d2hUAotbalA3duv/erubl//ektLSxWnuLu7u0OQAIEQggT4z3tu5mZzc3f35kZI6DnPk6zNjrw7M7t33nnPpHW8eG6BWkREysjTjPA7M9CyajhFQBFQBBQBRUARUAQUAUVAEVAEFIHgELD+zqxQuabfSHbv8HigtP7OzFRKzCs8ozkLk0tOhsH76DNnbIPYkR/mBpBaaUFgIu9q6YeAG4EIFaadoQ74IzdNeKd7ESa5BBoG9dyIPDvC1OTJLc8I58+VqrkfW7eBzuQQmIgPz8CG58VlMbdym3Bm6zYICtet6WF2dcAtfbv7rHl26qPc6pbbgGlyn6E1X7qvCCgCioAikLkQcHuvp1dp7Cb2pFf66Z0O3tVu7+v0zpOmpwgoAoqAIqAIKAKKgCKgCCgCioAioAhkVgScGcEMVqpzMVEZLEeBZycz5z3wUmpIRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRSDlCGQqEjPq6D7KjIpG5Bl5V1MEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAF3BDIViXnh3Bk6vHsdxUafyBRkJshL5BV5Rt7VFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFwB2BTLUmJooDMvDoPs/inu7F0xCKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKQ2RDIVErMzAau5lcRUAQUAUVAEVAEFAFFQBFQBBQBRUARyEwIhORwmOucJTOVJH3yWqRMQarfqWrQiWXNloWqNilLWbJkDHCzhWSjRt1rUKc7m1KNFhWCLle63ZgxYEtRcXPnz0nlapVIURzWmxv3qEHtb20kfympV+GlClCtNpWsUWe4/fJ1SlKuvKGpkq/sXPcNbg26VEuVOP8tkVRpXIbK1w6+Dqd2G0gp7vnC81DLG+pRh0GNqVSVIimN7qrf79SWc+QMoYr1S1/1PAabgbSuO5UalqZS1YoGm70MeV+TnjUprGjeoPOW1pgnN2PXWntNbvn/LeGVxPy3PGktpyKgCCgCioAioAgoAoqAIqAIKAKKwL8agZCc2al53zr06LcDqViF8ERYFCiSl257oycNfLEL3f3R9VSmRrFE19vd0oju/vB6uuXlblS8YuJ7EwVMhQOk1eextolievjrmyh7jmyJztkdFC1XKN0GngsWz8cDwKXssuJ6Pk+BXNTx9iaEQcHkWN6CuQnEQWpbt7ubU75CuWnD3B1UqUFpKlg8f2onEXB8JSsXoZue70I3PNUx0T0gWoHZPR9fT4PfuY46D25GWbImsJmoxw/8rz/d/7nnrzMTshnZSvMAeesb66daFvdtPkI7Vu6nJj1rMS7BR1uwWH4mV4sHH0E63AncSlZNHZLp0qXLtJ1xO308JnMQ+C74VqhXitCvp4eVZRK+ME/oCNaCbQNp0deD+B/I/c6pY9G0bdleanpdbcJkk8xsTm25bofKVLFeyUxbvGDrTqAFLlujeLq8B9OzvdZuW4lCc+cIFIIk4YLFXNtrEij1RDIQcJhimYxYNKgioAgoAoqAIqAIKAKKgCKgCCgCioAioAhkaASqNCpL0Sdi6ExUbJJ8QnWyfOIm2rp0D5Vk5UnH2xrT8FcnS7g67SpTkTJh9PNz4+XagGc60zePjqS4i5eSxJMaJyBKrMx5RT4ObT8mUWZlkirQ9Op1rEKR+6PoYPy9qZGntIoj+sRZ+uaxUcmOHoOIVZuWpe0r9if7XqcbKjLx8e3jo+nihTia8PV8oitOodPumig96pSgfZsOE8hMq9VmdSDqwtBnxtHlS1eo5wOtCOfWM/EKgzLv+yfH0KW4y9bbMuz+tuX7CH+pZUf3nEitqDJ8PMNfmZRqebxy+Qod3HqU0NdUb1Y+1eK9WhF14D583GdzrlbyyUo32DaQFn194dJhdC7mPG2cv0vKMObT2VetH0wWiEEEBjnbsGt1+vu9GUHcnTFuCbbuJCf36UFha3tNzhNJCPtvaq8Jpf537imJ+e987lpqRUARUAQUAUVAEVAEFAFFQBFQBBSBfxkCmxZ6BmXrd0rqKvFy3CVW4OUSRHKEZqfzZy960anWrBwtn7RJSKHY6PNCEhUpW5AidkZ6w6T2zoZ5O8S14++vT/FGnYWyMKd2haBC7MqKwQKF8zCZdZmm/biYjjBxgwHZIe/3pULx6sGG7BZ186LdtGj0WoLy4MqVKzIwjftjo89JeW5+qRv9+dZUgrqv0x1NCGqIaFZiLR6zjnavO+RNu//THWnL4j3UjFU5uVg1uW72dpr/92rvdbOD61CMLhy11pyy3cJta/3Onmcx7IV/KO5CAik85P0+NPOXZaIyDM0VQpO/WUh7NkRIXL0faUM1mleQ/bs/KkRRR07TqA9nedOp17GquLgN4ee4c/UBmvP7Sik7AtiVo3KjMgQFbM58oXTHO70lrt9em0znzpwnhp2asqqvbocqrN4IoUM7IgXzmFPnJFzWbFmpDSviUE9AKm6Yv5OWjFsv14ArXHSWqV6MsmXPSovHridTDyWAzb+zp8/JM6hQt2QSEnPtrG3ifhfPEwbCGu4SjQF/qOqQXqBEJspWtmZxURnvZ+I0O2NXumpRJnIXCLEFRWrnwU0JA6aXmEBdOHod16WdogAd9Gp3Gv3xbEKeYcARZNiOVe4Ec++H24gqOnL/SRr3+VxTBMlHgy7V6ejeE9S8T20C1iM/mElnTp6VME6YeyPxs9P/6U40fegSURviMlSqW1lttp/Vm1Cg4VlVa15eyrhlyZ5EMTjVq0QBrQcudcca1Lrv1l4xwaHH/a3kFrR/5N9qdvUcYYIqB99n1+8gTijXO93RVAjQLNwelk/cKH0ErkHZDKI9T1gugsvaHas8bfIy11Ena8B9Q1auw0W5r63cuCzt2xhB47+YRyBbYaW4fuJ5oU1GHTlDk79byP3aeVGhd2ds0A8Oeq2H1J1Z3JegP+sypBmtnLqFThw6JSrNU8fO8ASVglSXJ37MHLZMXExC5Qyl/pHdx2nWr8sp6ugZSS8nTw6AQnH5pI1Sx5EP9FG+EynQ7npweTcv3C39j9zs8C+YNuDU1yMpp37HqRxtbmpANVtXlHccPBJY+9Yc3A+DaCrPqlPEv3nxbprzW0LfmqdATnHDjeeCdoq+DopomFPdkQA2/+z6HQRHnUL8DbtVl2e4bMJGWvrPBonJrS2b5Ko2LSfvzqgj0eYUoc9t0a8uwUXn7rUH+Rkvl/4AAXAN7s8vnI+TiSOYhIN+6+Th0977/e04lcNfeJxDn442MIPrJbBHn4f3EbwFLOMJV0jTru7g/pZchoucz/Kc5+JcnzGpaTznFRNgnJ5HLn4H9rivlfTBwCXqaAI2iNfO3NqrXb8Dd8VXs72if0J5p3I/iv7Azewwh4cOu3eWW3t1eh5Xo73a9a1u2Oj1tEUgBY4l0jZjGrsioAgoAoqAIqAIKAKKgCKgCCgCioAioAikDwJLxm+gRt08a+m1ZRJm7h8rvQnnZ7LwdGSMkHNw37hz9X7KXzht3RSCII1hxSgGWX3tOibxQGT99Nw/TNCtoF5MBGHQFgTaLy9NoF088Drl+0WybwZ1z/Bga+lqHhe5GKQvx+u3wQVpDnaxCwNBlS17Nhr69DiaPXyFECSFSiYQYwW4vI161KQRTCR9+/goOrzruG+2hOAsXb2ol8BLEsDnxOrpW2jY8/9Q/vDckn/r5UIl8lOdtpUJSrPpPy2ldkxWGJvy3SKa++dK2rhgp5Rx/OfzzCVZW7FmqwoE8nfos+OFdKveorz3ul05QLj99Ow4Hqy+LFvsC4EZf2cck9zDXpxAX7MCF0q/NgMbeuPEunH5CuWhn7gsw1+dRMXKFyLkH9aC3ReD9PuZr4EsBkmQGi4uDYGJNID5YSZcxJg0gxLz3o/7sbvZfjTgmU5y7Llo/x8DpSCYkM867avQ1iV7hbiv3NDjsjc3ExQgJb5+ZCT99c50atW/HoUVyyeEEgj06kz8GYNrxuNMEgVik79dKHUVbcxqyAvcBYOI/vrRUbSXCeymvWt5gzhh7g3kZwfroIEYM4bBY6yJB4PiOi8PaKN+//X2NDlGu4JhzU6neiWBbP451R2bW8itvUYwkY62A5efIaGe/FvjsqvnKSmHXb+DdFvf2IAnLqyRNgfsMMnDGMiLY0y0D31mvPzhPIhHN8OEAhDYIJO/fniEEC+VeX0+GOo4SKwJX86XOA/viqS23LZgh7jvRD8YdzGOfuE2i/29TIDCzsVcYEKnkOzfyuQ7XErmyh/KfSeT/lzn+rHr5l1rDooae+fqg3KM8zAoVOEOslztkvTDk2Oljzl7mic5WAwEZt/H29HxA1EBEZi4NZg24NTXI06nfsepHAtGrKGJXy2giB3HpB/E5ARjaJOHth2j71jl/f1TY6hwqTAmPCvIZbSTAc92pgNbjkr7QRxYKxnEG8yp7kgAm392/Q6Cg3xq1qcO9x+L6ecXJkj/gH4M5tSWJUD8P6yNiAlKxvDOw+QAvAOH/nccZeP8W91xg0ysxe8lfA/83wN/y3dCLCa6uJhTOexuBaFWNn6d1VpMLGOCEAx5NBNG7OoOwuVmV+3Nr6/Lk5jW0RcP/CWkuvHm4PQ88H2we/0h+orb3JLx66lGS37Gnm4Q0dqaU3t16neuZntFHcI7cumEDQERmCi8HeZO7yy39ur0PNK7vTr1rbYPXy+kCwIJXy7pkpwmoggoAoqAIqAIKAKKgCKgCCgCioAioAgoAhkNAQy2nmaiD248c/IAu5XoyJ0vp7jXg8IMCjsMYObmge+0NgwoQ+FnBoKRHoijnHlyiNIN22P7TspAaz4mAmEXz8UJsYRBTuyDQIMd5XCGWICyqXydkkIKYKAUKoEaLSrwwO1yUW6AQAVxAMWJ1aCugkoTisntK/ZZL8m6aWV5/cCxn80NWP2HgT0zqJooMj7AoPg8VnpeiL3IpMIBKbcZSEX6UEGZMsL1q7Ha7SoxwbudCYmsQtBuW76XyscPBJswfsvB4i7kB4at2ZcTfHoVq7egasmWLRutmrZFlJW4BtVjHU5z2k9LBG+QJOP+N5dORHiUOVDUrZmxVZ4ZVJH7Nx9m0jHxequSRpD/oICDygdr18GyZs1Kq6dvZeJmopAJxw+eorY3JxCuTslgMBnYogwgDeFSEqQMDMrKA1s8akUM2iO9UvFrMW6Yt1PUWwgHUhD11U2ZhLAwYHLZxu0tVHVobyCYQDKHx5Pqbph7Yrb5H09K+rsK98Qrp2yWuoV1ITcu2OUNFki98ga27jjUHWsw332n9oqwILHRdq44iBn91fNgy+HW7xzmulOPSSuoGqHCg6rRGCY8YN1cqNhA6ELdiGcbiIFIhIISZd3DWzOxogorM1FHz5+9IG0Latpy3KfB0Deg77vM25j4ftC0Zyh7i5QtJP0JCEyoj/NxnT3FasviPPkAdW3NzG2yxUQRHOO81ebxBAr0OagjB7cd9V5CW+nzWDtWD58Uwt97wWUnmDaAKO36elwLpN/xVw7UK+CHegXMsG8M/S1cVuMcvAKgnynD6yXCsHYs+g70jbgP/d/ID2cKfm51x8Tvb+vU7yD8qqmbWS0aLe+lY6zmNpNHnNqySQf9MLA3LttxHu88vPvwDsQznv3bCiHx8I40hnem9BOMFeqmdbKLCeO7dSuHb3gcy3uO6x/W8i5RqbB3nW6Q6qj3MKe6g+vb2D2+1FF+jFDOwhyfBxezArejtTO3SlgQ+pikEqjZtVenfudqtVdMWLmRiXd4akBfEqg5YW73zkLcdu3V8XlYMpVe7dWpb7VkR3evAgLqTvYqgK5JKgKKgCKgCCgCioAioAgoAoqAIqAIKAIZCYHrHm1LM1jxd4gVKHCp2oePv39qrAzYYg1NuEoDeYkB+SbsWjQm6nCaZx9qNriAa9ClmjetsKL5hCiCesAYXMMaNRnOYTDdkJcmDAagMcMeKkCokkBAbVuel8mmaD6XT8hCkFfGQH6BILOaIeas57CPwWC4GYXbRQz6p4aBgABhChMCggdhs7NS1JCeIJkxmOhrwAeKvYZdEzDzXRvUrhy+cVmP4bKwLisUQWRCwYp0YNiifoBs9Vr8uD+eA9QwcD9nteQMmFrv892Hu8Me97UU4tiQNMAfA+/GljHxfPsbPc2h49ZLWPDg/KVLCa59cRMUjJ3Y9WresNziShGuZuf9tUriw4A/FJMgU0EKpdb6lqcjE1z7AV+j3nPC3LGAfDGBikgaMj/jiXZiDOnnLehxMR1IvTL3+W7t6o5vOOuxU3u1hnPa91fPgy0H7gNBbdfvgAhowG2u7xPtREE+989VXnIIBDTcGzdnVTLqEBS9cEUciJ2y1IHzXAegaIMV4PoIN5lFyyUoPtE/Ww0qOiirrQaCEa6T4cJyNRNuIFZBuqIOF+Z1j30VxDjGedOHXDh/UdzTWuM0+01ZKQdyKTmkj7nXbmvXBkx4f319IP2OUzlM3L5bTB6AAhr9/Xl+V8Dl7v4tnvdgQZ5gEMnq00QW3w+61Z1E9/gcOPU7CGp1/yl9BCslYU5tWQLwv6a9atIKiwoT5/Ees7pmxjsR8eIdaSZmnIyfoGLiCWTrVg67OI7ti6KiPDEA73eQpVAO+r7b7e7Febs+wK4tY8JWHCaWxE/oQRxoVyCtAzG79hpIv5Pe7bXznc1kEhL6ptSyYNprIO0jPdtrIH1rauGl8SQPASUxk4eXhlYEFAFFQBFQBBQBRUARUAQUAUVAEVAErikE8jDRhPW8QGDCsA4WlIAYCMUg6SVWDzVhYuzze/6Q6xjkOeUzYC4X0uAf1pbEum7GpSHIDQymDn91sm1qly9fZiWpxwWiNdCJiFNUq00lUY+AACvHhBPORZ+IETUT3KEZkhDKTusAMeLxklzWSHkfA6V/vjmVbnqhC7UeUN/vWpk+t6T48AoPsmKw3tfO8tqJa1hFYl3P0zeMXTl8w5ljuDWt0qisuLYFPngWj313s1wGgYkBYZzzHVwGyXrx3EV2TTpdVD0mvtTYQkV2w1MdWNW2QtaNtItTSGUH9aHdfb7n+z7Rnl0nrqI97GYQhucMMtfYBlZo1WS3g8UrhfPzX2NOp2jLXKpfc8Lc7w2WkyChrYR/KKuZjcWcihWS36yPB6WzsUDqlQlr3TrVHWs4f/t27dVfWH/n/NXzYMvh1u9AwQe1MpR4VVklibVHv2HXw0YljT4Vf3DHev1/2jMxciYRWeQv/3LOphIgP1DMzWOy1M4wEQJ9hHViBZ4tSIPirGzDur9QYkH1CtUtkqrFbqGtlp+PTx1LIEf9YWrCow2sYCXvHW/1EnesTn2Qucdta1N8723++vpA+h2ncngj99lpyy60Qer99Nx4fhl4XCw3vc7j4jmGieAw7if9mVvd8XePOefW79h0EUw027dlxA3FZsESBZKsZ4p3nvFqgHB4J6IfgHtnY8Fg51YOE7fvFspheE0AOXjmZKxMpDFrtPqG9XeMNuBrTs8DfTomOwk5Hj9JyNoP+saV5NimwgbS76R3e50xbCl/0xD1fqiNeC4w6y0nKVMyTtgU3xuDv/bq9DzMjcHUuZS0V7e+1eRLt+mLQNIv3vRNX1NTBBQBRUARUAQUAUVAEVAEFAFFQBFQBBSBq4jAWVYyZs+RXVwhIhtQTYSw8gHuAmFrZ26nY6zgwcAtBuFBIMGNa6AGtU+w6yBCjbiVB+tDOH+w4wejKBerJaAkMgb1iNWij59l15v55ZS414vnmqBCwlphcAsKNWDdjlVkrTq4rdvP56AYg2HQslZrJjuZdAjEzvKAMci9f76Yx4OslalS/Lp1gdwbbJjTTLwW4kFoGNZBgxtg2K61B1gRVl1c5OI4T1iugNaERFg7A+kBl3yG4G3IylhD4EEdg2sg9YxValDa6wIYRIbBFdfDSxVIsv6nuS/QLepC//92FNIIKjerobxdhjTzpl+zVcVELi+tYQPdR1lB6KOOwKR+MBlutU0Ld1FtfvZYGxQD72lpbpg7pQ1lnXGDC/IZbhqN7V4fIYpriI4wiF+1STmvAinYeuVUd0y6dlu79moXPpDzwZbDqd9B/UCdkz6K+0i4oLzMEz+yxLvgxDqwqD8w1A3EBeVuSgxkeo3m5b1tGy6MjStREy/6TuN+1rgiBtkqBBevwQryAORQicqFZQs1Jlw7mr61JPexOMb5QCyaiS6kOembhdTrwdbeMgdyb7Bh7Pr6tOh3UJf3bWTlJT9jPHMob43t5fN4D6Hvg8H9qnkPONUdc7+/bSD9jr/7cM6pLeN6Y17feRVcR/uwTnjn4d1n1tZsyO8S9HuGjMe9ybWUlAPtpQ4rh/dv4nc213m8syPZbW5KzOl5gCyDy/P67HkChrWKS7HqPkAhpm22Aul30ru9mM4ueQAAQABJREFUgpiGq3q4Q8c6tla3/bYFSeEFf+3V6XmkJLlg22sgfSvaR7Vm5VKSPb03CARS9tYMIkG9RRFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBDIOAhi4m8wDzzcwMYSBbZA0U75b5FUerpu7ncrxuopD3rtOBrrgdtaq7nErCVwoblm8hxaMDE6htmT8enGBiHSgspn41QLqdk9zdtvIbmR5/U4MdE77cYk3G+vmbKd+T3agGkxgQQk45pPZoqBBOBCqZs3D9rc2ouPxLgAnfDmfXei2k/W/oD5Zymke4HUQk2MYxMcAPtyn/vryRHEv63R/i+vrCFEEFSPUphvmsZJp8manW7zXdq89RM371KHB717HpCDRlO8Xy7NbN2cHu38sSIPf68Pr3EULqTbl+0WEdRyDtQ3s+rLv4+3pukfaMoEcyiTMqURRTf52EZMWrei+z27gdczipNwgNoHz7OErqCdfgyLvAq/ThwHt8Z/PTVF+6jOJCiUZiNtm7MIStodJ6Rk/LyUoXkBK3/lOb0k/K6eH558SQ/tYPHadEKdYJzNX3pxCRFnjjOF04WJyx8rEpKo1jL/9fv/pIMQu1E93vt2bZv6yLKB654Q51HXG7ejtb/YSTEa8P0OSXzp+A6sEO8oajVBbY8DeEGpYX68k1937P+svbkH3bTpMBQrnlfuCrVdudccfJuacU3tFO4bSBiQbJiwcYhXshK/mm1ttt07lgDr7Bu43crBLTijT8Tx2Makzn9emdep3QPiiXt/1QR+u+9GUh8nhJYyzcbGMPvXml7sJwYfJISBhUupSGW1wESspB73eQ1xiw80mlKBW95lYtxBqZaxTF7ErkqZyHwEDOWxU08gHXGiCmIMr2LGfzRFCFtwW+hUcm/UHbUH1uQAibA2vp9mHiZE/WKFu0vIJ5j0Mtg0gAru+Pi36neWTNlLrGxtQHZ6sAFL6JKtaTdsR7Lhf63FvS66XDUTtDDXXzlUHHOuOFwQ/O4H0O35uk1NObRn9JtZoBUa+hnce3n2DXu0uk1bOnblA47+Y6xssWccpKQdUwnl5YgqI1POxF+T7A+eMBVN3nNoy4p3B69ni+6Eek6dw4YyJMuY5m3STu3Xqd0xcV6u9zh+xmga+0JXwPYT1et0sGMxNnHbt1e2bztyfnG2w7TWQvrVivZL8DdqSdvGaxSkh+JNTHg3L76Ts2bPzq8ndwsPD3QNpCEVAEVAEFAFFQBFQBBQBRUARUAQUgUyNQI4cCS4E3QoSERHhFsTxuv7OdITnqlzEACcG3f0ZFJgYSMSAd3IsJGd2ijt/KYnqIzlx+AsLQg1rvl1gotLXQNBgDTO4z7Qazhv1CYgHDLBaDWoqf4NS1vus4f3ti1taVmIlFyd/cbmdg2tQf+WHqgLPMobdvZryIq7klMM3bSe8ERb1A2kZ8sZ6P+oAsLWrW9awqbGP8ocyGZUS8tY3H6gvUC/C/bC/Z4vBXQwIJ1kbzzeiVDx2wtwuGZDmqBt25YDKBOQ/Bvt9za5e+YbzPXarO77hzbG1vvprryac79Z6n+81HAdbDtxrVxbgCleUZ6LY9WbibkXaHVTCWL/XH66INyhjohHrtKKe+yMLkSdulInT5HvE4vPoDyuQNr59J+4J+BlwGtnYpbe/PHkST73/yL+/vh4p2PU7AZfDTzZBGKMfs3uOIMAxgcPfdbu64ycZ7ym3fscb0M+Ov7aMtg/1LQhWJ/P7LuTnivUhre8Upzis14Ith/VZ+aur1jSs+xIWDdGnLVrDOD0P4IQJAMGU1ZqGdd+t37la7RXKYTzZ5ExOs5YrOftO7dXueVjrQHLSQtig2ytD4tS3YrKLv2+d5Obv3xje+juzQuWafiHYvWOTnLf+zlQS0y9UelIRUAQUAUVAEVAEFAFFQBFQBBSBfycC1h+XbghYf1y6hfV3XUlMf6joOUVAEcgsCBQtX4jqtK3MhMUlUV9NG5qgCM4sZdB8KgKKgCKgCCgCioAikB4IWH9nJofEDNidrDWB9CiQpqEIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCGRUBCL3R7H71yPiKjelLkIzahk1X4qAIqAIKAKKgCKgCFxNBAImMa9mJjVtRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUUgIyEA93tbl+7NSFnSvCgCioAioAgoAoqAInBNIZD1miqNFkYRUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQyPQJKYmb6R6gFUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUASuLQSUxLy2nqeWRhFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBHI9AgoiZnpH6EWQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBG4thBQEvPaep5aGkVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUUg0yOgJGamf4RaAEVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUXg2kJAScxr63lqaRQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBSBTI+AkpiZ/hFqARQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBSBawsBJTGvreeppVEEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEMj0CSmJm+keoBVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEri0ElMS8tp6nlkYRUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARyPQIZM9sJQgJzUP5CpWkHLkLUJasGZuDvXL5Ml04e4qiTxyii+djMhvUml9FQBFQBBQBRUARUAQUAUVAEVAEFAFFQBGwIpCFD65YTyTsZ82WlS5fupxwIgV7jXvUoLwFc0sMc/9YRVeuJCRauWEZKl29qFxbO2s7nTx8OgUppe2tdTtUoYPbjtLxg6fSNqGrGHtGKGOj7jVoy5I9FBMV64hEk541afuKfRR19IxjuNS6mD0kG7W+sb5Ed+rYGVo9fWvQUVdqWJrOxVygg1uPBh2H3qgIpAoCDu8BcrqWKolrJIpA+iEQXqoAFa9YmDbO3+mYaMkqRSisaD7atHCX33BO3zR+b9CTioAPApmKxASBGV66RoYnLw3GIFlD8xYUwvX4gc1KZBpgdKsIKAKKgCKgCCgCioAioAgoAoqAIpCuCBQuHUZ3vNWLLpyLk3RBKKycsokHnHanaz4yamJZsmSh6s3LU8v+9WjdrG20fNImb1azMRHT7uaGVLF+KYq7cIkOMIky85dldOWyh1jMniMbdb2rOQHjkJwhNO/PlUwU7ffeH8zOvs1HKEdodrrl5e407y8mMS8lxBJ54CTFxpynznc0pd3rDmUIErNouUIUwjgc3H4sIaO8V61ZOcnftUxiZoQy1mpTiXasdK9ztdtWon2bDid6Rml5cIlJ/e2cr2LlC1GNFhVSRGKWrVGcjh2IUhIzLR8Yx23XltM4WdvoK9QrRScOnSK8s9LDSlYuIsQ7+vrRH8/yJun2HiheMZw6DGpMuQvkoh08UWDun6u897rtZDTM3fIbzHVMyilRKTzF78Zg0k6vezCRqUbL8jyhZC9dumh5aadXBtIgnYLF8lO5WsVdScyiZQtSMW4DdiSm0zdNGmRbo7wGEcjYUkYfwKHAzOjqS58syyHyjLyrKQKKgCKgCCgCioAioAgoAoqAIqAIKAJXC4GoI9H0fw/8JX+TvllAbW5qSOElC1yt7GSodKEiyJU/lI7sPp4kX7WZIIrjAcmhz4yjn5//h3LkzE44Z6wTk4mHmLz75aWJ9McbU1h5mJjIM+GSsz2654SQpf7ugYoOarTzsRf8Xb4q5+p1rCLkx1VJXBMVBJiHz3AGoh919di+k6mSN98iZsueqYY1bTHISOXIaG25w22NCRNF0sNy589J5eqU8Ev0O70HoDju9VAbWjByDf383HgqWbUo1e9cLeAsZzTMA854MgKWrlaUCb4Kybgj8wXNlTcHtb+18TVDYKbmE3D6pknNdDSuaxeBTKXEhAvZzGqZOe+ZFXPNtyKgCCgCioAioAgoAoqAIqAIKAKKgH8EoIw7suc4FS4TRsdZ5VKhbkmq2qQsXTgfJwRd9ImzNO7zuaKigwKl0x1NCIqY6OMxtHjMOlEAmpihAmvaqyaF5s4hg7/Tf15KF+MVn/U6VqX6napSCKsKd64+QHN+XymuUTFo33lIMyrNg71QLxw/GEXThi6lMyfPSrQNu1anBl2qiefWi+cu0qxfV4hbUlwMK5qXOt7ehIpVCBfScdavy73uMZ3KYfLrbwuXp/jLG+Zx4WoNs5aVmVBqGpeukfujCC7WYFmzZaEy1YvR1B8Wy/HZ0+dkG8g/4Nn2pgaUJywXL0NzlmYwbhE7IwO51TFM4x41qW6HyhJm3ewdtGLyJslvAx5UnzFsGeXIFSKYnztznrrd3ZyWTdwkz9kJc7sEUf4h7/elQsXzS5CG7NZ086LdtGj0Wu8t+cPz0MAXuxKUGlC4Lhm3Xq6hXrW/tZHgh/qweOx6WxWHNzLecas7pbhOId7Q3CEUdeQMTf5uIcVGn5conDB3qztO9dyujNZ8J9lnRq5pz1r8rKpIXg/tiKRpPy6mmFPn2H1fONf/6nR07wlq3qe2nBv5wUxv+4Cysfu9LdnlMKu+uF35kntJ0vJzIl+h3NTjvlY0ldOEyg31Iys/Bzynyo3L0r6NETT+i3lexbG/eoVoB77Qlf56ZxohE8DhdGQM1WlfmS7HXaaNC/y7FjTZgTqrK9fBAoXz8ESBy1L+I0zgw3LlC5X8AQtMwIg6Gm1uo/wcvt+THVj9m53ORJ1lz2ce1dOoD2dKGLt+xxuBn51u97SgrFmzSD+3gutpBVZe5+W2+dtrk8WNrVPdGfJ+H1Fndx7cjEK5fU3+ZiHt2RAhqRTkttF5cFNRakOdtXD0Oq+qKdhyuOXVqQ3Y5TWQtuwHNjnl1Ca7cD+/c/VB2rXmgISt2rQcT3goSAtGrJFju36nFE8s6X5/K+lbBr3WQ9rALFbAQ30Os6s7qL+tb2wg9Qfk59ale6lOu8q0ZsbWRAp7icTnH/pvvN/QF0CRaTWn90ARTjOW793PCnoY6k3DbtUlTWscvvtumLu9e33jsx7btQHUjWbX1aIxn8yRdxrU2QUK5+V66emzneoO3tVt2D001OeXL12hDexiFP15rryh1PeJ9vTnW1O9WbjtjZ7011vT6OKFOOr9SBuq0dxDYN79USFuz6dp1IcJKle7vHojs9nJUyAndbqzKSHP+HbAO8Qo0vEMW/SrS/m4T9q99iC3z+VCLqK/LVuzuPSx+1mVnp2/TfAdMuHrBTLh4tZXu4tiHOUE/ssnbuR36GbJQf+nO9H0oUvoNH8HwTpz2luX7ZXnDpfe7W5pRNkYo7s/ul6uS9/B71mYUxlbcj4v8rdXec5zcf6ugUeD8fz9hclTTub0znJ6vzr1SfjWwfuzGnumQH8FN+Vec3hnIUxISHbq+3g7Kl+npLy7JnE/GIiC2q4te9PVHUWAEchUU5YyowrT1LLMnHdThrTcZs/OP6Kyus+sCgkJkR+PaZmXf1vcwDRrMtaXTc4zwDPFsw3WAq0XwcZv7kP5c+TIYQ5TbZstG8qfqeaKpFrZNSJFQBFQBBSB1EUAPyj9md15f2F9z7Vv34V69vL8yEY8NWrW5h/e7t9jvvHgOKX3+4tTzykCikAaIMBdCQabMfBfrlYJGfg7vMujPASxVattZSEg/u+Bv2nuHyspNn7wDQPw2bJno6FPj6PZw1dQDwwsxys4QXxinb1RH82i7/4zRgascA6GNGq2qkC/vz6Fhj47Xgbxq7coL9dKVytGxcuH04+sbvz+yTG0d+NhISdxEaqWtuy+9Y83p0qaGHyEUhKGgbl+T3XkAfGD9O3jo2VwHMc4D3MqhwQI8p8hMHE71qM8HK/YzM+Dv2d4HcLr/9OeHvlmoAzg5WCXsoEYVBtjPp1NXz08QhQ8PR5oleLfuzVbVSQMSv/1znT66+3pso9zGEgsW7uEZKtW64o8iF1b9vEcMXDvhLlTWTCQ/ctLE2gXDxJP+X6R7C/9Z0OiWxowIT3lu0WiYkVdwcAzrEXfOjJICnUrBr/bMKFboEjeRPf6O3CqOxhM78k4TvhyPitnx9PhXZFCFJt4nDB3qjtO9Rxx25XRpGu3jYu7RMNenEBfPzqSoFRpM7ChBMXzqNK4jJD/Xz86ivYyIda0dy25hjbc6+E2gvdXj4yks0x6gkThymOXTJLzIDAHPNOJlk7Y4B1kzsmkIQhTDFp/zXUSA8uVeR1KmF29wrVsIVklbOFSYdTnsXY4JaTI+diLsu/07zomN0AO/fTcPzzBYYWUy3zbYKLC7vWHpH0sGb/eo+KKLyLqClRvP/x3rJBaIDgNgenU7zjlBZgcYdIYA++tBtSjCf83nyLZfa3pe5zqTqES+akO95/DX5lE039aSu2YBDCWm+s7yJWv+VmhXbZil9VhxfLJ5WDL4ZRXtzZgl9dA2rIpk+/WqU2C2KvTrpL3ljI1islkGJxw6ncO8YQO9C1xF+PoF24j2N/LxLoxu7qDd0GxCoW4/5sm7r+Bx9hP5wgpY+4Nduv0HgB5D0P/KkSaZR1ju/TcMHd699rFifNObQCTdS7xBIMGXasRlKcg0NbM3CrRudUduMvNVygP/cR99vBXJ4mbaNQnkJuYXGS1gqjj8awD+v+57GZ944Kd8hzHfz7PG9Qpr95AfnbQTwx4tjMd2HKUvwVG0cSvFsiEKeQF7zV8p+B7Zeh/xwmxCMIRlpPrA+od3jt12lehrez6FZNrsNY0DOs6wvX1sBfZswJ/gzTpVUtIT8+1vDLRQwLyP/SR5n0PkhyeGE6fiJEyor6eY7fvMLcywgVx8+vr8uSfdfQFe8vYzG7+3QhMxOv0znJ6vzr1SSD883JfCEzRhnBs+mSkaffOwrVqzcvJZLUv7v9TPEl0uasZTruaXVt2vVED/KsQyFQkZmo8mZyhoY7ReMiMwH5wOEakF5OFwK2DhlDLVm1t70GHeefg++i551+nRo08nSDOValSnRo3aUGlSnleNr4RYCCuZs06VLRoMblUokQpOcY561/RosXlemhoTqpdux41bNiUwsL4R4CPlS5Tjpo2bUnVqtXkGSaJ6wnSqlq1BjVt1orKV0j4QDNRgJDD4CDyX6hQYXNatpWrVEuUH+Qtf/4E5THSwjlDtCFv1vxjv1LlqjLw6HveHFtfOtbEH3r4SapZq673FOJu0LAJ1a5Tn4CHMX/PANcQBuWuX78xFSxYyASXbfMWrem22+9OdM7fQfnylagJP8fSpT2DHSaMU70APqZs1i3iSq5V5nr06GPPyW2VKlX1G2+evIk/yAJJo3v3PtT7uv6BBJUwqM++GDrVOWvEyLdvvbN7ltb7dF8RUAQUAUUg4yNQsWIV+uTTb2nQbUnfqY8/8Zx8mwRTCrxLw8I87+7ChYvSvfc+yt9Mnm+i5MaX0vuTm15GDe/03sa3lNu3K8pVvHhJKlYs8XPAcylbroIU2/qtgv1cuZOqxjIqPpqvq48AZt8/8MUAuvfTfkwY1Rf1oHWWPPZXTtks6gyoXaDUg1IEA3qzhy8XpQCUgiA5DFHZmEkpEJ4YwL3M699BzbFx/i4pbG0euF47a7uQHHDBum35XiofT6RB/QkFYj1WRYBURbpYaxKGwTusgQaiLQ8P7sFVK9QQsOKsQEM6a2Zuky0IEBzjvDF/5TDXUrrFADxw3MbqCxhIt5KVC9P6OTvo/x78i2KY0Gx+fZ2AksF6pMANpNSBrUfoApM+ICdSYrXaVKSFo9ZIPmJOxco+zmF9tyuMUwg/hxKVChPKAcOA//mzFxwxd8sPVLdwGwoyFPu+a4GtnrZFiDKoTaGyA34wkK0Y+M2ZJ4cMqu/ffJgJYk++nNJ0qjtVWEEIwg9lQrxQyZRjVYgxN8zt6o5TPUfcdmU06frd8pKqq6ZukXaF8YRVjBNUvcagHoXKCfV7x6r9XtfPWD8vmusNsATuomwNnL+UAeobefAfqmhgZTUo5tD20Qb38NZMVrCrV7j36N6ToqyDcg0KZSgoMbh/it0eOxmIPDwjuJvFFi5noWLKF85tgMtTgZ/b2nhyBZMWjEITcULxGcHKVRi2UFAac+p3TBi7LeKCousYq63Rfs7FXJD2ifBOdQfv+Hl/r5Y2DMWhkJTxWUL5Dmw5IkQAJoag7yhV1TMpIyXlsMurWxtwyqtbW7bDzalNYk1UKOWg1IdBpYV6BnPq61G3kZ/LvI2J71tA+sEc6w5fR11C3HiWID6BO/rZ1DLf90BudkUOwgp9Wzl+x2EiR+58CeNpTunaYe727nWK060NzPh5GXtPqCUTPqDEh/ob5lR3oGoFGT3tpyXyXNA2xv1vLp2IOC3t1Sk/8v6xvCOgzjTmllcTzneLdRoRL/pN1AvkYyQrsdFf4vsE3yn4XkFas39bIZMggCkMBDnuRRnQB+LZWesHvi/wDoECfPX0rQT1sBi3czsDMYy6ikkleKb4E1cSfEMgZdy2dI/H2wRX8c2Ld9slk+S83TvL6f3q1CdVbVrW8x3IZYHiNJGanvPm9M5Cv7lh3k55Hngvgby14pok83zCrS37u0fP/TsRuGYlQiAjf/nxaxpy3yN08eJFql2rBg25YxDFxsbSpUvcya1ZR+P+meR96qVLlaTbBw2kfExU4Do+nMaMm0jLV672hvn6i49p9+699MEn//Oea9+2FVWuVJF++OlX7zndSX0EKlSoTOHhReitN1+UH9RQ+N3/wOOUO3de2rdvF/Xu3Y+WLl1IkyeNS5R4h47dqFPn7jR/3iyaNHEslSxVWgaPrIEaN25OQ3/8imeTXKSHH3mKjh49QmfORNMN/W+m33/7iTZtWi/BQaiVKlWWNm1cRy1atqWcOXPSN19/RqdORcng0cMPP0WnT52iiMMHqVu3XnRg/z76+edvJb8FC4bTgw/9h6KiTvBfFF3f7yYaO+ZvWrlyqSfuW4fQoUMHpO6ZvMXOnkanT58SghZplyxZmt5+60WKjDxGVZlE7dKlB9/j+fDDPVFRJ+nggX1Ut15DE4VsMRCG9mDKkeiizwHIzJtvvpO2bt1I+fLlpxtuuJm++N8HdPLkCfJ9BrgV5PFddz9Ie/bsorMxMdSn7wCaP38WzZ7FrmQCMPxQGzz4fsqZKxft2rWD2rTtRAcO7KW//3JvTwUKhCUpK8jUNatXcH52BpC6/yBVq9UgxG0sT+48VL1GbXr1lafNqVTf5s2bj26+5U5JZ+Tfw2nJkgWShlOds2aiApPm99z7MEVEHKL/ff6+XHJ6ltZ7dV8RUAQUAUUgcyBw/sJ5ql69FoHQ3LVre6pn+tixI/T8c4/T+fOeQYzkJuB7f926DahHz770/nuvJTeqTBve6b0d6LcrCt+qVTuKuxRH48aOECxKlS5Dd9/9EP3w/ZdyPODGW+nE8eN0kr8rw8ML8ySwcjR69B+0etVyua7/FAEnBE7yIB8UkXaG675WoEg+GZjHYJ8xuKI1JBjciGLgyms8yGUMigaoxxqy4sMY3KTBMLiMWf4tbqhLrQfUp3VMAi4ctVYGIHEdiiUoRAa/21tUmhiEBEFo3N8ijDEMoOO8idtfOUzYlGzhlq7HfS1p7GdzZZAOcYF4hBIErnJhK5iM7ctqtHl/rpJjp38Y7IbLOijoMGBfomJhIX+Mqzqne+2uFS7N7oH5+RjDPs7Bju2LoqJlCopyBAQ1CFMr4WiHuYnLaYuBSmtc1rDW8gAvkBkID/VJb1YUWs2XVLNeM/tOdacAq4Hgkg/uKo0ZhRSO3TC3qztO9Rzx+isjzrsZXE7WZTUQXAlmYSIObcbY6cgEEtCDm2ciNVyQno1OeF/j3nPx7nLNvU7bznc2kzUGL/Fgv6+dsqQJJSUUOzCnegWXtyBWQeiv5cF/YIw8nmSXkU6GsoLshCLUWCyXC8omEEBxIAXiSStcx3PMAnaTbQ8rNNuxWns9D5i34EkDq6Z5lGS45tTv4LqTGaUdXOH6mlPdAXkBV9swyTP3g9lZvQ4iDQo1uLyEq2q464brynl/efqHlJTDLq9ubcApr8i/U1vGdX/m1CbRL2xbvo+qMRGEyRroexDemFu/g/HZS+xq2GpOdQfhUEYYxJAgl1LT/L0H8G5C/WjP7kThvhp9GxT6gZo/zN3evU5xu7UBEPSYeIP+Z/THs7xROdUdxIkyoS/yWvz7HsS4m8FVtb9n4ZZXu3gLstoSSulEFp8f9FfGtS+u4/sF+QamMLxvPTtXEo3Dek6SuFc3+yAJMVEJ5lZKeY6srve1QMooZLDvjQEc+3tnub1fnfokTKywusXHewhuy405vbMw+cyYvJcYd7QF0zeaa9YtsLF7D1jD6b4icM2SmNZHC3eOD913F7361vt07BhmaGWlp//zKG2rXpU2b+EPrHJl6OH776Evv/2B9u7dL7eGhRXgc3ezGi4fzZydIHMvWDCM6tSuSes3bLImoftpjADIsshjR4UQRFJQO+ZlwvnDD96QlBfx9Sf/+xLNmjnVO/hWqFA4qwMbCallsrdyxVLCn7EyrKyswQTVli0b6dZBd9GGDetozOg/5XK79p2pe4++Qv5B6VeZlY7vvvOKkOIIgPDdul8nhFuXzj25bh2hYT9/J/dO+Gc0vfTyO9SgQRNatWoZq/H68cDSMpo82TNgUIvJwhtvus1LYuKm4b/+QOfOJfwQwTmoHAcyqfj77z/Rk0+9hFNe27BhrXdwy3uSd/78Y5j1kMmtR2hzPBGb6IKfg5s4TyNH/kbr1no+qO++52EhFsePGyGEpfUZgIC8c/C9NImJY4PptGkT6elnXqHdTEiC2HQzKFqLMcn67jsvy7OdMX0Svf7GR7Rw4RwmZD1t0S6O/fv3Jior2vnrb3woZLbdPYGcT0qEd5WBxLNnPT9IAokjuWFAYK5YvoTVvQkubd3qnEkDz6Efk82o+zW4nhpzepYmjG4VAUVAEVAEMg8CcTwpb/LkcTLJ6pOP3+bBGf8DMvCk0LVrbypSpCgdORJBU/jbA985bgZvD/99+mWZvIRJVN269Wb1VTYKzRFKDdmLxOnTUfTnn79QTv426Xv9QFZsFqUd27fS8N9+pNizZ8VbhLkfngEGDBhEufPkoRdfepuW8uScGTMmu2UhU193e28H8u3qD4DChYvQXXc9SL/+8oNMeDNh5s2byZPOPL9HMCGvR4/rlMQ04Og2RQh4B/YssUSzazSopOB+DQPyMCilMLAHw6AmBsSsg9Jygf9BkQA3dWYNM3PebEE+wmUj3IvClWpzdi9q1lKECgLE5XxWN2FdK5BdID1PHYuhWuzOzmr5+Rjnjfkrh7kW7BbE2w1PdZC1OUHaGAMO1gE+qDsCMahQsabh7+x+zgzw3fJKd/CZKTIQPRhkNwOi2DckHvINFRSIqjMnY4U8i7Ko5ewwDyRDeC9lZdImUMNgNtY6hctbqyon0Pvt6g4GX6HA8UciB4K5Xd1xqueB5tk3HNzFVmlUVlyQom1BFfvYdzd7g9l5owRhgjXsjIH8hFvBQG3GsKU8iE/U+6E27PZwYuK2a5OoW72Cy8UrTDhCGS1razLx5NYW8KxOHj7NbimTfiOgTHBt6SEFPN886IeMnYiIpsqMHdZThFJo+4p95pJrv+MNmIydQOqOXXRYK3DuH6uEeEUYTNpA+WBpUQ6nNiCJuvxLbls20dm1SVxfP3cHdRjUSN4laJ9Wc+t3QEiiHkBhZ8yp7kBpnlZm+x7gfhdt+Y83pwhhVoJVyabfDSQv/jB3e/c6xev27kU5oK7GewJtyKz56FR30AeCbEI/5TthBYSVtQ+C4tF6jLyif8Bz9DW3vPqGN8cxTISHcR/qz/BeFkV3/EV8v6D/OMPeAAIxrOFtDO5nUXaYlNPiLj7U0ifhOuposGU0xDviSY75e2e5vV+d+iQQ3JiQAhUqzNrvur2zjGtd3Ic+DusDn+X4nMypLTvdp9f+fQgk7T2uQQywsCyIy6goz4wAvBw+/vxL2rlrt5T2jkE308jR47wEJk4i7Hc/DqObb7yBiaQEF7R//D2Kbrmpv8R3DUKVpkWCuu0unkX+xpsf0Suvvktt23VKlF5uVrzdced9cv35F94UohIB4H61e48+VIvdvL7y6nuiQjh96iTPOPeQjQgDNSSmWMH3ubEb+t9CEyeM8TurxoRp3ry1kEeoE7tZ1TCH1Y/Golh9aFySwM3p/v37vAQmwqxevYzzUlOCly5TllW6O82tQsitXr2clXW15NzUKf8kGry7zL8YzvKAn9XwWwGKzbysgDR28eIF+vyzd20JPQw4wlWu3XqiwByuakGkwkB49b3+Rnrt9Q/ohRffok6dupukePAxlBbMn00b1q/xnhMM+Fe0v2cAJUhISCitWumJGzdFR5+mZcsWUTPG1Rg+zaHEePW19+WvT58B3nUiY2PPyj7aJyxnzlwyCBpzJmHGqV29kBss/+rwoO0xJroxYAsDOf3sc6/Ru+//j4nVV6l8+Yre0NiH+7233v6E4E4XKgY7Qx1ZtnSRXIZLYKgscN/b73xG/bmOWWecNWNy/YUX3xAyFeF8XQ7XY5UsSN633/mUnmLSHc8G9suw72jNmhWyb/651TkTrk2bjrR92xYpuznn9CxNGN0qAoqAIqAIZD4EFi+ax98YWdgFfzu/mcckqVtuGUwzZ0yi9959Rbwj3DnkfvHg4PeGRCezEAgzfCvAcufJK99qp5i8/OrLj2Vy0pAhD9CAGwfRP/+MpG+/+ZwKhIUxYdorPpaE+3fu2CbfVKfYSwTecStWLIkPc+1u3N7bgXy7+qIDrxj33f8ojRzxe6LvTN9w5845Dw74htdjRSC5CICI2M+uEDH7HoYBrVqtK9FuXgMRhgHpVjwobwb9ilcMFxIN13atPSBrBRoXbiACQEzAarSsQBXrl5J9uLLbx2timjgwgIaBfhjIHawvZq7BPRzcj5WKXyMT69XhGOfTyuDutv9/O4obNbj1tBoG4M4x4QoVDqxyozJ0aIdHbWoN57uPwWCo9wyBCdxMmXzDJucYitBG3Wt4JCP8Ywz7RiUKErMOu+/dv+kI7WUlW92OVShy/0mJ3gnzQNKPPn6W3Z16fstijTRXyQpHCnLb1CukAVek1t9Xduk61R0o22o0L++tZ7I+GvLDlhLMneq5XT7dzkOBgvXpzOSAhl2qecktp3uxbiPqfLEK4RKsapNyPHCeLSDscAMG8uHyFG7/+j7eLtE4il26TvXKrBuJwe8ju0+Iu+LzFuW2XZzHD7JXK1ZcWuu9UQ1jYB7uhet39vxmhrITLklNvULfsZPbIlwWYj1d08cgLad+xy4vbueDrTsYyIeyCX0oTPrPNpW8yaVFOZzagDdhh51g2rJTm0RSR3gNYRBn9bmOb12615t6IP0O+kjj1jg8fi1mp7rjjTyVd5zeA3Bfe+H8RboAF6Js9bhvhfv0QM0f5m7vXqe43dpAe16zFe6Rx342hxr3rEXSZ3OETnUHClr0V+bdjPQrNSgt/QeIaBB8pv1WalAmybg51oosVKKAZBvEINbjhLnlVQL5+Yd2j/SQBxj6gErxa/ji+wTfKUgHBqIWbTDQCTOozzAQkjV5f/faQ3IMot64gkaf4EuY4zlC7QmiF/kxrtODLaMkGuQ/u/erW5+0e32ETERBX4vy4/1iFPBu76wyNYvJexZZxjrKB7cd86u+tRbparRla/q6n3kQSJhakHnynOycxsaeo7XrN9LrLz9Li5YsZ/UlzwTds09cU+ADuXy5srR1244k8R6LPE6no1k2XqI4h/e8fHbt3kMHDh6itq1b0px5C5Lcoyf8IwCS6t77HqWtWzbRb8OHirvOu+95SNyvGvIGZMxPQ7+WwS64Tn3gwf/w9SghdzCIg1n9v/82lJ8bfOInzMBCiiCw4EIUSgAY1rVEJ7t58wYhP+Wkzz8QTA0bNaVPP3lXrixcODdRCLhl3chqR9gJJjRBuoIsvHzZM7M2D7uyzZ+/oPxQOHHiuLipnTd3pjeOPDz4V6CAx4UNXNTCsE4S3KuBYPtn/EhvWOw88OAT8pJH2TGz/pdh39MFdh1nZ7Vq1ZN4kCe4I4Va00pA4r4mvH4nygA3yrDrmEAsWbIUffvt5xR9+jR17tyDypQpL9eQllUlAcKuZq069Mcfw0RZ6fsMmjZrLepT48JEIuF/R48clnTNcQ2OYycTxG+8/pwoMu666yEhpaFWhVoTBCsIRZDAcJM3atQf4hrX3G9XL3xVJc2atxGlB+5D3u9kN7UYOEW4tu06y6DrRx++KXUProjHjRvJBOxSJjcrUf8BtzLWFpcY8YnjGghBk1bHjl3lmcKtMerPE/95Tp4VVLGifGHVysgRv9HOnduoXr1GdOPA22jRwnkSG8rW9/qb6PvvvhCiFXUWKtnXX3vWW2/jk5WNW50D7iCp4doYihzUKWNOz9KE0a0ioAgoAopA5kMAff8YdhuKbyhMlrJO+kFpevbqJ2rNtfEeFeApIYy/RXryZKJt8aq95JR63949XhfxUHS25HcOXL6buDBxyaxVbo03JuYMRR4/Jq764Tnh32Bu721ft/6+366+GGFiF75XJk/+R75nfa+X4wlZ2dgLBRS38PwxceI43yB6rAikKgITvpxPfR5tJ8QjFA1Lx6/3rl+JtSrhlvTeT/qJoguk0cSvFwg5Bxexhdl96eD3+vD6eNEcLg9N+X6RrE8G9UXHO5pQq/71hcThn+b0zxeeb2dkHuvr3f3R9UK45AnLSdN/8njUwWApBl67DGmGeaz8e4zkGOfTyjDwXpzVPRh0xTqdsD28jtaMnz15mvbjEur5YGtWt10W9dnoj2e7ZgWD+hic7/efDkxcwS1tnJfQxM1Ys9C48rz9zV6iLhvx/gyJt81NDahivVI8QJqPut7VXNzkjf5ktty/dPwG6nJXM7rr/T4SFuuM4hzsKA+052UiGYO552MvyOAzzhmzw9xcd9qum7Od+j3ZgWrwwCUUlmM4P1YXxP7unT18BePWitdhKyOD/xhcHf/5XKkf/sKbc051B+5zF41ZR4Ne78EqP9S53EI+Q3HkhrmJ39/WqZ77Cx/IuQ3zQSK2p+seaSvrSFrdADvdj7XW0I4GPN1RFLUo2zEmow3R73Sv9dr8Eatp4AtdCYTGrF+XWy8l2XeqVyBbLrKrxn1MOuJbJZKfwYkIj4gASuAbuF5AlQXF9Z1v92bS4qAorKEWmvjVAup2T3N2Fc1uZHOH8PqaJwjtCTZj2DKpU1g3F65tMYHAlBF1DCQuFG9mDc6R3D5AqDr1O0kKFuCJYOsOyNjFY9fJJAisu5crb05295zgAjMtyuHUBgIpbjBt2alNmjR3rNhP1ZqVS6z85Ytu/Q7WS4YKHmvERuyKpKnfLxZixKnumDRTc+v0HoACb+wnc7gttxE1XuSBU4T2HajZYe707nWK26kNYMJNqWpFadgLE0RRiTWte7InhN9enyKuyO36T6Q3+dtF1Iv77Ps+u4HfdXEEJT+ITfT1cJHcn11DR7J7eahIQVrmYEWjrA3J94IIbN6nDruIv07e21P4OWISkFNencoo3wL8vujBHg3aDmwgbqgx2WTnqgPyfYLvlEGvdpfvi3NnLtD4LxKP+TrFjb7q9jd7yiQLrMdrlN7oB/tzv4vJB+ATMNHC9EmIDxM5dq87SEPeu05c1q6YvEnU5sGW0SmPbtec3q9OfdKqqZupJHu+uP+z/rIu6L5Nh73Kf7d31iZWxQMftIcQVqyO/XSON5t23zRu7wFvBLrzr0cgC7tg5M9+dytRwjOr0D1k2oUoUaVpwJGDNLOuiYnOpWH9utSA/2rWqCaKuo8/+1JIyh++/pwG83pyIMd87Y1XnqeRY8bTOiZBsSbm08+/Im60XnzuSXr+pTeoebPGAa+JGbE9QbHmm861flypUlVZOxEkEtYchWG9H7gS/fmnb0SBCddlY8f85YWiS5eeVIIJPRBRILIqMIn5yy/fe6+bncKFi9Jjjz8j61NiXUmPO7RXhCyCi1coBuAKFGtiWg2ut1q1bsdKx/etp2W/fv3GTLRdR599+q64eAUp9vQzL4vabclidnfEBCXcgpUrV5Ge/u+DrIYsLoQWXIKuZyUj8tqgYVNxvfbVl5944weRhfvgxhbqTKNM6MxlXcBrScKdbB52k/vQQ08KIWnczyKCjz/9lt59+yVZExN4QiFsBsSat2jLBNkAIQoNkYs6D7XlCCbVMNiINvHeB1/Qd9/+T9y/IU6s6/nW25/K2p2+BChwQxognWG+z6ADE3rIxw/f/59cN/+gNuzcpTd9/NEbohRp0aKd7JvrwGYIE5mvvPyUkK+333Gv4IRBTqg7YX/+8bNgAWWuU70wcRYsWIieff51eu2VZ/i+WFGR4BzWDwUOqCNQZf73qQd5LdGeopD94n8fmtvZ3e8NVK1a7UT5xEW4eQXZO3HiGAmbP38B7jsuCCkMpQpc/R5l5SfIX6x5uoeJWOszAzm7dy/PbuN6DVJ+LastF3P9MdaQ6wjWNcN6prAH+bnD7TDWxHSrc/hxOJgVMSBQVyxfzK6TGwvRbtbENGlg6/ssrdd0XxFQBBQBRSDjI4D3I9agfunFJyWzd/C7E98Mf//9K39/PM8TZuYKqfneB/9HH7z3Kk+WOewtVNmy5enRx56hZ595JMkkMHhHgAcITBLDpJ33+TsBk46wFjZclWfndx2+I4zBk8CPP3zlXZMT3zU3Dbxd7vG9H5PBevW6Xlzxm/uv5W0g721Tft9vV3PebOHpAWt0Y+33Tz5+S56HuYYtvmkwgQ6eSDCRrVixEjRnznSCUvdqWERERIqSDQ/3KIlSFInenDoIMBmIiaD4zrQzKFHslAxQHuRkEgKqSl8DsQkCEG4wfePHeSjREq2zFR8BXJNlz5Et0fpM1rgxeAj1RyILoByJwqfiAZRGySVTUQb8YTA3Nc14KbK6YET8IAqN+zn8VvJ9Hm6YO+UR8eF5JXkmTjfxtZCcjAHXreRi4FR3uCrLGoSxrB7ydX1oi3kAdcepnrsU0/YySDis+XeBibnkGJ4llM3Jxc2ahkfBmCWRq07rdd9923plrUuMo5h9V+IbrRCRdhjgOYPAMnUVKtQe97eiP9gVszEQ+8ABhJcxp37HhEnu1rbuuESEZwXlFsgdisclzcvh0AZcsivjKMG0Zac22bhHDannq2dsTZK8W7+DdscVwK+qK9j2kyQTqXGCMQ/Nlfz3AJJ26j+d3r1O2Q66DbjUHbzr0B5939uYrBDC7wB/3wEmn3jW/vq6oPPKEYN0BJEKQszXkovdQ1/eSL+9NlnKhjL6TsZBXUQ9t7blJGni24RJXtPWzXW7Msq7GIGT0WdKnPycXL/bbN6v/vokk09soWLFJAt/mDq1ObxTcufHmrAsMkpmeZziteZN9zM3AuBtjFWo7PFwaY7NdveOTbJr/Z35r1BiotToeFauXit/OB44oB8NuKEvffXtj0ySnGYSqgivM5P0B3jh8EI8EJTYFUzk8eO0dNlK6t2rG5MkxxGdmgsC4eyeDOsqQR1nNZCMxo4dTRhww7nIyKO2KkpzD0glKDxHjfzdu05QV1bDrVu3SlSCJpy/LVyeLl2yMMklEHN9+g5gUvRTGSBEgLi4izyI9A61YzVmPSaLDkccFFe1t91+t9QtuDDFdajiGjVuJiThokVzqXTpconih6IPfyA9n+EBqI0bPSpJrAVpDKoKuGiF+1wrIWauYwuln9WWL1tIffv2pzKc3rZtno92lANE2/b447CwgpQ1SzbatXOH91YMgPpTSHTs2E3WwIT7ODs7eeIE5avvcctjDYPBULhMMxYZmfi5HmNiMV++fELSQdERFXWC/vj9ZwkOJStUB/VZUQCyGBZIvQAxvH7daiEwcQ+I8prsUq9JkxZeF8DGZW0Rdr+7ndfwshrW9AKJaTWsRwo15ccfveU9jY4Wa5lCYQu1I9zuHed6CitSpBjNmD7ZGxY7eE4Y1IRh7TCjyJUT/M+4+TXH1q1bncPAMZ7pShcXfYE8S2u6uq8IKAKKgCKQ8REYz94cnn3udVq0OIG0ys4eArLyACK+t6x2kdfSxDm8B309WVjD+dv397vzSnJ/jfqL+Bo85/beNkX29+1qrlm3mKgGN/0PPvQET7j7gKButRq+mcyamJiU9hqvC441yQ8f9ri7sobVfUUgYAS40bu1cTsCE2mAKIo55Zmw6psmiDR/a2YinBMBg4FOf4OdJn6/ZFkA5TD3p/Y2uQQm0kcZ/JYjhZnzJS9NdIbAxLEhhcw1bN0wt4b13Ud8wZQFSh2j1vGN0+nYqe7gdWVX52wxD6DuONVzp7w6XQNBF4zhWTpiEECkl3mduuSMNNvWK372XrPses+57Dhh4FvGGF7PNRe7te4wqLGoi0FgVGY3kmMsqh8k59TvuGTH9rJt3bG9w3MBz8q4jjZB07wc/Bzs2oDJg9022Lbs+6xAIHUe3FQUfpXY1TbWNfZnbv2O70QEaxxOdccaLl32GfNg3gPImxPmTu9ep3IF3QZc6o5dGUFq+hKbvvmze6cHnVdOwIk0DRY7TIDxZ6iLvm3ZN5zde9CujP7exb5x+j3m5+T63WbzfvXXJ1nTgPtgO3Nqc3inBNvvOMVrlxc9/+9B4JolMXPwQA46AQzW1K5Zg2rVrE5/jfSoqfB416xdTwNv7CdPesOmLdS6ZTP6e2RipV71auyy4sIFOhYZmaRGjJ8wmd598xWaOz8pCZYksJ4QpVncxTiCSsxuAK0AEzJWg+tVo1Cznjf7WCvx3vseF0WjcZtWqFA4te/QVdxzQmkJy5Urt9QFqB+xfhMMM+Bx/OMPiVWEOHfzLXeIitNKOGGtynz589O0aRPlfvxr1bo9RRw6KMelSpWh8+fP0fhxI7zXBzNhu2fvbiGaMKP+xx+/8l4DeXueFYOleK3Nc+zqtUSJUrSc1XTGQpgsg+LPzrCW5Up2hWrwyZYtOxOWPNPHck+z5q1oObt5My/DM0yOYo3PXLlzJXI/V6BAgUTJtGjRRlyjfvP1Z14CMFGA+IODB/fLzH88ByhdjUGdeuDgPnPILnfDvPvYKcsYYyAOg33A27qWKK4fZTK7FCtwjbnVC8xYatasJbvT/dncQjVr1qHm7F72f5+/J0Q03K5iTU4YBgTzcJ6thgFFX2vQoDET4/uFTDfXoBqF2+FlSz3t/qabbjeXJN7cuXN7j7GDeM3apydPnqQKFSsnIqDhWvgQ1yEQ9r7mVuf6D7iF1Rf5veUKCckhylmsd/ruO69IfQz0WfqmrceKgCKgCCgCGRsBvP9nz5qaaG1meGKAMq9mjTre7xOUAt8ox3kCkT+PI2ldSut4ZlqndbXjd3tvI3/+vl2d8j1r5lRxHQ/3819/9QlPoPL/bYhJaYcjDvF3ZRklMZ0A1WuKgCKgCCgC1wQCICWGvTSRyrBLzLzsrhbudH9/Y2rQ5NHVAuVaKYcTfijjRnYxCdfYoz+aFbDi1ylOvaYIpCUCcGcN98hqioAikLEQyJqxspN6uanJpCVUklBkHTh0iFq3ak5FCie4KmrSuCFt37lLEhwxehx1bNeGmjVp5M1A0SKF6a47BtFfI8b4Jd3OMvE0YfI06t6ts/ce3bFHYDe7zIRyDUpFrOEI4gnux0DGGWvK6zeChIRBqQiCZ/Wq5eZyoi1Ucvfe9wjNmjkpkZoN7s+ef/ZRdmv2LL391ovyh/WgFi6Yw4Tll944mrFyD2pNDPoYgyuuWwcNYfeoX1IEKy2tdpEJt3vueZhJu+JyGvns1KkbzZ03U45BkkFlmiuexKpWrSZVqVqdli5dIAOKRfk+pAlD2bF+FHAACYoBqev73cRlLyzXQbDCzSjc0tpZcSY9obBDXFBbtm3La2GciaYDBzzkIdZRqlu3Iae/yBsF8IdKs1vX3nIfLrRkl75QFRpr0LAJNW7SnF3Ofi4kmDnvbwsiFkpSkGnsllqCVKlSnWrxGpgL5s/23lKe12yqUdOjcoSrXBBrq+Kf67btWzi9FuIKDTdAWVinTgPaviNBKelWL6pUrSFE7c4dCepUkIcgSs3zrc+EpLH169bwWqjNhMjGObhhw3qnvgYS2Fepi3hPHPdMasBAZLXqNby3QQnarn0XJhJzyrnSTFDjGRhbzq6GQayjbsOg4oSrPjwXf+ZW5z54/3VxyWvq+ZjRf9K+fXukzoNQT86z9Je+nlMEFAFFQBHI2AjMmjWNJ8vkZ68PZb0ZnTN7OsHTRFX+DoHh26Jb995CeHoDpdMOiNOwggXFdX06JXlVk3F7b9t9u7pleuyYv9l1bCTdeef9oqb1DY9vQXx/YfLf/n17fS/rsSKgCCgCioAicE0iADUU1qXdMHcH7Vi5P9MRmOahXCvlMOXxt8WaelsW78m0z8hfmfTctYsA1t4NVr157aKiJVMErj4C15wSs3fPbtS0SUMmLAvT90N/EYSjok7R0GG/0VNPPMzEzAUeTAmlffsP0A8/DZfrx45F0hvvfEh33nYL3di/L5MKnnUIoNyEC1o7mzVnHnXt3MHusp63IABXZj+w6nHgwDuoW7fr+DnECuGC9XuMQYmINQahDASxNnv2NFq7dqW5nGh79z0PsYqvAhNot8qfuQilpa971MtXLtOly5e8CgS4U2vStAX9+usP5jZRzGFNQxBTjz72tPc8SPBXX3mazrB6bxyrLG8ddBe7Qs0vJOCUyeNlrUkEhssvqOyeeOJ5CmEVMEgk5MWsT4n1owbefAfB1S3WjIqJiWZl5pdCtIFsGzd2hKQLQrNAWBjNnzdLiFdvRnx2xo39WwjXl195V9KDIgMkLXCGNWzUlPHdLYNe1lv/+vMXuuXWwYT7kNamjetkzUaEwQDYoEF308W4C/TSy+94b9vB5CDWLfVnf/4xTIi4V159T/AFafgtr7kJtaMxYAO3rL169RPiEMcTJ3hU0SA78+crIGs7xcbGMAGYi5/7dFq3dpW5XRSqTvWiOQ/WLl+22Ks4xY2rV6+QtUdRjtjYs961u3Btz56dNGnSWF5H9VkhfqFehfveBg2b4bIYyOrixUvRmjWJ69/kSeN4Pc8HZG3US5fiEq05hrpcKLwwvfjS2/J8I48dTeTqdemS+VzWfPSfJ5+XdT5RD0f8PVz2TbrWrVudM8/a3GMUNjgfzLM08ehWEVAEFAFFIHMgAI8G+H4YcteD3gzP48lVcH0ObxB4T8FmsWITay2nt8Fjw6YN6/ib4z35nvv7r1/TOwvpmp7bezs5367WjMOjxu+//UT33f+YuLTHtxwMSxrgnY+JZPC2MfyXH8SbhfVe3VcEFAFFQBFQBBQBRUARUAQUAUVAEVAEMjsCWfiHL3tQdrcSJUq4B0rjECWqNHVNAbOR8+bJQ2diYhKRGuZGrBmDH/wgp/wZiAUPCeVfHeXvnkDPRWxfFmjQazocZqKDOLJzK4tndP58wqLtGQ0MkJB26jnk1ek66haUk0Yh6Fu2PHnyimtW4wLW97rvMQau4EYWpGlyDM8AbQADoKlhaHehoaG25UIaHrVmFr9p4ndap+gAACPfSURBVP7c3G7P2rRb3B9MvQApfY7d9vqra5ImXweJnByDgjY0NAeTo7F+b8N1DCAjXX+GdOHi2OqC11846zmnOmUNp/uKgCKgCCgCioBBAN8UyX3HmXtTc4t3YlzcJX4X+//2Ts20Mkpc/7b3dkRERIqgDw9P8JaTooj0ZkVAEVAEFAFFQBFQBBQBRUARUAQUgQyLAMYHjFWo7PEgZY7NdveOTbJr/Z2ZqZSYV3h9yyxMMjoZyJ9ono1sZ3bkkQkPsgMEWmob8q7mQcCNcHN7RlcbRycCE3lzug4CHX92ltzBRqjvjALPLk5/592egb97nM6h3bk9N6d84v4Yh3aLtN3i95c/J6JQ0kwmgYk0MAhrR2Ca63YEJq4jXad8IYyvOdUp37B6rAgoAoqAIqAIAIHkflOkFWp26zimVXoZIV59b2eEp6B5UAQUAUVAEVAEFAFFQBFQBBQBRUARuBYQcGYEM1gJL5w9lcFyFHh2MnPeAy+lhlQEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEUo5ApiIxo08cosyoaESekXc1RUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARcEcgU5GYF8/H0PEDm+n8mZOZgswEeYm8Is/Iu5oioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAi4I5Cp1sREcUAGnojY7l4yDaEIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKZEoFMpcTMlAhrphUBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRSBZCCiJmSy4NLAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAikNQJKYqY1whq/IqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIJAsBJTGTBZcGVgQUAUVAEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQUgbRGQEnMtEZY41cEFAFFQBFQBBQBRUARUAQUAUVAEVAEMggCWbNloapNylKWLFkySI5SPxv/hjKmBmrhpQpQrTaVAo4qd/6cVK5WiYDDa0AfBFK5yWXUep4tJBu16l/Pp/B6WLJyEWp/ayNqPaA+5Q/Po4BkAgSS20emVZHK1ylJufKGJoq+Zb+6hD45pZac9tr25oaE8OltRcoWpMKlw9I7WU0vSAScvi9xDe8uNUUguQhkT+4NGl4RUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQyJwJ5CuSijrc3oYPbjlHMqdhUKUTegrmpRKVw2r5if6rEF0gkRcsVopAc2ejg9mNJgqdFGZMkkkonnMqRSknYRlOwWH4mJYvTxvk7bcNYL5SuVpSa9KpFezdGWE//6/cxKFu9eXlqycTdulnbaPmkTV5MMODfjgf+K9YvRXEXLtGBrUdp5i/L6MrlKxRWNC/d9kYvS9isdHjXcfrr7Wnec047GbWeZ8uelWq3rUwLR611yn6Kr12NfifYTIMM6/lAK5o2dAnlyBVCTa+rTTN+XhpsdHpfOiGQ3D4yrbLV+sb6tHjsOtq56oA3ifqdq9H6uTu8x8HuJKe9Nu5Rk+b9uSrYpIK+rzZPtrl86TLNTYe0H/7qRibZstKVK0SxZ87T9uX7aP7fq/mYT6jJBIwWTKBjMtwX9/+VCJG6HapQk5415VmdORlLE79eQGdPn/OGad63DlVpXJZCQrPJ9yJwVVMEAkVAScxAkdJwioAioAgoAoqAIqAIKAKKgCKgCCgCikAmRyD6xFn65rFRqVoKkFtVm5ZNVxKzXscqFLk/yi+JmRZlTFXALJE5lcMSLEPsbuPBXPypJUagZJUilCt/KB3ZfTzxBT7C4HvcxUs09JlxPLB7RYgsnAP5EHX0DP3fAwmDwCC5Dvkh5ZNEGn8iQ9fzdBDaXI1+x+5ZuJ2Hgnnbin20b9NhCbpjVfpN+HDLm17P+AgMf2VS2mYyHdprSgow+7cVKbk9WfdmyZqVfnx6nJBvUL/2fqQNgZxbyxNU1Ihqtq5Ie9YfouotyieCA0pZEJTDX51M589eoDrtKovyfNI3CyVczVYVqFCJ/PTba5NlEk+hkvkT3a8HioAbAkpiuiGk1xUBRUARUAQUAUVAEVAEFAFFQBFQBBSBawCBRt1rENQbsGEv/CPKMFOsIe/3EYVY58HNKJSVQpN54GnPBo/iLl+h3EK+5AnLRdlZWbaD1SBzfl8ps+0xwFejeQWJ5u6PClHUkdM06sNZJlrq/3RH2rJ4DzVj5VEudn23bvZ2UTW0uqEeHTsQRduW7ZWwtXhgLA8rOpf9s0GO8xTISZ3ubEqlqhalMyfPsgplPe1YuV/ckA15vy8VKu4ZAGvIZdq8aDctGu1RfTmVEaq4Tnc0oQr1SlH08RhaPGYd7V53SNIDgYT4G3arTkXKFKRlEzbS0vi8QKnSeUgzKs15gULj+MEoVlQtlXzJzQ7/GnatTg26VCNoOC6eu0izfl3BKtijruWASg+K2WIVwoUcm/XrciG9kFROHlgd+HwXVvxtpHa3NJIBQaj7jBK2XseqVL9TVVY7ZKedqz3PCioSKAbhzrIaqwYvMbG2ZckeRBeQ9X64jeQlcv9JGvf53ET3ONWdRAEtB0XZPWDrGxtQrnyhlJ0VtVuX7pVBzzUztnqVjHbluO2NnnTi0CmCi0WokxAu6mg0jf10jqRQoW5JglIkH7vs3L32INfr5VJeXMQ1KEgunI8TghFEIMoD93YdBjWmkR/MlDjw7+aXutI/X8xjxXKCksR70bKD54m/vGG5LWc9uxj4Bu5GxQPiHao8X8uRM0Tq5fQA1XlO9TyY52HyA6VV3Q6V5XDd7B20YnKCqtSuLSMwBqjxPNE/WJWouIY2jHoXmjuE+4czNPm7hRQbfR6XbJ/HycOn5brdP7d+x6kcdnHWaFGBipQrSPkL5+F8laKje07QlO8X0aljZ+QWKD+73t2cCvD1uIuXadqPi+kIh4HZ1SuU4yZuq6jvMAzyb164ixZx3wNz6pNw3Q7zbve0oKxZs0idWcHK3wqs9M3L/TMIgnMxF3CrX0O/0vWuFtzvHZQ++SwrzWb+vMyrrnYqh1tei1cMpw63NaGCxfLJBJMZw5bSiQjPc7Rry8ikXR/pds3peTi9s/wCE3/SrY8Mthx4b7RhNWW1ZuVkMsMGVr8vGbdeUnXCHBMketzfSsKhvu3ffCRR9is1KE3NWN2WjeNHPVg2caP3ulNendqrNwKbnTI1ilGXu5rLd8KU7xZ536FOzyPodxbX8bs+6Cs5WT9nu7yXTbZQ3xp0qU5H956g5n1qSz+N/hvfC6llUGLuWnOQ4M4W5lYOp37HqX049ZHAu9MdTaW9Z+HnvJyfMb6jYE7XnNqrWzkkcpt/qLeI29ci+Xtu9EezvO+6Y/ytYL43EbZuh6o06ZsF8t2I4+MHT2HjaG7fCVC1d7itMZXnSSLI0+bFu2nObyslD134m23n6oP8/Dzq5apNy1FR7t8XjFjjmKZezLgIKImZcZ+N5kwRUAQUAUVAEVAEFAFFQBFQBBQBRUARSDUEVk/fQmtnbqNHvxsoxIo1YsyQr8MuIKH4KFuzOLVj0mHPCxMkCAZDjzH58tc704WkwLpYICRARGAQE4P9mIUvBMxla6zEA/55qRETIyN4cDE2+pyQAwgBQvT0iRhv4NA8OSg3E1owDCQPeLYzrZ+zgyZ8OZ/dbuYTQg+DiXAp98tLE6jPo+2EAN2ydI8MCpuInMrYeTAGArPSUFZZIL/9nuxAf7LrThBiGPRu1qcO/fN/8+hS3GUa/E5vWssDhed4ELN0tWJUvHw4/chqOrCRIJBABrgNloLQAVbfPTFaVB0YkMZgJQgvqPLsyoHBuH5PdaTV07bQ2M/mCrmH419emihkHMgLuKEtV7sk/fDkWCECQdjBoPjCAPXvr0+hS4xV//92FMUEiF4oI/JyOb99fBTlY0IGZODeeKLa4Ge3nfztQipeqTB15AFDX3OqO75hzTHKWKxCIfr+P2No4ItdZb03kJDd7m0hJJhTOUAyT/1hMeMfK25Lh704gR7+6iZ2L5yd8jHBhEH/MZ/MFiIFz7wzk+EID8OgZy2u53P/WMkqyL+ZCC0hLgPxnPMXySsENgZfQa4WZKLcjcA05XHaGgITYUpXL0qb+Fn4WlUmN/ZvPsxEd5zvJb/HTvU8mOeBRGq2qsh4VpJ2jnp+43Odpd5uYtINZteWC5UswCRCHU/9jLtE1z/RnoywC0omTBD4+93pQgZiHb+2NzWgqT8ukTjtnodcdPjn1O+4lcMuWvRp9VhxhbxhEkeL6+tKXfrzralyy3U8YQMkEVx6gjzoxcT+T8+MlwFzp3KMeH8GwY0iMFkyfj1POkjIgVOfhFB2mKO/2sUE/ebFe7gfa899zBhCXOhj0E/aWdbs2ahE5cLcn5+krx4ZIRMB+jzWlr5/coyQn07lcMor+p8buI9C/7l/yxGqyBNF4FYSWDq1Zac+0ukayuf0PJzeWXbY4LxTHxlsORAvJkigLfz0/D9COIKERjsFyeuEecSOSBrG91zPzzgkNARRJTKsafwrvxcwYeXWV7vTAX63QM3tlFen9poocpsDpDn85UnclxWTcu1eN15COj2PYN9ZcLuN8jfmuuS7/ifqR5XGZQgTBb5+dJS47W7auxZPFFpuk/PAT4N0xjsqjN8JUM4bctipHE79jlP7cOsjMTlk4ag1MkkJRHEzJmyNOV1zaq9O5TBxB7NN9K7j7yard4K8BXPJN2Z9ntSFSWQTvlog315O6bh9J6AOHOKlEaZxP4PJUNc/3p6VohXYRf4uIfzrtKvkJTHRZ2MSllrmRSBr5s265lwRUAQUAUVAEVAEFAFFQBFQBBQBRUARUAQCRQDEGVxb+jMQh/N4faILsRdl0CeM1TSGicA6fVjTD4qROCYpMEholFRY5w8DjVj3CATMxQtJSRgoBzBohbDb2aWimGE5/GQG6zQi7Com8ZBnDPSO/HCmEJgIjnSsaUJVaMyujFDaQWk1e/hyusgqvIidkaJEhCrP2Kqpm1kpFi15xSA/Bplhx5nkBOkKggNE2copm2VtQ3Of3RZYgyCFChXrF2JwGVgYsytH8fKFpKxrmHAGaQs1H7Y4b7V5f64UvE8ztiBGYbV50G7trO08AJuVcuTMzu5f91L52iXkGlz+Iu/ADvdsXOAhp+Siyz8Qu5f5z5851R1/4c25Y/tOSn0EGYx1NqF6geoV5lQO4Ip7o/k+uOdEec7FnKesfC+eJxSmeL6oi3BDWKNlBVFamnShrBMcWJ0KJe7/t3cmQHoUVRzvJZuwBHJoQIOISIjhiCAEEeSGiDFCwhFQSjwQb0vLq7SsUksty9uy8EIty/IutbQEIVwikgQEEiJi2IgpIokYIChocBOOIIvv15vezH7b3TPf922+7Kz/R2Vnvpnp69fTPUO/ee+hwER6zcUrCmCEex0r1pEUFlFRjAbr42Les8xCb83y6q56U/c5ebbaH7NPmOEXy7dseszHy2XhnGNFiY3lmUfu61abohOO3NOwDYLlIYpy3Av22IcKa8zyej+zoC1Kqj+K1zTu5+adKu1ozC/8xqKX/uF+/71Zd+9tinuUJ8yH1P8+i2nKlvsP67dJ07Zb36bawf3Jv37+2XwWFvqrzEnUK8ac4yi4GDt8YEJ8Yywww/jhfEpQeNE26oLC88F1/7IPIgbmCNLE2lFWVyy/e5f9dcBS0BTg5Hutxf9EysZyao7MzZ9l/ZF7ZvlKJf7k5shW24FyBWXKb753qx8f9NOvv7p00EqVqsSYc5x7BQ5FxTfHgyy/vNc/e0nPfI5lJpKra268hnxzW2LdbjWvAli5Y7XcZR/VlPVHyK/ZZxbpaD/Pv5jwHoJlIOdx0TzNPqgYCbnwswvc27+6yKHg5xmKhV9RYu3IzTu58VE2R260Z9mLbHzx8Q7j/fofrBisSupc2XgNGcTaEc61s2XO5GOvYJXPvDTFFMJd9h52yTt/4b1cvPJtx1YqIveewHsnrtmZX7vsvz9et8Y+MJnu873bPGvw0diuEyf433huwDJTUl8CssSsb9+p5iIgAiIgAiIgAiIgAiIgAiIgAiIwIgRYYEfRiLC4jSVWt1ntsIDI4iBWfVgT4eIV166rzR1eEJRHLPqnJLgULJ7P6DDdM2whEtdkQ8TqUxQWxYrKy+K52P6UvSZ5BW3R1SLuzFAsBWEhOAjKXNzqIiwc/twsNl96zmHu+HMPd6vMQpSF3NTCasiDLdarWJ9d+NkzTFG30SvVUBIFibVjz32nesVpuIYtilSO37ctZuLWJ56MWglitYo1ypyXD7gNJm1IM9mspVj0C/KfhzY7rCPaldy9k8ubdIit0w+7f3LtYMEyJHzKlOpFwcK26HKR/qYv6f/govTfphSPCUqAC8yaaenPb3czTBnQu3T7PR67vpljWOLMf+ux3rLWj69C4vGmbOY+XHzJjYWjre+22h+wK7r4Y59jRYmNZe4rrLGD/Ochm0fsowhkilksP98UwrjxC+LPhx+2TfVH4ZLobmreqdKOaIbUZWPf4CnuM+ZErB53m9RjY2WiO/dDcwfPY1mOG+AgzbajypxE3jHmHA/K0NTHBVwTExSejIkgj/yzz9o4YMnNsVg7yuqKcn7tHxqU8NuGaW4sU15ujkydI89cf5Q9syg3Jrk5stV2kG6zzflF5t6/eKECMeaF08ldngtB+mzc4X4cydU1N15DXrlteE/g/uO5j5K2rD/Ir5VnVq4enOMZFsQ/s82aeiSEGMbFZ2Uxz1Q7cvNObnyUzZG47j/Cnudnvvckx7vD0p/dPhg7OXWubLzSnlQ7im1tZR8r1gXvOtErl8Mzl/dHPh676Zd3+HdL3MdjnYyCkQ9ccpJ7T+DeIx+sgp+wZz33/9//MhB3mPdDYngfaG5kN6x50H9kw7ucpL4EpMSsb9+p5iIgAiIgAiIgAiIgAiIgAiIgAiLQEQJYXfAPN6Znve9kv3gYlEVPm9IzZwE0qHQq1JSYhEUFQM/uA65kuWSLLTRNNTdxOenv7zfLu+FxmVJp+sx1LRZUuB9DMYtgRVVUXG5bc49mwWLx4q/faBaVPW6+ucdEoRvicEYTbDvIAh3WgDealStxGoktiUI0SKwdj/xzi5tdUCpw7WT7zfEgMaace9TiN95x/ZrBOGXherYoL7CGwNoUgcdolVw7cnWmP4vWcfQ37dxssS+DpNixQPzQBou1aS55956xp7vqmzeFJG1tWag95wOn+HioxG9rlP3NQgTL0SFKjsaLOvAb5SLK1qA0Y79R4Rhjx301ea/tSjBcQwdBEYBl7DJbeE9JLM/UtcXjqXmnSjuK+RT3sbQuCrHjUEChaGdB/scfv7p4esh+s+2oMidRQLP5DqlU5Ed3pI3FDyti5ZXVlfRTTFkXk7KxnJsjU+e4r8r6I/fMitWTY7k5stV2cP+gcMU1ZurDmxjzVB2Lx3FFGwQX2Js3DcxzubrmxmvIq9ltlf5ItTFX17J6MC47Lal25Oad7PgomSNRFt9+7V+8Zwos9hd9cK771rt+6T0NpM6VjVeYpdrRFk/7doWPdR5c/7D3IDGYl/UT8acn2scgQTmMNX27cuKr53gL9O992FwaWxm4UX7JgtmD2WKlecoFR/p3gGZigA9moJ1RRWDo0zlTta1b85rxTFKdEgEREAEREAEREAEREAEREAERqAmBCRO2L0DXpMqq5g4mcILFsCOWJi5IUcI8fN8mH4MrFEtsS76ER1j0J95SWKgK1zRucSFITEdcT+L6DDd4xAREsFg87Y1H+2O49OT8/hZjjVh0QfoeftRcx002t4VuILaYKRgarVvCtWxZMCNW25x5B7kVi1f7Ra3Zxx/grqxg/YY7UhbTcZFIjMR7rX5YZpUJCkNirGF94C1azb1Z0W0j6WPtQKGFe759LL4dVpTEueM3x8vknj9tMKuNg7x7Viz+cIOLpRauWtfd+YA74mUH+nO4wpx11H5DLO/K8u7k+Vw7cvVAcXH6O09wK6++y1tezDEW9HvMzXEsn95la93LLV7d+jvvH7BIjl3UxDGUYsQlZREa67CY4N4xF8cwlmZHHGOs4QIQ174I+1Vc6q43l7wL33OSW3HFau9m8hAbL9sMMT3Hc23R/TYbc9yDWOkQTzYoSttpR2reabUd1GXfQ57txwxKB+YkLHfYx1UuYz6MSa7F8mqYxTgnKko7c1LFIqKX9ZhSHffg3HMo13C5eP0P83EEy+qKguBMuwfuMrfCm/6x2ceUJfYi7ndzYzk3R+bO8QzK9UfZMysKxg7m5shW28G9g7tvrPiJxYtwb+HKuoo1v0+Q+MNYI+4g88xBxzzfXNYu91fm6pobr4liSg+X9Ucug1xdc+mqnGOM8lEF9+GOlty8kxsfPGtScySueonpvOQnA67jGbP95n0At6y5c08+9t+W33fa4XTqa4/ybrOXbLvPi3mttfcf3r9u+sUdfu7EiwLvVe0IFsDefbkpMOGBxWpRGBt8REQcTuKES+pNoLISs97NVO1FQAREQAREQAREQAREQAREQAQ6ReDgF77Y3dW70hdX3O9U+SonTuClZx3qFVdYhFzwifkWw2ytV/bEr95+FIXk+R+b510rjjf3iQ9ZvEji3AVZ96f73TELDzWXqQu88uKa79xSqsT8883r3KEnv8Cd/9F5Phu+3CdWG8LC1mVfWermv+VYd+Krj/AWmywCFpWYq5bc7c5+/ynu4ONmWJyxJ92lX77Bf5Gfa+Pib9zoFr77JB8jEQu95ZffWSm2JZYip77+KHfcosO9MhIFzRVfW+brWvbnOTP3cm/60lneEnD3qT3uum2LzCFdqh2XXbzEK3KxNKE8fldZ8MPV7Z4WO+vCzy10j1h8P9xEXvOdm70CiZifzzFL0LddvMjnRTzJKXvuEaqS3Z79vlPctH2meCvHN3z6DFN6rKjELptp5mSuHZlkvk70K25hURw/vnmru/xrS3NJhpxba4ryM99zsltz69+GHG/1B4un07fFVSQ2KrLexs5vvz+gbCB+5QxT0C+/orepInL3eVMZFS4mvt5pFx3tLvr8Qn90gy38c6xMUK6vuuFu99aLzzFrmy1e8Rms/XBJe/Olq9wFn5zvXbXimhWF7kgoMVPzTqvtoJ3EX2NewUqJuG6XW+xCBLeZV15yk5v35mNMqWluZM1tJR90/Oa7A3Ef/UUt/Gl1TmqhqMEkWOK96NRZ3pocReFSi61bxc1irq4o6XCx/ZqPz/d57WYfsyz56YD1bdlYzs2RqXNl/VH2zBqE0bCTmyPbacfV377Znf6O4/wY+a/F6kXRC7Oie/OGqvifxObF2oyPWPho535TWga307gzRnHzhs+c4eCNO+wN9sEGkqtrbrz6xC38KeuPXJa5umJd+qoPn+YmmgcEPoDA0u4nn7zaf5SUyzOc40MMYlv/9FPXhkM7bJubd3LjIzdH4uGCPr7oCwvtnulzu9tHB7fanIzVPq5UU+doZG687ggI02dMc0fOO9g8RvS5N3/xLF/EE1bPH33sSr9/y2WrHO8RvD/QritHwNPBbVetdsefd4S9S850uEn+t3mZCO+RoY1rV/7dHXj0fpXmuJBG29FJoKu7u9teictl2rQBv9rlV+oKERABERABERABERABERABERCBuhJoxhLzgQe2K7KK7S0qLov7xWvY1/9nNhIZvb9RtmDVx8IpC5YxwT3sVlMoFoV0IXZb8bjfN+UcSrZHbVE9lSfuW1nojZ0nbxbyiLXUjGC1UtUyr5gvSg0UY826/YQL9UxZp+bawYJcrH0sXubcwbHgS32xImvkj7Usit8Y02J7R8N+rh1l9Yv2s91zZsMyjEnIi8XV133qdPeDjyzO8g3Xj8UtzJFGK7HsWLbr4Y2FUHR8GPc9pk70yvQhLjVL+sNXpORPbN4hSaodqewOnzvL7W0fHaD0n2TKAtwfNo4d0qJYeerJ/qFzXZvtiN6rVlYZ81RbUsexjjzP4np++72/8rE+H+t7ws9pg9dXaEeqruRBfXlOeLemDavNubGcmyNz5ygz2h+FuuSeWaSPSW6ObLUdlINVGPfUkDFSgXmsjuEYCkzm8sZnL+dzdc2O15B5C9tkf7TxzGqhGj4JXhzGjbN3BFMcj5RUefZSVuP8ybHc+LDHUnyOtHR8eEY/x8ZV7hxlpsZrWTtIuyOkShzMZsvl4xjer2LvNC+ef7Cfr//42zXNZqvrdxCB4v9n7j/zkGgp69b+2R8v/n+mLDGjqHRQBERABERABERABERABERABERABEQgEGDhtcxaJ7aIGlMChDxx/9pnLmpzgvvWlJB3TMGXuj4cb3VBM6WEDPmmtnCJsQnX59qRal9OgUm+LKCm+gv3hnWRXDvK2hDtZ7vnno74HcYybVezrsO15q1myVnGt6zsOp+PLb7TnuxYtvNR3gGEcY/ej4n+CMmqbFNjK9WOsjzpe1xnpwTF3zBpsx0pdmXMh9WjiQMoaYdJhXak6kpe1Dfaz3YuN5Zzc2TuHGVG+6OkLqTLSW6ObLUdlBe1pq/APFdX3DSnJFfXXD+m8qtyPNkfNq5ykqtrLl3uHC7V+58aOQUmZZU9G2hHSnLjg8dSauzw4Ucr56hHqp/L2pFqQ7vHo2OgzUwb5zIUty+78CXeXf4B5q69GIe8zaKUfCcSkBJzJ8JX0SIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAjuXwN0r7/VxAnF5t/Geh3duZVT6TiGAm98H1/9rp5TdqUI3m+Lyuu+v6FRxKkcEREAEOk4AxS3ulXFD/Ksv/S5qFdvxSqnAtglIidk2QmUgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiJQVwJY2fYu+2tdq696jwCBTRZPjX9jWbBqvOeODWO5iWqbCIiACDhifkvGFoEBR/djq01qjQiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQI0JSIlZ485T1UVABERABERABERABERABERABERABERABERABERABERABERABERgLBKQEnMs9qraJAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAI1JiAlZo07T1UXAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQgbFIQErMsdirapMIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAI1JiAlJg17jxVXQREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQATGIgEpMcdir6pNIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIlBjAt11q/uEnj3c1Gc9z/XsPtV17TK6dbBP9/e7x7dscpv+ca/b+vjmuqFWfUVABERABERABERABERABESgJQJ39a4cTFfcHzyoHREQAREQAREQAREQAREQAREQAREoIVArJSYKzOn7HzbqlZeBOUrW3SY90ytcN65bJUVmAKOtCIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACGQIjG5TxoaKY4E52q0vG6rsf1Jn6i4RAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREoJ1ArJSYuZOsqda57XZmr3iIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAvUkUCslZh2tMMNtUee6hzb8v2+7urrchAm7VsJQ9bpKmdlF3d3d/l/V63fmdSPd9mbb0kw/NZv3+PETHPl3Wih3l4YYwDurLp1uu8oTAREQAREYIJB6/qSOV+E2d+4r3IKFi/yl5DN79mH2vBlXJemwa9pNPyxDHRABEdhhBHYZ1+VmHWVejkbovXbmnH3dya850v97xvTJLdd72j5T3OwTDmg5vRKKQFUCIz0GqpbbynUTJ/e4/Wbv3UrSWqQ58fw5btz41t49atFAVXIIga5dOr+eMqQCI/gj98ya0DPezTj8uSNYmrLqNAGeE+O6a6U26TSijpY3Uu+sHa20ChtRAv8DWPyCXpNNwjwAAAAASUVORK5CYII=)" + ], + "metadata": { + "id": "605bniKrNfIY" + } + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "DLptIOnHha-9" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/notebooks/Preserving_Table_Structure_for_Better_Retrieval.ipynb b/notebooks/Preserving_Table_Structure_for_Better_Retrieval.ipynb new file mode 100644 index 0000000..4d9b5bf --- /dev/null +++ b/notebooks/Preserving_Table_Structure_for_Better_Retrieval.ipynb @@ -0,0 +1,1191 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "## 📄 Preserving Table Structure for Better Retrieval\n", + "\n", + "Financial documents like 10-Qs and earnings releases often contain important data inside tables. These tables are usually embedded in PDFs, which makes them hard to extract and even harder to query later.\n", + "\n", + "In this notebook, we'll build a pipeline to process those documents and preserve the tabular structure in a way that's usable by downstream applications.\n", + "\n", + "Specifically, we'll:\n", + "\n", + "- Use **Unstructured** to extract tables from PDFs and represent them as HTML\n", + "- Store the structured HTML chunks in **AstraDB** with OpenAI embeddings\n", + "- Run semantic queries to fetch tables related to a question\n", + "- Display the tables as HTML to preserve layout and formatting\n", + "\n", + "The goal here is not generation or summarization, it's to keep the table structure intact so it can be used by other systems, agents, or UI components later on.\n", + "\n", + "This approach is useful when working with data where much of the critical information is stored in tables, and structure needs to be preserved for any downstream use.\n" + ], + "metadata": { + "id": "q6YEKxii0WgP" + } + }, + { + "cell_type": "markdown", + "source": [ + "#Preparing the Data\n", + "To prepare data for retrieval, we need to first break down the raw PDFs into structured chunks. This step is foundational for any RAG pipeline, and it’s where [Unstructured](https://unstructured.io) comes in.\n", + "\n", + "The Unstructured API lets us:\n", + "- Extract clean, structured content from any document.\n", + "- Generates metadata, chunk text, and prep it for downstream applications." + ], + "metadata": { + "id": "Liy5kmr7DKp7" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Setting Up the Unstructured Client\n", + "\n", + "Before we can begin parsing documents, we need to set up access to the [Unstructured platform](https://unstructured.io). The Unstructured Platform API allows us to programmatically process documents, extract structured elements, and prepare them for chunking and embedding, all from within this notebook.\n", + "\n", + "[Contact us](https://unstructured.io/enterprise) to get access or log in if you're already a user.\n" + ], + "metadata": { + "id": "-IDg_hZ-Dqzo" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "1yEFnvkQGcSV", + "outputId": "0e12201d-b3d2-47fd-a71e-c0dcd43349ba", + "collapsed": true + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting unstructured-client\n", + " Downloading unstructured_client-0.42.1-py3-none-any.whl.metadata (23 kB)\n", + "Requirement already satisfied: aiofiles>=24.1.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (24.1.0)\n", + "Requirement already satisfied: cryptography>=3.1 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (43.0.3)\n", + "Requirement already satisfied: httpcore>=1.0.9 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (1.0.9)\n", + "Requirement already satisfied: httpx>=0.27.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (0.28.1)\n", + "Requirement already satisfied: pydantic>=2.11.2 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (2.11.7)\n", + "Collecting pypdf>=4.0 (from unstructured-client)\n", + " Downloading pypdf-5.9.0-py3-none-any.whl.metadata (7.1 kB)\n", + "Requirement already satisfied: requests-toolbelt>=1.0.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (1.0.0)\n", + "Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.11/dist-packages (from cryptography>=3.1->unstructured-client) (1.17.1)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.11/dist-packages (from httpcore>=1.0.9->unstructured-client) (2025.7.14)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.11/dist-packages (from httpcore>=1.0.9->unstructured-client) (0.16.0)\n", + "Requirement already satisfied: anyio in /usr/local/lib/python3.11/dist-packages (from httpx>=0.27.0->unstructured-client) (4.9.0)\n", + "Requirement already satisfied: idna in /usr/local/lib/python3.11/dist-packages (from httpx>=0.27.0->unstructured-client) (3.10)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.33.2 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (2.33.2)\n", + "Requirement already satisfied: typing-extensions>=4.12.2 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (4.14.1)\n", + "Requirement already satisfied: typing-inspection>=0.4.0 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (0.4.1)\n", + "Requirement already satisfied: requests<3.0.0,>=2.0.1 in /usr/local/lib/python3.11/dist-packages (from requests-toolbelt>=1.0.0->unstructured-client) (2.32.3)\n", + "Requirement already satisfied: pycparser in /usr/local/lib/python3.11/dist-packages (from cffi>=1.12->cryptography>=3.1->unstructured-client) (2.22)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests<3.0.0,>=2.0.1->requests-toolbelt>=1.0.0->unstructured-client) (3.4.2)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests<3.0.0,>=2.0.1->requests-toolbelt>=1.0.0->unstructured-client) (2.5.0)\n", + "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.11/dist-packages (from anyio->httpx>=0.27.0->unstructured-client) (1.3.1)\n", + "Downloading unstructured_client-0.42.1-py3-none-any.whl (207 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m207.2/207.2 kB\u001b[0m \u001b[31m8.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pypdf-5.9.0-py3-none-any.whl (313 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m313.2/313.2 kB\u001b[0m \u001b[31m16.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: pypdf, unstructured-client\n", + "Successfully installed pypdf-5.9.0 unstructured-client-0.42.1\n" + ] + } + ], + "source": [ + "!pip install -U \"unstructured-client\"" + ] + }, + { + "cell_type": "markdown", + "source": [ + "If you haven’t already:\n", + "1. Login\n", + "2. In the sidebar, go to **API Keys**.\n", + "3. Click **New Key**, give it a name, and copy the key.\n" + ], + "metadata": { + "id": "es7EaldpEtj7" + } + }, + { + "cell_type": "code", + "source": [ + "import os\n", + "import time\n", + "from google.colab import userdata\n", + "from unstructured_client import UnstructuredClient" + ], + "metadata": { + "id": "mUUQ6TnbE-R-" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Fetching the keys from Colab Secrets!" + ], + "metadata": { + "id": "8vH2wwCAF2mF" + } + }, + { + "cell_type": "code", + "source": [ + "os.environ['UNSTRUCTURED_API_KEY'] = userdata.get(\"UNSTRUCTURED_API_KEY\")\n", + "client = UnstructuredClient(api_key_auth=os.getenv(\"UNSTRUCTURED_API_KEY\"))" + ], + "metadata": { + "id": "wUG_gKfH0d9R" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# utility for inspecting responses in a readable way\n", + "def pretty_print_model(response_model):\n", + " print(response_model.model_dump_json(indent=4))" + ], + "metadata": { + "id": "aAgNx9Ej0cjz" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Setting up the S3 Source Connector\n", + "\n", + "\n", + "We’ll start by connecting to our document source on S3.\n", + "\n", + "This example uses **AWS access key and secret** for authentication. You'll want to save the following secrets in Colab beforehand:\n", + "\n", + "- `AWS_ACCESS`\n", + "- `AWS_SECRET`\n", + "- `S3_REMOTE_URL` — the URI to your S3 bucket, e.g.:\n", + " - `s3://my-bucket/` (for root-level files)\n", + " - `s3://my-bucket/my-folder/` (for nested folders)\n", + "\n", + "Once those are set, we can spin up a source connector that points to your remote content.\n", + "\n", + "Need more auth options? [Check the docs](https://docs.unstructured.io/api-reference/workflow/sources/s3)." + ], + "metadata": { + "id": "RXvczp6t0h_S" + } + }, + { + "cell_type": "code", + "source": [ + "os.environ['AWS_ACCESS'] = userdata.get('AWS_ACCESS')\n", + "os.environ['AWS_SECRET'] = userdata.get('AWS_SECRET')\n", + "os.environ['S3_REMOTE_URL'] = userdata.get('S3_REMOTE_URL')" + ], + "metadata": { + "id": "gebtI0S20fum" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.operations import CreateSourceRequest\n", + "from unstructured_client.models.shared import CreateSourceConnector\n", + "\n", + "\n", + "source_response = client.sources.create_source(\n", + " request=CreateSourceRequest(\n", + " create_source_connector=CreateSourceConnector(\n", + " name=\"Table Analysis Source_\",\n", + " type=\"s3\",\n", + " config={\n", + " \"key\": os.environ.get('AWS_ACCESS'),\n", + " \"secret\": os.environ.get('AWS_SECRET'),\n", + " \"remote_url\": os.environ.get('S3_REMOTE_URL'),\n", + " \"recursive\": True\n", + " }\n", + " )\n", + " )\n", + " )" + ], + "metadata": { + "id": "v-HJOSLTnfw6" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.operations import CreateSourceRequest\n", + "from unstructured_client.models.shared import (\n", + " CreateSourceConnector,\n", + " SourceConnectorType,\n", + " S3SourceConnectorConfigInput\n", + ")\n", + "\n", + "source_response = client.sources.create_source(\n", + " request=CreateSourceRequest(\n", + " create_source_connector=CreateSourceConnector(\n", + " name=f\"Table Analysis Source_\",\n", + " type=SourceConnectorType.S3,\n", + " config=S3SourceConnectorConfigInput(\n", + " key=os.environ.get('AWS_ACCESS'),\n", + " secret=os.environ.get('AWS_SECRET'),\n", + " remote_url=os.environ.get('S3_REMOTE_URL'),\n", + " recursive=True\n", + " )\n", + " )\n", + " )\n", + ")" + ], + "metadata": { + "id": "8GvTF2jI0lED" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "pretty_print_model(source_response.source_connector_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "os1_javB0mQT", + "outputId": "043125f8-fad3-435e-abc0-fd2927565a00" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"config\": {\n", + " \"anonymous\": false,\n", + " \"recursive\": true,\n", + " \"remote_url\": \"s3://ajay-uns-devrel-content/agentic-analysis/\",\n", + " \"key\": \"**********\",\n", + " \"secret\": \"**********\"\n", + " },\n", + " \"created_at\": \"2025-08-06T13:43:31.376615Z\",\n", + " \"id\": \"de99e386-d13d-4450-8c96-928a1b350a41\",\n", + " \"name\": \"Table Analysis Source_\",\n", + " \"type\": \"s3\",\n", + " \"updated_at\": \"2025-08-06T13:43:31.527712Z\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Setting up the AstraDB Destination Connector\n", + "\n", + "With our documents flowing in from S3, let’s define where they’ll be stored after processing.\n", + "\n", + "For this, we’ll use **Astra DB**, a serverless vector database that integrates cleanly with Unstructured’s pipeline. All chunked + embedded records will be pushed directly into an Astra collection for retrieval and querying later.\n", + "\n", + "\n", + "Make sure the following secrets are set in your Colab environment:\n", + "\n", + "- `ASTRA_DB_API_ENDPOINT` — the database’s REST API endpoint \n", + "- `ASTRA_DB_APPLICATION_TOKEN` — app token with write access \n", + "- `ASTRA_DB_COLLECTION_NAME` — name of the collection inside the keyspace \n", + "- `ASTRA_DB_KEYSPACE` — the keyspace where this collection will live\n", + "\n", + "> 🧠 If the collection doesn't exist yet, Unstructured will create one at runtime. \n", + "> Just make sure your embedding model dimensions match the collection’s config.\n", + "\n", + "We’ll now create the destination connector that sends data from Unstructured → Astra. For detailed information on the credentials and arguments, refer to [this doc](https://docs.unstructured.io/api-reference/workflow/destinations/astradb)" + ], + "metadata": { + "id": "XQgI4qJr0oFC" + } + }, + { + "cell_type": "code", + "source": [ + "os.environ['ASTRA_DB_API_ENDPOINT'] = userdata.get('ASTRA_DB_API_ENDPOINT')\n", + "os.environ['ASTRA_DB_APPLICATION_TOKEN'] = userdata.get('ASTRA_DB_APPLICATION_TOKEN')\n", + "os.environ['ASTRA_DB_COLLECTION_NAME'] = userdata.get('ASTRA_DB_COLLECTION_NAME')\n", + "os.environ['ASTRA_DB_KEYSPACE'] = userdata.get('ASTRA_DB_KEYSPACE')" + ], + "metadata": { + "id": "J8eBYS48G734" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.operations import CreateDestinationRequest\n", + "from unstructured_client.models.shared import CreateDestinationConnector\n", + "\n", + "destination_response = client.destinations.create_destination(\n", + " request=CreateDestinationRequest(\n", + " create_destination_connector=CreateDestinationConnector(\n", + " name=\"Table Analysis Destination_\",\n", + " type=\"astradb\",\n", + " config={\n", + " \"token\": os.environ.get('ASTRA_DB_APPLICATION_TOKEN'),\n", + " \"api_endpoint\": os.environ.get('ASTRA_DB_API_ENDPOINT'),\n", + " \"collection_name\": os.environ.get('ASTRA_DB_COLLECTION_NAME'),\n", + " \"keyspace\": os.environ.get('ASTRA_DB_KEYSPACE'),\n", + " \"batch_size\": 20,\n", + " \"flatten_metadata\": False\n", + " }\n", + " )\n", + " )\n", + ")" + ], + "metadata": { + "id": "mEI9o7iroQvx" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "pretty_print_model(destination_response.destination_connector_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "q2sVCeSjodGs", + "outputId": "3986de16-018f-4a6c-8cc9-20cce2fd6615" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"config\": {\n", + " \"api_endpoint\": \"**********\",\n", + " \"batch_size\": 20,\n", + " \"collection_name\": \"uns_demo_1\",\n", + " \"token\": \"**********\",\n", + " \"keyspace\": \"demo2\"\n", + " },\n", + " \"created_at\": \"2025-08-06T13:45:59.454874Z\",\n", + " \"id\": \"293f4a19-5bc0-4868-a0d0-7bde3b249e76\",\n", + " \"name\": \"Table Analysis Destination_\",\n", + " \"type\": \"astradb\",\n", + " \"updated_at\": \"2025-08-06T13:45:59.614155Z\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.operations import CreateDestinationRequest\n", + "from unstructured_client.models.shared import (\n", + " CreateDestinationConnector,\n", + " DestinationConnectorType,\n", + " AstraDBConnectorConfigInput\n", + ")\n", + "destination_response = client.destinations.create_destination(\n", + " request=CreateDestinationRequest(\n", + " create_destination_connector=CreateDestinationConnector(\n", + " name=\"Table Analysis Destination_\",\n", + " type=\"astradb\",\n", + " config=AstraDBConnectorConfigInput(\n", + "\n", + " )\n", + " )\n", + " )\n", + ")" + ], + "metadata": { + "id": "o2I_h7rlG-T4" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Next, we’ll wire everything together into a full document processing workflow.\n" + ], + "metadata": { + "id": "ZIy3Y1gEGpOj" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Creating the Processing Workflow\n", + "\n", + "In this version of the pipeline, we’re not just cleaning up PDFs — we’re enriching them with useful metadata and semantic summaries before embedding.\n", + "\n", + "This workflow introduces multiple processing stages beyond the standard partition–chunk–embed stack:\n", + "\n", + "\n", + "### What’s in the Flow\n", + "\n", + "- **Partitioner** \n", + " Extracts high-fidelity document elements using Unstructured’s `hi_res` strategy. Also enables table structure inference and captures image/table blocks explicitly.\n", + "\n", + "- **Image Summarizer** \n", + " Uses OpenAI to generate captions for extracted images.\n", + "\n", + "- **Table Summarizer** \n", + " Summarizes the structure and contents of tables using Anthropic's model.\n", + "\n", + "- **Chunker** \n", + " Segments the enriched elements into overlapping, title-aware sections — ideal for focused retrieval.\n", + "\n", + "- **Embedder** \n", + " Converts each chunk into a vector using Azure-hosted `text-embedding-3-large` for semantic search downstream.\n", + "\n", + "\n", + "\n", + "This is a great setup when you want your RAG system to reason over structured documents that include **tables**, **figures**, or **formal language** — especially when entity extraction and summarization matter.\n", + "\n", + "You can modify or swap any node depending on your retrieval goals. For more node types, check the [Unstructured Concepts Guide](https://docs.unstructured.io/ui/document-elements).\n" + ], + "metadata": { + "id": "onYT6ODu0uSp" + } + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.shared import (\n", + " WorkflowNode,\n", + " WorkflowType,\n", + " Schedule\n", + ")\n", + "\n", + "parition_node = WorkflowNode(\n", + " name=\"Partitioner\",\n", + " subtype=\"unstructured_api\",\n", + " type=\"partition\",\n", + " settings={\n", + " \"strategy\": \"hi_res\",\n", + " \"pdf_infer_table_structure\": True,\n", + " \"extract_image_block_types\": [\n", + " \"Image\",\n", + " \"Table\"\n", + " ],\n", + " \"infer_table_structure\": True,\n", + " }\n", + ")\n", + "\n", + "\n", + "image_summarizer_node = WorkflowNode(\n", + " name=\"Image summarizer\",\n", + " subtype=\"openai_image_description\",\n", + " type=\"prompter\",\n", + " settings={}\n", + ")\n", + "\n", + "table_summarizer_node = WorkflowNode(\n", + " name=\"Table summarizer\",\n", + " subtype=\"anthropic_table_description\",\n", + " type=\"prompter\",\n", + " settings={}\n", + ")\n", + "\n", + "\n", + "chunk_node = WorkflowNode(\n", + " name=\"Chunker\",\n", + " subtype=\"chunk_by_title\",\n", + " type=\"chunk\",\n", + " settings={\n", + " \"new_after_n_chars\": 1000,\n", + " \"max_characters\": 4096,\n", + " \"overlap\": 150\n", + " }\n", + ")\n", + "\n", + "embedder_node = WorkflowNode(\n", + " name='Embedder',\n", + " subtype='azure_openai',\n", + " type=\"embed\",\n", + " settings={\n", + " 'model_name': 'text-embedding-3-large'\n", + " }\n", + " )\n", + "\n", + "\n", + "\n", + "response = client.workflows.create_workflow(\n", + " request={\n", + " \"create_workflow\": {\n", + " \"name\": f\"s3-to-astra Agentic Analysis {time.time()}\",\n", + " \"source_id\": source_response.source_connector_information.id,\n", + " \"destination_id\": destination_response.destination_connector_information.id,\n", + " \"workflow_type\": WorkflowType.CUSTOM,\n", + " \"workflow_nodes\": [\n", + " parition_node,\n", + " image_summarizer_node,\n", + " table_summarizer_node,\n", + " chunk_node,\n", + " embedder_node\n", + " ],\n", + " }\n", + " }\n", + ")\n", + "\n", + "workflow_id = response.workflow_information.id\n", + "pretty_print_model(response.workflow_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "0D2J-NnNJ6lo", + "outputId": "d1cc3655-2c6d-4f16-b715-e89e22a23684" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"created_at\": \"2025-08-06T13:46:25.880580Z\",\n", + " \"destinations\": [\n", + " \"293f4a19-5bc0-4868-a0d0-7bde3b249e76\"\n", + " ],\n", + " \"id\": \"346175ce-c147-4fa3-b9e0-9b6df8f3fead\",\n", + " \"name\": \"s3-to-astra Agentic Analysis 1754487985.6931396\",\n", + " \"sources\": [\n", + " \"de99e386-d13d-4450-8c96-928a1b350a41\"\n", + " ],\n", + " \"status\": \"active\",\n", + " \"workflow_nodes\": [\n", + " {\n", + " \"name\": \"Partitioner\",\n", + " \"subtype\": \"unstructured_api\",\n", + " \"type\": \"partition\",\n", + " \"id\": \"121bddeb-3992-4b85-a434-84dfaa154496\",\n", + " \"settings\": {\n", + " \"strategy\": \"hi_res\",\n", + " \"include_page_breaks\": false,\n", + " \"pdf_infer_table_structure\": true,\n", + " \"exclude_elements\": null,\n", + " \"xml_keep_tags\": false,\n", + " \"encoding\": \"utf-8\",\n", + " \"ocr_languages\": [\n", + " \"eng\"\n", + " ],\n", + " \"extract_image_block_types\": [\n", + " \"Image\",\n", + " \"Table\"\n", + " ],\n", + " \"infer_table_structure\": true\n", + " }\n", + " },\n", + " {\n", + " \"name\": \"Table summarizer\",\n", + " \"subtype\": \"anthropic_table_description\",\n", + " \"type\": \"prompter\",\n", + " \"id\": \"017ce153-6a4c-44c2-a82e-adaa6ed09e72\",\n", + " \"settings\": {}\n", + " },\n", + " {\n", + " \"name\": \"Image summarizer\",\n", + " \"subtype\": \"openai_image_description\",\n", + " \"type\": \"prompter\",\n", + " \"id\": \"6b2c909a-809f-4b5f-9680-5f79ea05a2ac\",\n", + " \"settings\": {}\n", + " },\n", + " {\n", + " \"name\": \"Chunker\",\n", + " \"subtype\": \"chunk_by_title\",\n", + " \"type\": \"chunk\",\n", + " \"id\": \"a426b969-1b41-4be0-841d-7bb191fde8d9\",\n", + " \"settings\": {\n", + " \"unstructured_api_url\": null,\n", + " \"unstructured_api_key\": null,\n", + " \"multipage_sections\": false,\n", + " \"combine_text_under_n_chars\": null,\n", + " \"include_orig_elements\": false,\n", + " \"new_after_n_chars\": 1000,\n", + " \"max_characters\": 4096,\n", + " \"overlap\": 150,\n", + " \"overlap_all\": false,\n", + " \"contextual_chunking_strategy\": null\n", + " }\n", + " },\n", + " {\n", + " \"name\": \"Embedder\",\n", + " \"subtype\": \"azure_openai\",\n", + " \"type\": \"embed\",\n", + " \"id\": \"e6ad4210-fd34-4377-9766-0965e63a6211\",\n", + " \"settings\": {\n", + " \"model_name\": \"text-embedding-3-large\"\n", + " }\n", + " }\n", + " ],\n", + " \"reprocess_all\": false,\n", + " \"schedule\": {\n", + " \"crontab_entries\": []\n", + " },\n", + " \"updated_at\": \"2025-08-06T13:46:25.897091Z\",\n", + " \"workflow_type\": \"custom\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Running the workflow\n", + "\n", + "Now that we've defined how we want to process our documentation, let's start the workflow and wait for it to complete:" + ], + "metadata": { + "id": "CTrsjVhIqvTN" + } + }, + { + "cell_type": "code", + "source": [ + "res = client.workflows.run_workflow(\n", + " request={\n", + " \"workflow_id\": workflow_id,\n", + " }\n", + ")\n", + "\n", + "pretty_print_model(res.job_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "fuX5R8p37Src", + "outputId": "b3320bec-768e-4170-d0d7-e1093eedf90b" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"created_at\": \"2025-08-06T13:46:35.091970Z\",\n", + " \"id\": \"ecddf3fc-0acc-4aca-a2e5-140bf7911b42\",\n", + " \"status\": \"SCHEDULED\",\n", + " \"workflow_id\": \"346175ce-c147-4fa3-b9e0-9b6df8f3fead\",\n", + " \"workflow_name\": \"s3-to-astra Agentic Analysis 1754487985.6931396\",\n", + " \"job_type\": \"ephemeral\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "response = client.jobs.list_jobs(\n", + " request={\n", + " \"workflow_id\": workflow_id\n", + " }\n", + ")\n", + "\n", + "last_job = response.response_list_jobs[0]\n", + "job_id = last_job.id\n", + "print(f\"job_id: {job_id}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Cxc3G6DS7WDR", + "outputId": "29dc5587-93d6-46f0-e27d-0ecb8d0049f7" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "job_id: ecddf3fc-0acc-4aca-a2e5-140bf7911b42\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Now that we've created and started a job, we can poll Unstructured's `get_job` endpoint and check for its status every 30s till completion" + ], + "metadata": { + "id": "A1zTfzanq4Vf" + } + }, + { + "cell_type": "code", + "source": [ + "import time\n", + "\n", + "def poll_job_status(job_id, wait_time=30):\n", + " while True:\n", + " response = client.jobs.get_job(\n", + " request={\n", + " \"job_id\": job_id\n", + " }\n", + " )\n", + "\n", + " job = response.job_information\n", + "\n", + " if job.status == \"SCHEDULED\":\n", + " print(f\"Job is scheduled, polling again in {wait_time} seconds...\")\n", + " time.sleep(wait_time)\n", + " elif job.status == \"IN_PROGRESS\":\n", + " print(f\"Job is in progress, polling again in {wait_time} seconds...\")\n", + " time.sleep(wait_time)\n", + " else:\n", + " print(\"Job is completed\")\n", + " break\n", + "\n", + " return job\n", + "\n", + "job = poll_job_status(job_id)\n", + "pretty_print_model(job)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "7-DJdmDQ7nki", + "outputId": "7fd3a33d-0513-4a92-fd8f-310d75cb31e8" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is completed\n", + "{\n", + " \"created_at\": \"2025-08-06T13:46:35.091970\",\n", + " \"id\": \"ecddf3fc-0acc-4aca-a2e5-140bf7911b42\",\n", + " \"status\": \"COMPLETED\",\n", + " \"workflow_id\": \"346175ce-c147-4fa3-b9e0-9b6df8f3fead\",\n", + " \"workflow_name\": \"s3-to-astra Agentic Analysis 1754487985.6931396\",\n", + " \"job_type\": \"ephemeral\",\n", + " \"runtime\": \"PT0S\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "With everything embedded and indexed, we're ready to query. Our goal now: pull the most relevant tables from financial documents and surface them cleanly." + ], + "metadata": { + "id": "iMQbRKJ1NBwX" + } + }, + { + "cell_type": "markdown", + "source": [ + "# Retrieval 🧠\n", + "\n", + "Now that our financial documents are processed and indexed, we can start querying for relevant tables.\n", + "\n", + "This section is simple: we take a natural language question, search across all embedded tables, and display the ones that match best.\n" + ], + "metadata": { + "id": "Y7imZgkEBOXn" + } + }, + { + "cell_type": "code", + "source": [ + "!pip install -qU langchain-astradb langchain-openai openai\n" + ], + "metadata": { + "id": "5iVzjyqQOGkl", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "dfcbd7d8-fe31-42f7-d292-c3705ff84f95" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m61.0/61.0 kB\u001b[0m \u001b[31m4.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m69.7/69.7 kB\u001b[0m \u001b[31m5.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m70.6/70.6 kB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m767.8/767.8 kB\u001b[0m \u001b[31m26.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m300.5/300.5 kB\u001b[0m \u001b[31m23.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.5/2.5 MB\u001b[0m \u001b[31m76.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m18.3/18.3 MB\u001b[0m \u001b[31m83.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m45.2/45.2 kB\u001b[0m \u001b[31m3.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.4/1.4 MB\u001b[0m \u001b[31m67.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m313.6/313.6 kB\u001b[0m \u001b[31m24.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m50.9/50.9 kB\u001b[0m \u001b[31m4.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "opencv-python 4.12.0.88 requires numpy<2.3.0,>=2; python_version >= \"3.9\", but you have numpy 1.26.4 which is incompatible.\n", + "opencv-python-headless 4.12.0.88 requires numpy<2.3.0,>=2; python_version >= \"3.9\", but you have numpy 1.26.4 which is incompatible.\n", + "opencv-contrib-python 4.12.0.88 requires numpy<2.3.0,>=2; python_version >= \"3.9\", but you have numpy 1.26.4 which is incompatible.\n", + "thinc 8.3.6 requires numpy<3.0.0,>=2.0.0, but you have numpy 1.26.4 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0m" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import os\n", + "from langchain.schema import Document\n", + "from langchain_astradb.vectorstores import AstraDBVectorStore\n", + "\n", + "import openai\n", + "from astrapy import DataAPIClient\n", + "\n" + ], + "metadata": { + "id": "DXkze2Y6j9gU" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "We’ll use OpenAI’s `text-embedding-3-large` to embed queries and compare them with our document chunks.\n", + "\n", + "Next, we connect to **Astra DB** to access all the embedded tables.\n" + ], + "metadata": { + "id": "AmF8sVNqrnXi" + } + }, + { + "cell_type": "code", + "source": [ + "# Initialize Embedding Model\n", + "os.environ['OPENAI_API_KEY'] = userdata.get(\"OPENAI_API_KEY\")\n", + "openai_client = openai.OpenAI(api_key=os.environ[\"OPENAI_API_KEY\"])\n", + "embedding_model = \"text-embedding-3-large\"\n", + "\n", + "# Connect to DataStax Astra DB via LangChain\n", + "astra_client = DataAPIClient(os.environ[\"ASTRA_DB_APPLICATION_TOKEN\"])\n", + "database = astra_client.get_database(os.environ[\"ASTRA_DB_API_ENDPOINT\"])\n", + "COLLECTION = database.get_collection(\n", + " name=os.environ[\"ASTRA_DB_COLLECTION_NAME\"],\n", + " keyspace=os.environ[\"ASTRA_DB_KEYSPACE\"]\n", + "\n", + ")\n", + "print(\"Connected to AstraDB vector store\")\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "mqswAdnDiUMV", + "outputId": "167ec30a-c382-4b47-b001-092d91e1b2d3" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Connected to AstraDB vector store\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "We also define an `AgentState` object to hold:\n", + "- the user query (`user_input`)\n", + "- the retrieved document chunks (`retrieved_docs`)" + ], + "metadata": { + "id": "0kLKlpAhrwOg" + } + }, + { + "cell_type": "code", + "source": [ + "from typing import TypedDict, Optional\n", + "\n", + "class AgentState(TypedDict):\n", + " user_input: str\n", + " retrieved_docs: Optional[list]\n" + ], + "metadata": { + "id": "mdJzz0Fuh-ns" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "We define two utility functions here:\n", + "\n", + "- `get_embedding(text)` → takes in a query string and returns its OpenAI embedding.\n", + "- `simple_retriever(query, n)` → searches AstraDB for the top-`n` most similar chunks based on that embedding.\n", + "\n", + "This lets us run semantic search over our processed tables." + ], + "metadata": { + "id": "1DY8JcPCrzaS" + } + }, + { + "cell_type": "code", + "source": [ + "def get_embedding(text: str):\n", + " try:\n", + " response = openai_client.embeddings.create(\n", + " model=embedding_model,\n", + " input=[text] # must be a list\n", + " )\n", + " return response.data[0].embedding\n", + " except Exception as e:\n", + " print(\"Embedding error:\", e)\n", + " return None\n", + "\n", + "def simple_retriever(query: str, n: int = 5) -> str:\n", + " embedding = get_embedding(query)\n", + " results = COLLECTION.find(sort={\"$vector\": embedding}, limit=n)\n", + " docs = [doc[\"content\"] for doc in results]\n", + " return \"\\n\".join(f\"===== Document {i+1} =====\\n{doc}\" for i, doc in enumerate(docs))" + ], + "metadata": { + "id": "y_bUgOJHQ5Zl" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Here we build the actual table retriever function.\n", + "\n", + "Given a user query:\n", + "- It computes the embedding\n", + "- Searches AstraDB for the top matches\n", + "- Filters the results to only include chunks that contain tables\n", + "\n", + "We wrap each match in a `Document` object so it can be passed downstream — e.g. for rendering or further processing." + ], + "metadata": { + "id": "8uG_R950r2UW" + } + }, + { + "cell_type": "code", + "source": [ + "def retrieve_table(state: AgentState) -> AgentState:\n", + " \"\"\"\n", + " retrieve HTML table chunks using raw AstraDB collection + OpenAI embedding\n", + " \"\"\"\n", + " query = state[\"user_input\"]\n", + " try:\n", + " embedding = get_embedding(query)\n", + "\n", + " results = COLLECTION.find(sort={\"$vector\": embedding}, limit=10)\n", + " table_docs = []\n", + " for r in results:\n", + " if r.get('metadata').get('metadata').get('text_as_html',None) is not None:\n", + " doc = Document(\n", + " page_content=r[\"content\"],\n", + " metadata=r.get(\"metadata\", {})\n", + " )\n", + " table_docs.append(doc)\n", + "\n", + " state[\"retrieved_docs\"] = table_docs\n", + " return state\n", + "\n", + " except Exception as e:\n", + " print(\"Error occured\",e)\n", + " state[\"retrieved_docs\"] = []\n", + " return state\n" + ], + "metadata": { + "id": "Yg_HDVfxOY0g" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Let’s test the full flow by asking for **Q2 segment results for Alphabet**.\n" + ], + "metadata": { + "id": "kXe9V9OlsOh9" + } + }, + { + "cell_type": "code", + "source": [ + "test_state = {\"user_input\": \"Show me Q2 Segment Results for Alphabet\"}\n", + "test_state = retrieve_table(test_state)" + ], + "metadata": { + "id": "gsNMwlDeOgyD" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "docs = test_state['retrieved_docs']" + ], + "metadata": { + "id": "A6KptXt8TwjS" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "We’ll embed the query, retrieve the most relevant table chunks from AstraDB, and render them using their original HTML format.\n", + "\n", + "Each chunk was processed with layout and formatting preserved, so what you see here matches the actual structure from the source document.\n", + "\n", + "The tables you see below aren’t screenshots or scraped HTML, they were generated by Unstructured from the original documents using its layout-aware parsing." + ], + "metadata": { + "id": "2dNKb6OisQ5U" + } + }, + { + "cell_type": "code", + "source": [ + "from IPython.core.display import display, HTML\n", + "\n", + "print(f\"{'='*40}\")\n", + "display(HTML(docs[0].metadata['metadata']['text_as_html']))\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 335 + }, + "id": "gREU0ZwmPuDt", + "outputId": "67c29251-715d-4f6d-e5aa-b5e303d662d4" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "========================================\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "
Quarter Ended June 30,
20242025
Revenues:
Google Services73,92882,543
Google Cloud10,34713,624
Other Bets365373
Hedging gains (losses)102(112)
Total revenues84,74296,428
Operating income (loss):
Google Services29,67433,063
Google Cloud1,1722,826
Other Bets(1,134)(1,246)
Alphabet-level activities(2,287)(3,372)
Total income from operations27,42531,271
" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "![image.png](data:image/png;base64,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)" + ], + "metadata": { + "id": "i-lIbKEgrRJm" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Final Thoughts\n", + "\n", + "The key idea behind this notebook isn’t just retrieval, it’s **structure preservation**.\n", + "\n", + "By parsing documents with Unstructured and saving tables in HTML form, we retain the original layout, semantics, and visual grouping — all of which are lost in plain text formats. That structure becomes a powerful substrate for downstream systems.\n", + "\n", + "With structured HTML in hand, your agents can:\n", + "- Render tables cleanly in a UI\n", + "- Summarize rows, columns, or headers in isolation\n", + "- Compare tables across documents\n", + "- Answer questions with specific numeric context\n", + "- Or just decide when *not* to respond, if structure is missing\n", + "\n", + "This approach creates a flexible interface between messy PDFs and agentic logic, giving you both precision and creativity in how your applications interact with financial data.\n", + "\n", + "Preserve structure early. Use it however you want later." + ], + "metadata": { + "id": "t6TJUoSZtcrp" + } + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "7c5ze3-PaX5P" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/notebooks/Rag_with_Reranking.ipynb b/notebooks/Rag_with_Reranking.ipynb new file mode 100644 index 0000000..742e54d --- /dev/null +++ b/notebooks/Rag_with_Reranking.ipynb @@ -0,0 +1,1459 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# RAG for Patent Question Answering with Reranker\n", + "\n", + "Most retrieval-augmented generation (RAG) pipelines follow a common recipe: take a user’s question, retrieve relevant documents, and feed them to a language model to generate a response. This works reasonably well — until it doesn't.\n", + "\n", + "When dealing with complex domains like patents, the limitations of naive retrieval become glaring:\n", + "- The language is dense and technical.\n", + "- Similarity-based retrievers often surface verbose but irrelevant sections.\n", + "- Critical information may be buried across long documents.\n", + "\n", + "In this notebook, we’ll build a more **robust and domain-aware RAG system** specifically designed to answer technical and legal questions over patents. To improve retrieval quality, we’ll incorporate a **reranker** — a model that sits between retrieval and generation, reshuffling candidate passages to surface the most answer-relevant chunks.\n", + "\n", + "This system will:\n", + "- Load and structure unstructured patent filings using the [Unstructured Platform](https://unstructured.io/).\n", + "- Ingest data into a [Pinecone](https://www.pinecone.io/product/) vector database for fast semantic retrieval.\n", + "- Re-rank retrieved candidates using **Cohere’s `rerank-english-v3.0`**.\n", + "- Answer user questions using **GPT-4o** grounded in the reranked context.\n", + "\n", + "We’ll go step by step — starting with document ingestion and ending with an end-to-end QA pipeline that performs well even on nuanced queries.\n", + "\n", + "Let’s dive in.\n" + ], + "metadata": { + "id": "q6YEKxii0WgP" + } + }, + { + "cell_type": "markdown", + "source": [ + "#Preparing the Data\n", + "To prepare our patent data for retrieval and reranking, we need to first break down the raw PDFs into structured chunks. This step is foundational for any RAG pipeline, and it’s where [Unstructured](https://unstructured.io) comes in.\n", + "\n", + "The Unstructured API lets us:\n", + "- Extract clean, structured content from any document.\n", + "- Generates metadata, chunk text, and prep it for downstream applications." + ], + "metadata": { + "id": "Liy5kmr7DKp7" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Setting Up the Unstructured Client\n", + "\n", + "Before we can begin parsing raw patent documents, we need to set up access to the [Unstructured platform](https://unstructured.io). The Unstructured Platform API allows us to programmatically process documents, extract structured elements, and prepare them for chunking and embedding, all from within this notebook.\n", + "\n", + "[Contact us](https://unstructured.io/enterprise) to get access or log in if you're already a user.\n" + ], + "metadata": { + "id": "-IDg_hZ-Dqzo" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "1yEFnvkQGcSV", + "outputId": "f6f11e5c-98aa-4498-8fc8-6bd91e018416", + "collapsed": true + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Requirement already satisfied: unstructured-client in /usr/local/lib/python3.11/dist-packages (0.42.1)\n", + "Requirement already satisfied: aiofiles>=24.1.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (24.1.0)\n", + "Requirement already satisfied: cryptography>=3.1 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (43.0.3)\n", + "Requirement already satisfied: httpcore>=1.0.9 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (1.0.9)\n", + "Requirement already satisfied: httpx>=0.27.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (0.28.1)\n", + "Requirement already satisfied: pydantic>=2.11.2 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (2.11.7)\n", + "Requirement already satisfied: pypdf>=4.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (5.9.0)\n", + "Requirement already satisfied: requests-toolbelt>=1.0.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (1.0.0)\n", + "Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.11/dist-packages (from cryptography>=3.1->unstructured-client) (1.17.1)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.11/dist-packages (from httpcore>=1.0.9->unstructured-client) (2025.7.14)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.11/dist-packages (from httpcore>=1.0.9->unstructured-client) (0.16.0)\n", + "Requirement already satisfied: anyio in /usr/local/lib/python3.11/dist-packages (from httpx>=0.27.0->unstructured-client) (4.9.0)\n", + "Requirement already satisfied: idna in /usr/local/lib/python3.11/dist-packages (from httpx>=0.27.0->unstructured-client) (3.10)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.33.2 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (2.33.2)\n", + "Requirement already satisfied: typing-extensions>=4.12.2 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (4.14.1)\n", + "Requirement already satisfied: typing-inspection>=0.4.0 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (0.4.1)\n", + "Requirement already satisfied: requests<3.0.0,>=2.0.1 in /usr/local/lib/python3.11/dist-packages (from requests-toolbelt>=1.0.0->unstructured-client) (2.32.3)\n", + "Requirement already satisfied: pycparser in /usr/local/lib/python3.11/dist-packages (from cffi>=1.12->cryptography>=3.1->unstructured-client) (2.22)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests<3.0.0,>=2.0.1->requests-toolbelt>=1.0.0->unstructured-client) (3.4.2)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests<3.0.0,>=2.0.1->requests-toolbelt>=1.0.0->unstructured-client) (2.5.0)\n", + "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.11/dist-packages (from anyio->httpx>=0.27.0->unstructured-client) (1.3.1)\n" + ] + } + ], + "source": [ + "!pip install -U \"unstructured-client\"" + ] + }, + { + "cell_type": "markdown", + "source": [ + "If you haven’t already:\n", + "1. Login to [platform.unstructured.io](https://platform.unstructured.io)\n", + "2. In the sidebar, go to **API Keys**.\n", + "3. Click **New Key**, give it a name like `\"patent-qna-notebook\"`, and copy the key.\n" + ], + "metadata": { + "id": "es7EaldpEtj7" + } + }, + { + "cell_type": "code", + "source": [ + "import os\n", + "import time\n", + "from google.colab import userdata\n", + "from unstructured_client import UnstructuredClient" + ], + "metadata": { + "id": "mUUQ6TnbE-R-" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Fetching the keys from Colab Secrets!" + ], + "metadata": { + "id": "8vH2wwCAF2mF" + } + }, + { + "cell_type": "code", + "source": [ + "os.environ['UNSTRUCTURED_API_KEY'] = userdata.get(\"UNSTRUCTURED_API_KEY\")\n", + "client = UnstructuredClient(api_key_auth=os.getenv(\"UNSTRUCTURED_API_KEY\"))" + ], + "metadata": { + "id": "wUG_gKfH0d9R" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# utility for inspecting responses in a readable way\n", + "def pretty_print_model(response_model):\n", + " print(response_model.model_dump_json(indent=4))" + ], + "metadata": { + "id": "aAgNx9Ej0cjz" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Setting up the S3 Source Connector\n", + "\n", + "\n", + "For this demo, we will be using AWS Key and Secret for Authentication.\n", + "Make sure to add fetch the corresponding values and for `S3_AWS_KEY` and `S3_AWS_SECRET` and add to the Secrets in Colab.\n", + "\n", + "\n", + "Similarly, fetch the the S3 URI to the bucket or folder, formatted as `s3://my-bucket/` (if the files are in the bucket's root) or `s3://my-bucket/my-folder/` and add it to `S3_REMOTE_URL` in the Secrets.\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "For other authentication options and more details refer to [this](https://docs.unstructured.io/api-reference/workflow/sources/s3)." + ], + "metadata": { + "id": "RXvczp6t0h_S" + } + }, + { + "cell_type": "code", + "source": [ + "os.environ['AWS_ACCESS'] = userdata.get('AWS_ACCESS')\n", + "os.environ['AWS_SECRET'] = userdata.get('AWS_SECRET')\n", + "os.environ['S3_REMOTE_URL'] = userdata.get('S3_REMOTE_URL')" + ], + "metadata": { + "id": "gebtI0S20fum" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.operations import CreateSourceRequest\n", + "from unstructured_client.models.shared import CreateSourceConnector\n", + "\n", + "source_response = client.sources.create_source(\n", + " request=CreateSourceRequest(\n", + " create_source_connector=CreateSourceConnector(\n", + " name=f\"Reranker Tutorial Source Connector_\",\n", + " type=\"s3\",\n", + " config={\n", + " \"key\": os.environ.get('AWS_ACCESS'),\n", + " \"secret\": os.environ.get('AWS_SECRET'),\n", + " \"remote_url\": os.environ.get('S3_REMOTE_URL'),\n", + " \"recursive\": True\n", + " }\n", + " )\n", + " )\n", + ")" + ], + "metadata": { + "id": "IobJkeHa0wKJ" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.operations import CreateSourceRequest\n", + "from unstructured_client.models.shared import (\n", + " CreateSourceConnector,\n", + " SourceConnectorType,\n", + " S3SourceConnectorConfigInput\n", + ")\n", + "\n", + "source_response = client.sources.create_source(\n", + " request=CreateSourceRequest(\n", + " create_source_connector=CreateSourceConnector(\n", + " name=f\"Reranker Tutorial Source Connector_\",\n", + " type=SourceConnectorType.S3,\n", + " config=S3SourceConnectorConfigInput(\n", + " key=os.environ.get('AWS_ACCESS'),\n", + " secret=os.environ.get('AWS_SECRET'),\n", + " remote_url=os.environ.get('S3_REMOTE_URL'),\n", + " recursive=True\n", + " )\n", + " )\n", + " )\n", + ")" + ], + "metadata": { + "id": "8GvTF2jI0lED" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "pretty_print_model(source_response.source_connector_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "os1_javB0mQT", + "outputId": "7f7543b0-f7d2-470d-cc46-f8082667b6c3" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"config\": {\n", + " \"anonymous\": false,\n", + " \"recursive\": true,\n", + " \"remote_url\": \"s3://ajay-uns-devrel-content/mm-agentic-rag/\",\n", + " \"key\": \"**********\",\n", + " \"secret\": \"**********\"\n", + " },\n", + " \"created_at\": \"2025-08-06T14:57:07.277627Z\",\n", + " \"id\": \"e63b3e59-58e7-4e0b-90b3-85a7a6f5ad69\",\n", + " \"name\": \"Reranker Tutorial Source Connector_\",\n", + " \"type\": \"s3\",\n", + " \"updated_at\": \"2025-08-06T14:57:07.416960Z\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Setting up the Pinecone Destination Connector\n", + "\n", + "Now that we’ve defined our document source (from S3), the next step is to configure where the processed chunks should go. For that, we’re using **Pinecone** — a fast, scalable vector database that's perfect for similarity search.\n", + "\n", + "In our case, we’ll send embedded chunks of patent text to Pinecone, where they can later be searched via semantic queries.\n", + "\n", + "---\n", + "\n", + "### 🌲 Why Pinecone?\n", + "\n", + "Pinecone is optimized for storing and querying high-dimensional vector embeddings. It provides:\n", + "- Scalable infrastructure for similarity search.\n", + "- Fast approximate nearest neighbor lookup.\n", + "- Simple API access for indexing and querying.\n", + "\n", + "In this setup, Unstructured handles:\n", + "- Preprocessing the data (partitioning, chunking, embedding).\n", + "- Pushing the output vectors directly into our Pinecone index.\n", + "\n", + "---\n", + "\n", + "\n", + "To connect Unstructured with Pinecone, you’ll need:\n", + "\n", + "- **API Key**: Found under the API Keys tab in the Pinecone dashboard.\n", + "- **Index Name**: Create one manually from the dashboard, and ensure it’s in the \"Serverless\" environment.\n", + "- (Optional: Namespace) — used to logically group your documents inside the index.\n", + "\n", + "If you haven’t already:\n", + "1. Go to [https://app.pinecone.io](https://app.pinecone.io) and sign in.\n", + "2. Create a **Serverless Index**.\n", + "3. Note the **index name** and **API key** from the dashboard.\n", + "\n", + "Store both values securely in Colab secrets:" + ], + "metadata": { + "id": "XQgI4qJr0oFC" + } + }, + { + "cell_type": "code", + "source": [ + "os.environ['PINECONE_INDEX'] = userdata.get('PINECONE_INDEX')\n", + "os.environ['PINECONE_API_KEY'] = userdata.get('PINECONE_API_KEY')\n" + ], + "metadata": { + "id": "4Hyxry7D8Ivq" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.operations import CreateDestinationRequest\n", + "from unstructured_client.models.shared import CreateDestinationConnector\n", + "\n", + "destination_response = client.destinations.create_destination(\n", + " request=CreateDestinationRequest(\n", + " create_destination_connector=CreateDestinationConnector(\n", + " name=f\"Reranker Tutorial Destination Connector_\",\n", + " type=\"pinecone\",\n", + " config={\n", + " \"index_name\": os.environ.get(\"PINECONE_INDEX\"),\n", + " \"api_key\": os.environ.get(\"PINECONE_API_KEY\"),\n", + " \"batch_size\": 50,\n", + " \"namespace\": \"Default\" # Default Option\n", + " }\n", + " )\n", + " )\n", + ")\n", + "\n", + "pretty_print_model(destination_response.destination_connector_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "HZn6XbJw1DhQ", + "outputId": "2b0a2235-64b8-42e1-acdb-8d65cc733248" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"config\": {\n", + " \"api_key\": \"**********\",\n", + " \"batch_size\": 50,\n", + " \"index_name\": \"uns-demo-2\",\n", + " \"namespace\": \"Default\"\n", + " },\n", + " \"created_at\": \"2025-08-06T14:57:09.636042Z\",\n", + " \"id\": \"3122da51-b23b-415c-a544-e329ba964c66\",\n", + " \"name\": \"Reranker Tutorial Destination Connector_\",\n", + " \"type\": \"pinecone\",\n", + " \"updated_at\": \"2025-08-06T14:57:09.739495Z\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Next, we’ll wire everything together into a full document processing workflow.\n" + ], + "metadata": { + "id": "ZIy3Y1gEGpOj" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Creating a Document Processing Workflow\n", + "\n", + "Now that we have access to our data, the next step is setting up how it should be processed.\n", + "\n", + "We'll define a simple but powerful document pipeline using three key types of processing nodes:\n", + "\n", + "- **Partitioner** \n", + " This step takes raw, unstructured files and extracts structured content from them. \n", + " We'll use a **Vision-Language Model (VLM) Partitioner**, which leverages a model capable of understanding both text and layout information from documents — pulling out elements from each page with higher fidelity.\n", + "\n", + "- **Chunker** \n", + " After partitioning, the extracted elements are grouped into manageable \"chunks.\" \n", + " Chunking ensures that during retrieval, we can focus only on the most relevant sections of a document — not the whole thing.\n", + "\n", + "- **Embedder** \n", + " Finally, we'll generate vector embeddings for each chunk of text. \n", + " Embeddings are numeric representations that capture the meaning of the text, making it searchable and retrievable later on. We'll rely on an embedding provider to handle this step for us.\n", + "\n", + "Each node plays a critical role in making our documents **retrieval-ready** for downstream RAG applications.\n", + "\n", + "If you're curious about the different configuration options available for these processing steps, you can explore more details in the [Concepts documentation](https://docs.unstructured.io/ui/document-elements).\n" + ], + "metadata": { + "id": "onYT6ODu0uSp" + } + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.shared import (\n", + " WorkflowNode,\n", + " WorkflowType,\n", + " Schedule\n", + ")\n", + "\n", + "parition_node = WorkflowNode(\n", + " name=\"Partitioner\",\n", + " subtype=\"vlm\",\n", + " type=\"partition\",\n", + " settings={\n", + " \"provider\": \"anthropic\",\n", + " \"model\": \"claude-3-7-sonnet-20250219\",\n", + " }\n", + " )\n", + "\n", + "chunk_node = WorkflowNode(\n", + " name=\"Chunker\",\n", + " subtype=\"chunk_by_title\",\n", + " type=\"chunk\",\n", + " settings={\n", + " \"new_after_n_chars\": 1000,\n", + " \"max_characters\": 4096,\n", + " \"overlap\": 150\n", + " }\n", + ")\n", + "\n", + "embedder_node = WorkflowNode(\n", + " name='Embedder',\n", + " subtype='azure_openai',\n", + " type=\"embed\",\n", + " settings={\n", + " 'model_name': 'text-embedding-3-large'\n", + " }\n", + " )\n", + "\n", + "\n", + "response = client.workflows.create_workflow(\n", + " request={\n", + " \"create_workflow\": {\n", + " \"name\": f\"Reranker Tutorial Workflow_{time.time()}\",\n", + " \"source_id\": source_response.source_connector_information.id,\n", + " \"destination_id\": destination_response.destination_connector_information.id,\n", + " \"workflow_type\": WorkflowType.CUSTOM,\n", + " \"workflow_nodes\": [\n", + " parition_node,\n", + " chunk_node,\n", + " embedder_node\n", + " ]\n", + " }\n", + " }\n", + ")\n", + "\n", + "pretty_print_model(response.workflow_information)\n", + "workflow_id = response.workflow_information.id" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "g2tJmoCP0u1W", + "outputId": "0a2fab62-3528-494f-cc5c-845e61703070" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"created_at\": \"2025-08-06T14:57:11.657721Z\",\n", + " \"destinations\": [\n", + " \"3122da51-b23b-415c-a544-e329ba964c66\"\n", + " ],\n", + " \"id\": \"974f7a59-df45-469e-94d2-09e0ec1f2500\",\n", + " \"name\": \"Reranker Tutorial Workflow_1754492231.632472\",\n", + " \"sources\": [\n", + " \"e63b3e59-58e7-4e0b-90b3-85a7a6f5ad69\"\n", + " ],\n", + " \"status\": \"active\",\n", + " \"workflow_nodes\": [\n", + " {\n", + " \"name\": \"Partitioner\",\n", + " \"subtype\": \"vlm\",\n", + " \"type\": \"partition\",\n", + " \"id\": \"639c45c1-8009-4bfa-80a1-5e0e4b325467\",\n", + " \"settings\": {\n", + " \"provider\": \"anthropic\",\n", + " \"provider_api_key\": null,\n", + " \"model\": \"claude-3-7-sonnet-20250219\",\n", + " \"output_format\": \"text/html\",\n", + " \"prompt\": null,\n", + " \"format_html\": true,\n", + " \"unique_element_ids\": true,\n", + " \"is_dynamic\": false,\n", + " \"allow_fast\": true\n", + " }\n", + " },\n", + " {\n", + " \"name\": \"Chunker\",\n", + " \"subtype\": \"chunk_by_title\",\n", + " \"type\": \"chunk\",\n", + " \"id\": \"c51efc7d-6a8e-4663-b852-5bb5f7023539\",\n", + " \"settings\": {\n", + " \"unstructured_api_url\": null,\n", + " \"unstructured_api_key\": null,\n", + " \"multipage_sections\": false,\n", + " \"combine_text_under_n_chars\": null,\n", + " \"include_orig_elements\": false,\n", + " \"new_after_n_chars\": 1000,\n", + " \"max_characters\": 4096,\n", + " \"overlap\": 150,\n", + " \"overlap_all\": false,\n", + " \"contextual_chunking_strategy\": null\n", + " }\n", + " },\n", + " {\n", + " \"name\": \"Embedder\",\n", + " \"subtype\": \"azure_openai\",\n", + " \"type\": \"embed\",\n", + " \"id\": \"a34562a2-766d-4519-92be-4833288f7f83\",\n", + " \"settings\": {\n", + " \"model_name\": \"text-embedding-3-large\"\n", + " }\n", + " }\n", + " ],\n", + " \"reprocess_all\": false,\n", + " \"schedule\": {\n", + " \"crontab_entries\": []\n", + " },\n", + " \"updated_at\": \"2025-08-06T14:57:11.672337Z\",\n", + " \"workflow_type\": \"custom\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Running the workflow\n", + "\n", + "Now that we've defined how we want to process our documentation, let's start the workflow and wait for it to complete:" + ], + "metadata": { + "id": "CTrsjVhIqvTN" + } + }, + { + "cell_type": "code", + "source": [ + "res = client.workflows.run_workflow(\n", + " request={\n", + " \"workflow_id\": workflow_id,\n", + " }\n", + ")\n", + "\n", + "pretty_print_model(res.job_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "fuX5R8p37Src", + "outputId": "16f79d45-57ee-46f5-c001-7d415f7b7920" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"created_at\": \"2025-08-06T14:57:13.160450Z\",\n", + " \"id\": \"5dfaecab-e7f5-4ff2-84b6-6b460756bdf6\",\n", + " \"status\": \"SCHEDULED\",\n", + " \"workflow_id\": \"974f7a59-df45-469e-94d2-09e0ec1f2500\",\n", + " \"workflow_name\": \"Reranker Tutorial Workflow_1754492231.632472\",\n", + " \"job_type\": \"ephemeral\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "response = client.jobs.list_jobs(\n", + " request={\n", + " \"workflow_id\": workflow_id\n", + " }\n", + ")\n", + "\n", + "last_job = response.response_list_jobs[0]\n", + "job_id = last_job.id\n", + "print(f\"job_id: {job_id}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Cxc3G6DS7WDR", + "outputId": "d8034e8f-1b10-4bd1-ec15-8c8cab6d9895" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "job_id: 5dfaecab-e7f5-4ff2-84b6-6b460756bdf6\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Now that we've created and started a job, we can poll Unstructured's `get_job` endpoint and check for its status every 30s till completion" + ], + "metadata": { + "id": "A1zTfzanq4Vf" + } + }, + { + "cell_type": "code", + "source": [ + "import time\n", + "\n", + "def poll_job_status(job_id, wait_time=30):\n", + " while True:\n", + " response = client.jobs.get_job(\n", + " request={\n", + " \"job_id\": job_id\n", + " }\n", + " )\n", + "\n", + " job = response.job_information\n", + "\n", + " if job.status == \"SCHEDULED\":\n", + " print(f\"Job is scheduled, polling again in {wait_time} seconds...\")\n", + " time.sleep(wait_time)\n", + " elif job.status == \"IN_PROGRESS\":\n", + " print(f\"Job is in progress, polling again in {wait_time} seconds...\")\n", + " time.sleep(wait_time)\n", + " else:\n", + " print(\"Job is completed\")\n", + " break\n", + "\n", + " return job\n", + "\n", + "job = poll_job_status(job_id)\n", + "pretty_print_model(job)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "7-DJdmDQ7nki", + "outputId": "8ccbeb91-b3aa-4364-f948-64eadb6fae11" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Job is scheduled, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is completed\n", + "{\n", + " \"created_at\": \"2025-08-06T14:57:13.160450\",\n", + " \"id\": \"5dfaecab-e7f5-4ff2-84b6-6b460756bdf6\",\n", + " \"status\": \"COMPLETED\",\n", + " \"workflow_id\": \"974f7a59-df45-469e-94d2-09e0ec1f2500\",\n", + " \"workflow_name\": \"Reranker Tutorial Workflow_1754492231.632472\",\n", + " \"job_type\": \"ephemeral\",\n", + " \"runtime\": \"PT0S\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "At this point, we've completed all the foundational steps:\n", + "\n", + "- Extracted structured elements from raw documents using a **Partitioner**.\n", + "- Organized the extracted content into manageable chunks with a **Chunker**.\n", + "- Generated vector embeddings for those chunks through an **Embedder**.\n", + "\n", + "Our processed data is now stored and ready for retrieval.\n", + "\n", + "Next, we'll connect the pieces together and build a RAG pipeline that can answer questions grounded in this freshly structured knowledge base.\n", + "\n" + ], + "metadata": { + "id": "iMQbRKJ1NBwX" + } + }, + { + "cell_type": "markdown", + "source": [ + "# RAG 🧠\n", + "\n", + "With our patent documents now chunked, embedded, and stored in Pinecone — we’re ready to move into the **retrieval-augmented generation (RAG)** phase.\n", + "\n", + "In this section, we'll wire together:\n", + "- A **retriever**, backed by Pinecone, to pull relevant chunks.\n", + "- A **reranker**, using Cohere’s `rerank-english-v3.0`, to boost the most contextually relevant results.\n", + "- A **generator**, using OpenAI’s `gpt-4o`, to produce accurate, grounded answers based on that refined context.\n", + "\n", + "We’ll also wrap these into a clean RAG pipeline using LangChain’s modular components.\n", + "\n", + "\n", + "For this portion, we will be using:\n", + "\n", + "- **`pinecone-client`**: Native SDK to interact with Pinecone vector indices (for inserting, querying, and managing embeddings).\n", + "- **`cohere`**: Official client to access Cohere’s APIs — including rerankers and language models.\n", + "- **`langchain-*`**: A modular framework for chaining together LLMs, retrievers, tools, rerankers, and more — perfect for building custom RAG pipelines.\n", + "\n", + "Once everything's installed, we'll connect to our vector store, load our reranker, and build a chain that retrieves → reranks → generates.\n" + ], + "metadata": { + "id": "Y7imZgkEBOXn" + } + }, + { + "cell_type": "code", + "source": [ + "!pip install pinecone-client langchain-pinecone langchain-openai langchain-community cohere --upgrade --quiet\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "nOs3tfvDafSk", + "outputId": "cd40c08a-9874-46ce-9a9e-9586b1e0bd4b" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m70.4/70.4 kB\u001b[0m \u001b[31m2.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.5/2.5 MB\u001b[0m \u001b[31m28.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m259.5/259.5 kB\u001b[0m \u001b[31m10.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.3/3.3 MB\u001b[0m \u001b[31m25.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m46.3/46.3 kB\u001b[0m \u001b[31m1.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m587.6/587.6 kB\u001b[0m \u001b[31m9.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m45.2/45.2 kB\u001b[0m \u001b[31m2.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m50.9/50.9 kB\u001b[0m \u001b[31m1.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m240.0/240.0 kB\u001b[0m \u001b[31m10.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m52.2/52.2 kB\u001b[0m \u001b[31m3.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m42.3/42.3 kB\u001b[0m \u001b[31m2.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m44.3/44.3 kB\u001b[0m \u001b[31m1.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import os\n", + "import requests\n", + "import urllib3\n", + "from google.colab import userdata\n", + "import cohere\n", + "from pinecone import Pinecone\n", + "from langchain_openai import OpenAIEmbeddings, ChatOpenAI\n", + "from langchain_pinecone import PineconeVectorStore\n", + "from langchain.schema import Document\n", + "from langchain.callbacks import get_openai_callback\n" + ], + "metadata": { + "id": "JnHFw0t2H49B" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Now that we’ve installed our libraries, it’s time to wire up the APIs. We’ll be using three providers in this RAG pipeline:\n", + "\n", + "\n", + "- **Cohere**: for reranking retrieved chunks based on their actual relevance to a query.\n", + "- **OpenAI**: for generating answers with `gpt-4o`.\n", + "- **Pinecone**: to query the vector index we populated earlier.\n", + "\n", + "We’ll securely fetch each API key from Colab secrets" + ], + "metadata": { + "id": "OTyWC4j7IPEn" + } + }, + { + "cell_type": "code", + "source": [ + "# Set your API keys using Colab userdata\n", + "os.environ['COHERE_API_KEY'] = userdata.get(\"COHERE_API_KEY\")\n", + "os.environ[\"OPENAI_API_KEY\"] = userdata.get(\"OPENAI_API_KEY\")\n", + "os.environ[\"PINECONE_API_KEY\"] = userdata.get(\"PINECONE_API_KEY\")\n", + "os.environ[\"PINECONE_INDEX\"] = userdata.get(\"PINECONE_INDEX\")\n", + "\n", + "# Initialize Cohere client\n", + "cohere_client = cohere.Client(os.environ['COHERE_API_KEY'])" + ], + "metadata": { + "id": "K-JkRoYks5Ka" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "🛠 Fixing Pinecone in Colab\n", + "\n", + "If you're running this in a Colab environment, Pinecone’s client can sometimes misbehave due to Colab’s proxy settings.\n", + "\n", + "This little fix disables warnings and clears proxy-related environment variables:" + ], + "metadata": { + "id": "Hv0Oj6HMIZ1W" + } + }, + { + "cell_type": "code", + "source": [ + "# run this to ensure pinecone client works in your colab environment\n", + "urllib3.disable_warnings()\n", + "\n", + "# Clear proxy environment variables that might cause connection issues\n", + "proxy_vars = ['HTTP_PROXY', 'HTTPS_PROXY', 'http_proxy', 'https_proxy']\n", + "for var in proxy_vars:\n", + " if var in os.environ:\n", + " del os.environ[var]\n", + "\n", + "original_getproxies = requests.utils.getproxies\n", + "requests.utils.getproxies = lambda: {}" + ], + "metadata": { + "id": "8IsTOabPitVl" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Before wiring things up, here’s a breakdown of the core functions used in this section.\n", + "\n", + "- `connect_pinecone(index_name: str)` \n", + " Sets up a connection to the Pinecone index and wraps it as a LangChain-compatible vectorstore using OpenAI’s `text-embedding-3-large`. Returns the vectorstore so we can use it for retrieval.\n", + "\n", + "- `retrieve_docs(vectorstore, query: str, k: int = 20)` \n", + " Performs basic similarity search against the vectorstore. Grabs the top-k chunks closest to the query based on embeddings.\n", + "\n", + "- `rerank_docs(query: str, docs: list[Document], top_n: int = 5)` \n", + " Takes the initial retrieved results and reorders them using Cohere’s reranker model. This lets us prioritize documents that are actually useful for answering the question — not just semantically close.\n", + "\n", + "- `generate_answer(query: str, docs: list[Document])` \n", + " Feeds the reranked context to GPT-4o to generate a final answer." + ], + "metadata": { + "id": "tonjlb1VKHU0" + } + }, + { + "cell_type": "code", + "source": [ + "def connect_pinecone(index_name: str):\n", + " \"\"\"\n", + " Connect to Pinecone vectorstore\n", + "\n", + " Args:\n", + " index_name: Name of the Pinecone index\n", + "\n", + " Returns:\n", + " Configured vectorstore\n", + " \"\"\"\n", + " try:\n", + " embeddings = OpenAIEmbeddings(model=\"text-embedding-3-large\")\n", + " pc = Pinecone(api_key=os.environ[\"PINECONE_API_KEY\"])\n", + " index = pc.Index(index_name)\n", + "\n", + " vectorstore = PineconeVectorStore(\n", + " index=index,\n", + " embedding=embeddings,\n", + " text_key=\"text\",\n", + " namespace='Default'\n", + " )\n", + "\n", + " print(f\"Connected to Pinecone index: {index_name}\")\n", + " return vectorstore\n", + "\n", + " except Exception as e:\n", + " print(f\"Failed to connect to Pinecone: {e}\")\n", + " return None\n", + "\n", + "\n", + "def retrieve_docs(vectorstore, query: str, k: int = 20):\n", + " \"\"\"\n", + " Retrieve documents from vectorstore\n", + "\n", + " Args:\n", + " vectorstore: Pinecone vectorstore\n", + " query: Search query\n", + " k: Number of documents to retrieve\n", + "\n", + " Returns:\n", + " List of relevant documents\n", + " \"\"\"\n", + " try:\n", + " docs = vectorstore.similarity_search(query, k=k)\n", + " print(f\"Retrieved {len(docs)} documents\")\n", + " return docs\n", + " except Exception as e:\n", + " print(f\"Document retrieval failed: {e}\")\n", + " return []\n", + "\n", + "def rerank_docs(query: str, docs: list[Document], top_n: int = 5):\n", + " \"\"\"\n", + " Rerank documents using Cohere's reranking model\n", + "\n", + " Args:\n", + " query: Original search query\n", + " docs: List of retrieved documents\n", + " top_n: Number of top documents to return\n", + "\n", + " Returns:\n", + " List of reranked documents\n", + " \"\"\"\n", + " try:\n", + " response = cohere_client.rerank(\n", + " query=query,\n", + " documents=[doc.page_content for doc in docs],\n", + " top_n=top_n,\n", + " model=\"rerank-english-v3.0\"\n", + " )\n", + "\n", + " reranked_docs = [docs[r.index] for r in response.results]\n", + " print(f\"Reranked to top {len(reranked_docs)} documents\")\n", + " return reranked_docs\n", + "\n", + " except Exception as e:\n", + " print(f\"Reranking failed: {e}\")\n", + " return docs[:top_n] # Fallback\n", + "\n", + "def generate_answer(query: str, docs: list[Document]):\n", + " \"\"\"\n", + " Generate answer using retrieved documents\n", + "\n", + " Args:\n", + " query: User question\n", + " docs: List of relevant documents\n", + "\n", + " Returns:\n", + " Generated answer\n", + " \"\"\"\n", + " try:\n", + " llm = ChatOpenAI(model=\"gpt-4o\", temperature=0)\n", + " context = \"\\n\\n\".join([doc.page_content for doc in docs])\n", + "\n", + " prompt = f\"\"\"Answer the following question using the context below. Answer only based on the context provided, if there is not enough information, mention that there's not enough information:\n", + "\n", + " Context:\n", + " {context}\n", + "\n", + " Question: {query}\n", + "\n", + " Answer:\"\"\"\n", + " with get_openai_callback() as cb:\n", + " response = llm.invoke(prompt)\n", + "\n", + " result = {\n", + " \"answer\": response.content,\n", + " \"prompt_tokens\": cb.prompt_tokens,\n", + " \"completion_tokens\": cb.completion_tokens,\n", + " \"total_tokens\": cb.total_tokens,\n", + " \"total_cost\": cb.total_cost\n", + " }\n", + " return result\n", + "\n", + " except Exception as e:\n", + " print(f\"Answer generation failed: {e}\")\n", + " return None\n", + "\n", + "# Connect to vectorstore\n", + "vectorstore = connect_pinecone(os.environ[\"PINECONE_INDEX\"])\n", + "\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "LhJw9h3DtG4M", + "outputId": "d490c77b-794b-4a4d-ff71-01c1b92cbaee" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Connected to Pinecone index: uns-demo1\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Vanilla RAG\n", + "\n", + "We’ll start with a simple retrieval-augmented generation setup: grab the top-k documents from Pinecone using embedding similarity, and pass them directly to GPT-4o.\n" + ], + "metadata": { + "id": "IUBBvWKGMrB2" + } + }, + { + "cell_type": "code", + "source": [ + "class BasicRAGSystem:\n", + " def __init__(self, vectorstore, k=10):\n", + " self.vectorstore = vectorstore\n", + " self.k = k\n", + "\n", + " def query(self, question):\n", + " \"\"\"Execute basic RAG pipeline\"\"\"\n", + "\n", + " # Retrieve documents\n", + " docs = retrieve_docs(self.vectorstore, question, k=self.k)\n", + "\n", + " # Generate answer\n", + " answer = generate_answer(question, docs)\n", + "\n", + "\n", + " result = {\n", + " \"documents\": docs,\n", + " \"num_docs\": len(docs)\n", + " }\n", + " result.update(answer)\n", + "\n", + " return result\n", + "\n", + "basic_rag = BasicRAGSystem(vectorstore,10)\n", + "\n" + ], + "metadata": { + "id": "qw1HcYKSvig6" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "test_query = \"What is the primary function of the context analysis engine described in US11886826B1?\"\n", + "\n", + "print(\"Basic RAG Results:\")\n", + "print(\"-\" * 50)\n", + "basic_result = basic_rag.query(test_query)\n", + "\n", + "print(f\"Answer: {basic_result['answer']}\")\n", + "print(f\"Retrieved {basic_result['num_docs']} documents\")\n", + "print(f\"Total Tokens: {basic_result['total_tokens']}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ALLZZ7gQvsNZ", + "outputId": "3e708506-8318-4b52-9244-3138ef8c17d7" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Basic RAG Results:\n", + "--------------------------------------------------\n", + "Retrieved 10 documents\n", + "Answer: The primary function of the context analysis engine described in US11886826B1 is to analyze input data and/or user instructions to output a set of context parameters associated with the input data. These context parameters may include information such as location (\"where\"), person (\"who\"), time period or time of day (\"when\"), event (\"what\"), or causal reasoning (\"why\") associated with the input data. The context analysis engine may also retain the output of the set of context parameters through multiple iterations of execution, allowing for retention of context information for changes without needing to reload large amounts of information.\n", + "Retrieved 10 documents\n", + "Total Tokens: 7741\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "The vanilla setup gets the right answer here. It finds the relevant chunk in the top 10 and generates a clean response.\n", + "\n", + "Now let's try a more complex question" + ], + "metadata": { + "id": "U9s9WUB8MAEV" + } + }, + { + "cell_type": "code", + "source": [ + "test_query = \"Which of the two patents does not reference reward‑based optimization, and what training approach does it use instead?\"\n", + "\n", + "print(\"Basic RAG Results:\")\n", + "print(\"-\" * 50)\n", + "basic_result = basic_rag.query(test_query)\n", + "\n", + "print(f\"Answer: {basic_result['answer']}\")\n", + "print(f\"Retrieved {basic_result['num_docs']} documents\")\n", + "print(f\"Total Tokens: {basic_result['total_tokens']}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "QEp5dJ76MKKf", + "outputId": "2a72400d-fa14-46cc-8cac-6b1dda490aaf" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Basic RAG Results:\n", + "--------------------------------------------------\n", + "Retrieved 10 documents\n", + "Answer: There's not enough information to determine which of the two patents does not reference reward-based optimization and what training approach it uses instead.\n", + "Retrieved 10 documents\n", + "Total Tokens: 7234\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Even though we retrieved 10 chunks, none had what we needed. Let's try out a different approach to fetch the chunks **most relavant** to the query." + ], + "metadata": { + "id": "i2Ay_UciMQfI" + } + }, + { + "cell_type": "markdown", + "source": [ + "### RAG with Reranking\n", + "\n", + "\n", + "Plain vector search can only get us so far. It’s fast and useful, but it’s not perfect, sometimes the right chunk doesn’t make it into the top-10.\n", + "\n", + "To fix this, we add a reranking step.\n", + "\n", + "Here’s how it works:\n", + "\n", + "- First, we fetch a **larger set of candidate chunks** — say 30 — from the vectorstore.\n", + "- Then we use a **reranker model** (in this case, Cohere’s `rerank-english-v3.0`) to score each chunk by how well it matches the question.\n", + "- We keep only the **top-N** (e.g. top 10) reranked chunks and send those to the LLM.\n", + "\n", + "This extra scoring step helps surface the most relevant content, especially for nuanced or multi-part questions that vector search might miss.\n", + "\n", + "\n" + ], + "metadata": { + "id": "0QMpaRyQMtpR" + } + }, + { + "cell_type": "code", + "source": [ + "class EnhancedRAGSystem:\n", + " def __init__(self, vectorstore, k=40, top_n=20):\n", + " self.vectorstore = vectorstore\n", + " self.k = k\n", + " self.top_n = top_n\n", + "\n", + " def query(self, question):\n", + " \"\"\"Execute enhanced RAG pipeline with reranking\"\"\"\n", + "\n", + " initial_docs = retrieve_docs(self.vectorstore, question, k=self.k)\n", + "\n", + " reranked_docs = rerank_docs(question, initial_docs, top_n=self.top_n)\n", + "\n", + " answer = generate_answer(question, reranked_docs)\n", + "\n", + " result = {\n", + " \"documents\": reranked_docs,\n", + " \"initial_docs\": initial_docs,\n", + " \"num_docs\": len(reranked_docs)\n", + " }\n", + " result.update(answer)\n", + " return result\n", + "\n", + "# Initialize enhanced RAG system to fetch 30 candidate docs -> 10 reranked docs\n", + "enhanced_rag = EnhancedRAGSystem(vectorstore,30,10)\n" + ], + "metadata": { + "id": "_ElPAmYgvtfj" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "And now, a query that failed with Vanilla RAG" + ], + "metadata": { + "id": "L4cESO-8Nz9J" + } + }, + { + "cell_type": "code", + "source": [ + "test_query = \"Which of the two patents does not reference reward‑based optimization, and what training approach does it use instead?\"\n", + "\n", + "print(\"\\nEnhanced RAG with Reranking:\")\n", + "print(\"-\" * 50)\n", + "enhanced_result = enhanced_rag.query(test_query)\n", + "\n", + "print(f\"Answer: {enhanced_result['answer']}\")\n", + "print(f\"Retrieved {enhanced_result['num_docs']} documents (from {len(enhanced_result['initial_docs'])} initial)\")\n", + "print(f\"Total Tokens: {enhanced_result['total_tokens']}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "NUulXbcFv2ww", + "outputId": "eb555370-1487-4392-ff98-95722576ddac" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "Enhanced RAG with Reranking:\n", + "--------------------------------------------------\n", + "Retrieved 30 documents\n", + "Reranked to top 10 documents\n", + "Answer: The patent US 11,886,826 B1 does not reference reward-based optimization. Instead, it uses an iterative training approach based on one or more datasets, which may include user instruction data or user-labeled data.\n", + "Retrieved 10 documents (from 30 initial)\n", + "Total Tokens: 7662\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "So what changed?\n", + "\n", + "Turns out the key chunk was buried deeper in the retrieval set, somewhere in the top 30, but not in the top 10 that vanilla RAG uses.\n", + "\n", + "With reranking, we’re able to pull it up and pass it to the LLM, which now has enough signal to answer correctly.\n" + ], + "metadata": { + "id": "0vCKuBqZOkSa" + } + }, + { + "cell_type": "markdown", + "source": [ + "### Why not send the entire context to the LLM?\n", + "\n", + "Let's test it out." + ], + "metadata": { + "id": "s6pH1Q31M-ih" + } + }, + { + "cell_type": "code", + "source": [ + "basic_rag = BasicRAGSystem(vectorstore,30)\n", + "test_query = \"Which of the two patents does not reference reward‑based optimization, and what training approach does it use instead?\"\n", + "\n", + "print(\"Basic RAG Results:\")\n", + "print(\"-\" * 50)\n", + "basic_result = basic_rag.query(test_query)\n", + "\n", + "print(f\"Answer: {basic_result['answer']}\")\n", + "print(f\"Retrieved {basic_result['num_docs']} documents\")\n", + "print(f\"Total Tokens: {basic_result['total_tokens']}\")" + ], + "metadata": { + "id": "SqIT4IBGCiYZ", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "9a9c1abd-3a43-4060-ce28-225cca5a3197" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Basic RAG Results:\n", + "--------------------------------------------------\n", + "Retrieved 30 documents\n", + "Answer: The patent that does not reference reward-based optimization is US 2024/0256582 A1. Instead, it uses a training approach that involves generating a set of search results for a search query and providing the set of search results as part of an input prompt to guide a generative AI model in generating a summary response of the set of search results.\n", + "Retrieved 30 documents\n", + "Total Tokens: 22521\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "\n", + "print(\"\\nEnhanced RAG with Reranking:\")\n", + "print(\"-\" * 50)\n", + "enhanced_result = enhanced_rag.query(test_query)\n", + "\n", + "print(f\"Answer: {enhanced_result['answer']}\")\n", + "print(f\"Retrieved {enhanced_result['num_docs']} documents (from {len(enhanced_result['initial_docs'])} initial)\")\n", + "print(f\"Total Tokens: {enhanced_result['total_tokens']}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "SEN3_Yyx-RvK", + "outputId": "a3370c05-1acc-4911-98ca-f32dcbef0338" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "Enhanced RAG with Reranking:\n", + "--------------------------------------------------\n", + "Retrieved 30 documents\n", + "Reranked to top 10 documents\n", + "Answer: The patent US 11,886,826 B1 does not reference reward-based optimization. Instead, it uses an iterative training approach based on one or more datasets, which may include user instruction data or user-labeled data.\n", + "Retrieved 10 documents (from 30 initial)\n", + "Total Tokens: 7662\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Here, Vanilla RAG also gave a confused answer from using all 30 chunks as context and the cost difference is also huge.\n", + "\n", + "- **Vanilla RAG (k=30)** sends all 30 chunks straight to the LLM.\n", + "- **Reranked RAG** pulls 30 candidates, scores them, and keeps only the top 10.\n", + "\n", + "That’s **3x fewer tokens** for the same output.\n", + "\n", + "This isn’t just about cost. With longer inputs, LLM latency also goes up. \n", + "Reranking helps us trim the fat and stay within context limits without sacrificing accuracy.\n", + "\n", + "So if you're going to over-fetch from the vector store, it's almost always better to rerank before you send." + ], + "metadata": { + "id": "nB7IBMgbPSAr" + } + }, + { + "cell_type": "markdown", + "source": [ + "If you’re building anything question-answering or doc-heavy, try plugging in a reranker. \n", + "It’s a simple addition that can boost accuracy, trim cost, and make your LLMs look smarter.\n", + "\n", + "You can adapt the exact same setup to papers, reports, contracts — anything longform where chunk retrieval alone might not cut it.\n", + "\n", + "Start from this notebook, swap in your own data, and see what changes." + ], + "metadata": { + "id": "rlDHmBDD0BbH" + } + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "5m65iCtPwIWW" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/notebooks/Rag_without_Embeddings.ipynb b/notebooks/Rag_without_Embeddings.ipynb new file mode 100644 index 0000000..6020f5f --- /dev/null +++ b/notebooks/Rag_without_Embeddings.ipynb @@ -0,0 +1,1140 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# RAG without embeddings: A keyword-first retrieval stack\n", + "\n", + "Not every search problem needs a vector store.\n", + "\n", + "There are plenty of use cases especially in incident response, enterprise ops, or tightly-scoped document corpora where plain old keyword retrieval can get you surprisingly far.\n", + "\n", + "This notebook explores what that looks like in practice: \n", + "A **BM25-powered RAG pipeline** built entirely without embeddings.\n", + "\n", + "We’ll use:\n", + "- **Unstructured** to extract and chunk source docs from S3\n", + "- **Elasticsearch Serverless** to handle retrieval via BM25\n", + "- **LangChain + OpenAI** to run natural language queries over the results\n", + "\n", + "Along the way, we’ll see where this setup shines and where it quietly falls apart. \n", + "Some queries will resolve beautifully. Others will fail in subtle ways, with answers that *sound* right but aren't grounded.\n", + "\n", + "This isn’t about proving BM25 is enough. It’s about understanding what you get when you start simple.\n" + ], + "metadata": { + "id": "bJSlGjQx0XvA" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "bBCWCbIH-y2B", + "outputId": "6b41b07d-0b80-4336-de7e-8e5e92fedfa2" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting unstructured-client\n", + " Downloading unstructured_client-0.42.1-py3-none-any.whl.metadata (23 kB)\n", + "Collecting elasticsearch\n", + " Downloading elasticsearch-9.1.0-py3-none-any.whl.metadata (8.4 kB)\n", + "Collecting langchain-community\n", + " Downloading langchain_community-0.3.27-py3-none-any.whl.metadata (2.9 kB)\n", + "Collecting langchain-openai\n", + " Downloading langchain_openai-0.3.28-py3-none-any.whl.metadata (2.3 kB)\n", + "Collecting langchain-elasticsearch\n", + " Downloading langchain_elasticsearch-0.3.2-py3-none-any.whl.metadata (8.3 kB)\n", + "Requirement already satisfied: aiofiles>=24.1.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (24.1.0)\n", + "Requirement already satisfied: cryptography>=3.1 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (43.0.3)\n", + "Requirement already satisfied: httpcore>=1.0.9 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (1.0.9)\n", + "Requirement already satisfied: httpx>=0.27.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (0.28.1)\n", + "Requirement already satisfied: pydantic>=2.11.2 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (2.11.7)\n", + "Collecting pypdf>=4.0 (from unstructured-client)\n", + " Downloading pypdf-5.9.0-py3-none-any.whl.metadata (7.1 kB)\n", + "Requirement already satisfied: requests-toolbelt>=1.0.0 in /usr/local/lib/python3.11/dist-packages (from unstructured-client) (1.0.0)\n", + "Collecting elastic-transport<10,>=9.1.0 (from elasticsearch)\n", + " Downloading elastic_transport-9.1.0-py3-none-any.whl.metadata (3.9 kB)\n", + "Requirement already satisfied: python-dateutil in /usr/local/lib/python3.11/dist-packages (from elasticsearch) (2.9.0.post0)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.11/dist-packages (from elasticsearch) (4.14.1)\n", + "Requirement already satisfied: langchain-core<1.0.0,>=0.3.66 in /usr/local/lib/python3.11/dist-packages (from langchain-community) (0.3.72)\n", + "Requirement already satisfied: langchain<1.0.0,>=0.3.26 in /usr/local/lib/python3.11/dist-packages (from langchain-community) (0.3.27)\n", + "Requirement already satisfied: SQLAlchemy<3,>=1.4 in /usr/local/lib/python3.11/dist-packages (from langchain-community) (2.0.41)\n", + "Requirement already satisfied: requests<3,>=2 in /usr/local/lib/python3.11/dist-packages (from langchain-community) (2.32.3)\n", + "Requirement already satisfied: PyYAML>=5.3 in /usr/local/lib/python3.11/dist-packages (from langchain-community) (6.0.2)\n", + "Requirement already satisfied: aiohttp<4.0.0,>=3.8.3 in /usr/local/lib/python3.11/dist-packages (from langchain-community) (3.12.14)\n", + "Requirement already satisfied: tenacity!=8.4.0,<10,>=8.1.0 in /usr/local/lib/python3.11/dist-packages (from langchain-community) (8.5.0)\n", + "Collecting dataclasses-json<0.7,>=0.5.7 (from langchain-community)\n", + " Downloading dataclasses_json-0.6.7-py3-none-any.whl.metadata (25 kB)\n", + "Collecting pydantic-settings<3.0.0,>=2.4.0 (from langchain-community)\n", + " Downloading pydantic_settings-2.10.1-py3-none-any.whl.metadata (3.4 kB)\n", + "Requirement already satisfied: langsmith>=0.1.125 in /usr/local/lib/python3.11/dist-packages (from langchain-community) (0.4.8)\n", + "Collecting httpx-sse<1.0.0,>=0.4.0 (from langchain-community)\n", + " Downloading httpx_sse-0.4.1-py3-none-any.whl.metadata (9.4 kB)\n", + "Requirement already satisfied: numpy>=1.26.2 in /usr/local/lib/python3.11/dist-packages (from langchain-community) (2.0.2)\n", + "Requirement already satisfied: openai<2.0.0,>=1.86.0 in /usr/local/lib/python3.11/dist-packages (from langchain-openai) (1.97.1)\n", + "Requirement already satisfied: tiktoken<1,>=0.7 in /usr/local/lib/python3.11/dist-packages (from langchain-openai) (0.9.0)\n", + "Collecting elasticsearch\n", + " Downloading elasticsearch-8.19.0-py3-none-any.whl.metadata (9.2 kB)\n", + "Collecting elastic-transport<9,>=8.15.1 (from elasticsearch)\n", + " Downloading elastic_transport-8.17.1-py3-none-any.whl.metadata (3.8 kB)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.5.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (2.6.1)\n", + "Requirement already satisfied: aiosignal>=1.4.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (1.4.0)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (25.3.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.11/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (1.7.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.11/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (6.6.3)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (0.3.2)\n", + "Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (1.20.1)\n", + "Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.11/dist-packages (from cryptography>=3.1->unstructured-client) (1.17.1)\n", + "Collecting marshmallow<4.0.0,>=3.18.0 (from dataclasses-json<0.7,>=0.5.7->langchain-community)\n", + " Downloading marshmallow-3.26.1-py3-none-any.whl.metadata (7.3 kB)\n", + "Collecting typing-inspect<1,>=0.4.0 (from dataclasses-json<0.7,>=0.5.7->langchain-community)\n", + " Downloading typing_inspect-0.9.0-py3-none-any.whl.metadata (1.5 kB)\n", + "Requirement already satisfied: urllib3<3,>=1.26.2 in /usr/local/lib/python3.11/dist-packages (from elastic-transport<9,>=8.15.1->elasticsearch) (2.5.0)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.11/dist-packages (from elastic-transport<9,>=8.15.1->elasticsearch) (2025.7.14)\n", + "Requirement already satisfied: simsimd>=3 in /usr/local/lib/python3.11/dist-packages (from elasticsearch[vectorstore-mmr]<9.0.0,>=8.13.1->langchain-elasticsearch) (6.5.0)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.11/dist-packages (from httpcore>=1.0.9->unstructured-client) (0.16.0)\n", + "Requirement already satisfied: anyio in /usr/local/lib/python3.11/dist-packages (from httpx>=0.27.0->unstructured-client) (4.9.0)\n", + "Requirement already satisfied: idna in /usr/local/lib/python3.11/dist-packages (from httpx>=0.27.0->unstructured-client) (3.10)\n", + "Requirement already satisfied: langchain-text-splitters<1.0.0,>=0.3.9 in /usr/local/lib/python3.11/dist-packages (from langchain<1.0.0,>=0.3.26->langchain-community) (0.3.9)\n", + "Requirement already satisfied: jsonpatch<2.0,>=1.33 in /usr/local/lib/python3.11/dist-packages (from langchain-core<1.0.0,>=0.3.66->langchain-community) (1.33)\n", + "Requirement already satisfied: packaging>=23.2 in /usr/local/lib/python3.11/dist-packages (from langchain-core<1.0.0,>=0.3.66->langchain-community) (25.0)\n", + "Requirement already satisfied: orjson<4.0.0,>=3.9.14 in /usr/local/lib/python3.11/dist-packages (from langsmith>=0.1.125->langchain-community) (3.11.1)\n", + "Requirement already satisfied: zstandard<0.24.0,>=0.23.0 in /usr/local/lib/python3.11/dist-packages (from langsmith>=0.1.125->langchain-community) (0.23.0)\n", + "Requirement already satisfied: distro<2,>=1.7.0 in /usr/local/lib/python3.11/dist-packages (from openai<2.0.0,>=1.86.0->langchain-openai) (1.9.0)\n", + "Requirement already satisfied: jiter<1,>=0.4.0 in /usr/local/lib/python3.11/dist-packages (from openai<2.0.0,>=1.86.0->langchain-openai) (0.10.0)\n", + "Requirement already satisfied: sniffio in /usr/local/lib/python3.11/dist-packages (from openai<2.0.0,>=1.86.0->langchain-openai) (1.3.1)\n", + "Requirement already satisfied: tqdm>4 in /usr/local/lib/python3.11/dist-packages (from openai<2.0.0,>=1.86.0->langchain-openai) (4.67.1)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.33.2 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (2.33.2)\n", + "Requirement already satisfied: typing-inspection>=0.4.0 in /usr/local/lib/python3.11/dist-packages (from pydantic>=2.11.2->unstructured-client) (0.4.1)\n", + "Collecting python-dotenv>=0.21.0 (from pydantic-settings<3.0.0,>=2.4.0->langchain-community)\n", + " Downloading python_dotenv-1.1.1-py3-none-any.whl.metadata (24 kB)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests<3,>=2->langchain-community) (3.4.2)\n", + "Requirement already satisfied: greenlet>=1 in /usr/local/lib/python3.11/dist-packages (from SQLAlchemy<3,>=1.4->langchain-community) (3.2.3)\n", + "Requirement already satisfied: regex>=2022.1.18 in /usr/local/lib/python3.11/dist-packages (from tiktoken<1,>=0.7->langchain-openai) (2024.11.6)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil->elasticsearch) (1.17.0)\n", + "Requirement already satisfied: pycparser in /usr/local/lib/python3.11/dist-packages (from cffi>=1.12->cryptography>=3.1->unstructured-client) (2.22)\n", + "Requirement already satisfied: jsonpointer>=1.9 in /usr/local/lib/python3.11/dist-packages (from jsonpatch<2.0,>=1.33->langchain-core<1.0.0,>=0.3.66->langchain-community) (3.0.0)\n", + "Collecting mypy-extensions>=0.3.0 (from typing-inspect<1,>=0.4.0->dataclasses-json<0.7,>=0.5.7->langchain-community)\n", + " Downloading mypy_extensions-1.1.0-py3-none-any.whl.metadata (1.1 kB)\n", + "Downloading unstructured_client-0.42.1-py3-none-any.whl (207 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m207.2/207.2 kB\u001b[0m \u001b[31m9.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading langchain_community-0.3.27-py3-none-any.whl (2.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.5/2.5 MB\u001b[0m \u001b[31m56.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading langchain_openai-0.3.28-py3-none-any.whl (70 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m70.6/70.6 kB\u001b[0m \u001b[31m3.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading langchain_elasticsearch-0.3.2-py3-none-any.whl (45 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m46.0/46.0 kB\u001b[0m \u001b[31m2.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading elasticsearch-8.19.0-py3-none-any.whl (926 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m926.9/926.9 kB\u001b[0m \u001b[31m30.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading dataclasses_json-0.6.7-py3-none-any.whl (28 kB)\n", + "Downloading elastic_transport-8.17.1-py3-none-any.whl (64 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m65.0/65.0 kB\u001b[0m \u001b[31m4.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading httpx_sse-0.4.1-py3-none-any.whl (8.1 kB)\n", + "Downloading pydantic_settings-2.10.1-py3-none-any.whl (45 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m45.2/45.2 kB\u001b[0m \u001b[31m3.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pypdf-5.9.0-py3-none-any.whl (313 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m313.2/313.2 kB\u001b[0m \u001b[31m18.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading marshmallow-3.26.1-py3-none-any.whl (50 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m50.9/50.9 kB\u001b[0m \u001b[31m2.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading python_dotenv-1.1.1-py3-none-any.whl (20 kB)\n", + "Downloading typing_inspect-0.9.0-py3-none-any.whl (8.8 kB)\n", + "Downloading mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)\n", + "Installing collected packages: python-dotenv, pypdf, mypy-extensions, marshmallow, httpx-sse, elastic-transport, typing-inspect, elasticsearch, unstructured-client, pydantic-settings, dataclasses-json, langchain-openai, langchain-elasticsearch, langchain-community\n", + "Successfully installed dataclasses-json-0.6.7 elastic-transport-8.17.1 elasticsearch-8.19.0 httpx-sse-0.4.1 langchain-community-0.3.27 langchain-elasticsearch-0.3.2 langchain-openai-0.3.28 marshmallow-3.26.1 mypy-extensions-1.1.0 pydantic-settings-2.10.1 pypdf-5.9.0 python-dotenv-1.1.1 typing-inspect-0.9.0 unstructured-client-0.42.1\n" + ] + } + ], + "source": [ + "!pip install -U unstructured-client elasticsearch langchain-community langchain-openai langchain-elasticsearch" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Setting up credentials and environment variables\n", + "\n", + "Before we define our workflow, we’ll load the necessary credentials for all the external services we’ll be using — Unstructured, AWS S3 (as our source), and Elasticsearch (as our destination).\n", + "\n", + "These are securely pulled from Colab secrets using `userdata.get(...)`, so make sure you’ve already added them via the “🔐 Secrets” tab in Colab.\n", + "\n", + "Here’s what each one is used for:\n", + "\n", + "- **Unstructured API key**: Required to access the Unstructured Workflows API.\n", + "- **S3 credentials**: Used to fetch documents from an S3 bucket or folder.\n", + "- **Elasticsearch credentials**: Used to push the processed, structured data into an Elasticsearch Serverless index.\n", + "\n", + "---\n", + "\n", + "### Where to get these values\n", + "\n", + "Here’s a quick guide on how to fetch the required credentials:\n", + "\n", + "#### 🔑 Unstructured API Key\n", + "[Contact us](https://unstructured.io/enterprise) to get access or log in if you're already a user.\n", + "\n", + "\n", + "#### 🪣 S3 Credentials\n", + "We’re using the [S3 Source Connector](https://docs.unstructured.io/api-reference/workflow/sources/s3). You’ll need:\n", + "\n", + "- **AWS Access Key ID** and **Secret Access Key**: You can create these from your AWS IAM dashboard by creating a user with “AmazonS3ReadOnlyAccess” or similar permissions.\n", + "- **S3 Remote URL**: This should point to the folder or bucket you want to ingest from — e.g. `s3://your-bucket-name/path-to-folder/`. Make sure it’s in URI format.\n", + "\n", + "\n", + "\n", + "#### 🔍 Elasticsearch (Serverless)\n", + "We’re using the [Elasticsearch destination connector](https://docs.unstructured.io/api-reference/workflow/destinations/elasticsearch). To set this up:\n", + "\n", + "1. Go to [https://cloud.elastic.co](https://cloud.elastic.co) and create a **Serverless Project**.\n", + "2. Under **Project Settings → API Keys**, create a new key.\n", + "3. Grab the following values:\n", + " - **API key** (you’ll use this as `ES_API_KEY`)\n", + " - **Deployment URL** (this becomes `ES_HOST_NAME`)\n", + " - Your target **index name** (set this as `ES_INDEX_NAME`)\n", + "\n", + "That’s it — once these are in place as secrets, we’re ready to configure the connectors programmatically in the next step.\n" + ], + "metadata": { + "id": "lKwIDPhOt43L" + } + }, + { + "cell_type": "code", + "source": [ + "import os\n", + "import time\n", + "from datetime import datetime\n", + "from google.colab import userdata\n", + "\n", + "# Unstructured\n", + "os.environ['UNSTRUCTURED_API_KEY'] = userdata.get('UNSTRUCTURED_API_KEY')\n", + "\n", + "# AWS S3\n", + "os.environ['AWS_ACCESS'] = userdata.get('AWS_ACCESS')\n", + "os.environ['AWS_SECRET'] = userdata.get('AWS_SECRET')\n", + "os.environ['S3_REMOTE_URL'] = userdata.get(\"S3_REMOTE_URL\")\n", + "\n", + "\n", + "# Elasticsearch Serverless\n", + "os.environ['ES_INDEX_NAME'] = userdata.get('ES_INDEX_NAME')\n", + "os.environ['ES_HOST_NAME'] = userdata.get('ES_HOST_NAME')\n", + "os.environ['ES_API_KEY'] = userdata.get('ES_API_KEY')\n", + "\n", + "\n", + "\n" + ], + "metadata": { + "id": "xzK2Wkd4_B78" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# instantiate Unstructured Client\n", + "from unstructured_client import UnstructuredClient\n", + "\n", + "unstructured_client = UnstructuredClient(api_key_auth=os.environ['UNSTRUCTURED_API_KEY'])\n", + "\n", + "# helper function\n", + "def pretty_print_model(response_model):\n", + " print(response_model.model_dump_json(indent=4))" + ], + "metadata": { + "id": "F5ODuJ17HdzP" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### Registering the S3 source connector\n", + "\n", + "Now that our credentials are set, let’s connect to the raw data stored in S3.\n", + "\n", + "This step registers an **S3 source connector** with the Unstructured API. Once created, this connector tells the system where to pull documents from during workflow execution.\n", + "\n", + "Here’s what’s happening:\n", + "- We use the S3 credentials and remote URL from earlier.\n", + "- `recursive=True` ensures that files inside nested folders will also be processed.\n", + "\n", + "Once the source is registered, Unstructured will return a unique `source_id` — you’ll use this to define the pipeline input in the next step." + ], + "metadata": { + "id": "hpPiTZ63ulgQ" + } + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.operations import CreateSourceRequest\n", + "from unstructured_client.models.shared import CreateSourceConnector\n", + "\n", + "formatted_time = datetime.now().strftime(\"%H:%M:%S\")\n", + "source_response = unstructured_client.sources.create_source(\n", + " request=CreateSourceRequest(\n", + " create_source_connector=CreateSourceConnector(\n", + " name=f\"Rag w/o Embeddings Source_ {formatted_time}\",\n", + " type=\"s3\",\n", + " config={\n", + " \"key\": os.environ.get('AWS_ACCESS'),\n", + " \"secret\": os.environ.get('AWS_SECRET'),\n", + " \"remote_url\": os.environ.get('S3_REMOTE_URL'),\n", + " \"recursive\": True\n", + " }\n", + " )\n", + " )\n", + ")\n", + "\n", + "pretty_print_model(source_response.source_connector_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "MEGFPod_zBhE", + "outputId": "6ae57580-3068-4be6-c3a4-4342194ff751" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"config\": {\n", + " \"anonymous\": false,\n", + " \"recursive\": true,\n", + " \"remote_url\": \"s3://ajay-uns-devrel-content/agentic-analysis/\",\n", + " \"key\": \"**********\",\n", + " \"secret\": \"**********\"\n", + " },\n", + " \"created_at\": \"2025-08-06T14:34:21.898458Z\",\n", + " \"id\": \"fbb2a2da-156e-4317-a394-40596bc7b102\",\n", + " \"name\": \"Rag w/o Embeddings Source_ 14:34:21\",\n", + " \"type\": \"s3\",\n", + " \"updated_at\": \"2025-08-06T14:34:22.081140Z\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Registering the Elasticsearch destination connector\n", + "\n", + "With our source in place, we now define where the processed data should go.\n", + "\n", + "In this case, we’re using **Elasticsearch Serverless** as our destination. This connector pushes cleaned, structured chunks directly into your configured index — making them queryable for downstream RAG tasks.\n", + "\n", + "Here’s a breakdown of what’s passed into the connector:\n", + "- `hosts`: The Elasticsearch deployment URL (from your Serverless project).\n", + "- `es_api_key`: The API key you created earlier for secure access.\n", + "- `index_name`: The target index where documents will be stored.\n", + "\n", + "> 📌 Note: The index will be created automatically if it doesn’t already exist.\n", + "\n", + "After this step, Unstructured will return a `destination_id`, which we’ll use to tie the source and destination together in the next step: building the workflow.\n" + ], + "metadata": { + "id": "hCHd82pruznb" + } + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.operations import CreateDestinationRequest\n", + "from unstructured_client.models.shared import CreateDestinationConnector\n", + "\n", + "destination_response = unstructured_client.destinations.create_destination(\n", + " request=CreateDestinationRequest(\n", + " create_destination_connector=CreateDestinationConnector(\n", + " name=f\"ES_Destination_connector_{formatted_time}\",\n", + " type=\"elasticsearch\",\n", + " config={\n", + " \"hosts\": [os.environ['ES_HOST_NAME']],\n", + " \"es_api_key\": os.environ['ES_API_KEY'],\n", + " \"index_name\": os.environ['ES_INDEX_NAME']\n", + " }\n", + " )\n", + " )\n", + ")\n", + "\n", + "pretty_print_model(destination_response.destination_connector_information)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "3bBlUKx1zoEi", + "outputId": "106525eb-fb68-44f7-ab88-c724e602908b" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"config\": {\n", + " \"es_api_key\": \"**********\",\n", + " \"hosts\": [\n", + " \"https://my-elasticsearch-project-cf9288.es.us-east-1.aws.elastic.cloud:443\"\n", + " ],\n", + " \"index_name\": \"es-demo\"\n", + " },\n", + " \"created_at\": \"2025-08-06T14:36:34.442290Z\",\n", + " \"id\": \"19bd8287-d7b5-4d7d-84ab-63ad14e07b70\",\n", + " \"name\": \"ES_Destination_connector_14:34:21\",\n", + " \"type\": \"elasticsearch\",\n", + " \"updated_at\": \"2025-08-06T14:36:34.562580Z\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Building an Unstructured workflow\n", + "\n", + "Now that we’ve registered both our source and destination connectors, it’s time to define how documents should be processed.\n", + "\n", + "This step creates a **custom workflow** in Unstructured that connects:\n", + "1. The S3 source (documents in)\n", + "2. A two-step transformation pipeline\n", + "3. The Elasticsearch destination (clean chunks out)\n", + "\n", + "Here’s what the processing nodes do:\n", + "\n", + "- **Partitioner**: Uses a Vision-Language Model (Anthropic Claude Sonnet) to extract clean structured content — preserving layout, tables, and section headers.\n", + "- **Chunker**: Breaks up the content into smaller pieces. We’re using a title-aware strategy with controlled overlap (`4096` max characters, `150` character overlap) to preserve context for retrieval.\n", + "\n", + "> 🔍 No embedder here, and that’s intentional. \n", + "> For this tutorial, we’ll be using **BM25** for retrieval instead of dense vector embeddings, so there’s no need to generate embeddings in this pipeline.\n", + "\n", + "Once the workflow is created, we save the `workflow_id` so we can run it in the next step.\n" + ], + "metadata": { + "id": "-cc-hhaOvRs_" + } + }, + { + "cell_type": "code", + "source": [ + "from unstructured_client.models.shared import (\n", + " WorkflowNode,\n", + " WorkflowType,\n", + " Schedule\n", + ")\n", + "\n", + "parition_node = WorkflowNode(\n", + " name=\"Partitioner\",\n", + " subtype=\"vlm\",\n", + " type=\"partition\",\n", + " settings={\n", + " \"provider\": \"anthropic\",\n", + " \"model\": \"claude-3-7-sonnet-20250219\",\n", + " }\n", + " )\n", + "\n", + "chunk_node = WorkflowNode(\n", + " name=\"Chunker\",\n", + " subtype=\"chunk_by_title\",\n", + " type=\"chunk\",\n", + " settings={\n", + " \"new_after_n_chars\": 1000,\n", + " \"max_characters\": 4096,\n", + " \"overlap\": 150\n", + " }\n", + ")\n", + "\n", + "response = unstructured_client.workflows.create_workflow(\n", + " request={\n", + " \"create_workflow\": {\n", + " \"name\": f\"Rag w/o Embeddings Tutorial Workflow_ {time.time()}\",\n", + " \"source_id\": source_response.source_connector_information.id,\n", + " \"destination_id\": destination_response.destination_connector_information.id,\n", + " \"workflow_type\": WorkflowType.CUSTOM,\n", + " \"workflow_nodes\": [\n", + " parition_node,\n", + " chunk_node\n", + " ]\n", + " }\n", + " }\n", + ")\n", + "\n", + "pretty_print_model(response.workflow_information)\n", + "workflow_id = response.workflow_information.id" + ], + "metadata": { + "id": "i2usCToqHy3O", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "377e58a4-0e50-4d1a-b3dc-16a5b8b3fccd" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"created_at\": \"2025-07-19T19:40:35.002072Z\",\n", + " \"destinations\": [\n", + " \"91757008-ff9a-4bb0-9b17-6b7253ff8739\"\n", + " ],\n", + " \"id\": \"46a8b815-0528-4afe-bba4-03f05f4310b5\",\n", + " \"name\": \"Rag w/o Embeddings Tutorial Workflow_ 1752954034.9518843\",\n", + " \"sources\": [\n", + " \"3792b879-16c5-4452-9f95-6c45400b5573\"\n", + " ],\n", + " \"status\": \"active\",\n", + " \"workflow_nodes\": [\n", + " {\n", + " \"name\": \"Partitioner\",\n", + " \"subtype\": \"vlm\",\n", + " \"type\": \"partition\",\n", + " \"id\": \"969ca37e-4dd3-44a0-939b-0098c2cb9a9b\",\n", + " \"settings\": {\n", + " \"provider\": \"anthropic\",\n", + " \"provider_api_key\": null,\n", + " \"model\": \"claude-3-7-sonnet-20250219\",\n", + " \"output_format\": \"text/html\",\n", + " \"prompt\": null,\n", + " \"format_html\": true,\n", + " \"unique_element_ids\": true,\n", + " \"is_dynamic\": false,\n", + " \"allow_fast\": true\n", + " }\n", + " },\n", + " {\n", + " \"name\": \"Chunker\",\n", + " \"subtype\": \"chunk_by_title\",\n", + " \"type\": \"chunk\",\n", + " \"id\": \"eb9525bb-1915-48db-80fe-c211b69c7593\",\n", + " \"settings\": {\n", + " \"unstructured_api_url\": null,\n", + " \"unstructured_api_key\": null,\n", + " \"multipage_sections\": false,\n", + " \"combine_text_under_n_chars\": null,\n", + " \"include_orig_elements\": false,\n", + " \"new_after_n_chars\": 1000,\n", + " \"max_characters\": 4096,\n", + " \"overlap\": 150,\n", + " \"overlap_all\": false,\n", + " \"contextual_chunking_strategy\": null\n", + " }\n", + " }\n", + " ],\n", + " \"reprocess_all\": false,\n", + " \"schedule\": {\n", + " \"crontab_entries\": []\n", + " },\n", + " \"updated_at\": \"2025-07-19T19:40:35.013554Z\",\n", + " \"workflow_type\": \"custom\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Run the workflow\n", + "\n", + "Run the following cell to start running the workflow." + ], + "metadata": { + "id": "tOIkt9GOwf6i" + } + }, + { + "cell_type": "code", + "source": [ + "res = unstructured_client.workflows.run_workflow(\n", + " request={\n", + " \"workflow_id\": workflow_id,\n", + " }\n", + ")\n", + "\n", + "pretty_print_model(res.job_information)" + ], + "metadata": { + "id": "7QLgPRt-JNYD", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "8660feae-8dec-4836-a947-709b47bcb792" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"created_at\": \"2025-07-19T19:40:36.320615Z\",\n", + " \"id\": \"5270557c-2e97-4bc2-998c-0eb8af189c18\",\n", + " \"status\": \"SCHEDULED\",\n", + " \"workflow_id\": \"46a8b815-0528-4afe-bba4-03f05f4310b5\",\n", + " \"workflow_name\": \"Rag w/o Embeddings Tutorial Workflow_ 1752954034.9518843\",\n", + " \"job_type\": \"ephemeral\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Get the workflow run's job ID\n", + "\n", + "Run the following cell to get the workflow run's job ID, which is needed to poll for job completion later. If successful, Unstructured prints the job's ID." + ], + "metadata": { + "id": "ObIv1fHfwigb" + } + }, + { + "cell_type": "code", + "source": [ + "response = unstructured_client.jobs.list_jobs(\n", + " request={\n", + " \"workflow_id\": workflow_id\n", + " }\n", + ")\n", + "\n", + "last_job = response.response_list_jobs[0]\n", + "job_id = last_job.id\n", + "print(f\"job_id: {job_id}\")" + ], + "metadata": { + "id": "LP5ZPuQJJgQp", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "66223620-9b5f-4bab-84db-398dcfd7a2c9" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "job_id: 5270557c-2e97-4bc2-998c-0eb8af189c18\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Poll for job completion\n", + "\n", + "Run the following cell to confirm the job has finished running. If successful, Unstructured prints `\"status\": \"COMPLETED\"` within the information about the job." + ], + "metadata": { + "id": "hJoLbPwLJupD" + } + }, + { + "cell_type": "code", + "source": [ + "def poll_job_status(job_id, wait_time=30):\n", + " while True:\n", + " response = unstructured_client.jobs.get_job(\n", + " request={\n", + " \"job_id\": job_id\n", + " }\n", + " )\n", + "\n", + " job = response.job_information\n", + "\n", + " if job.status == \"SCHEDULED\":\n", + " print(f\"Job is scheduled, polling again in {wait_time} seconds...\")\n", + " time.sleep(wait_time)\n", + " elif job.status == \"IN_PROGRESS\":\n", + " print(f\"Job is in progress, polling again in {wait_time} seconds...\")\n", + " time.sleep(wait_time)\n", + " else:\n", + " print(\"Job is completed\")\n", + " break\n", + "\n", + " return job\n", + "\n", + "job = poll_job_status(job_id)\n", + "pretty_print_model(job)" + ], + "metadata": { + "id": "nEfi8Q_SJzuh", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "8010469c-764b-423e-c5a2-21debc442537" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Job is scheduled, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is in progress, polling again in 30 seconds...\n", + "Job is completed\n", + "{\n", + " \"created_at\": \"2025-07-19T19:40:36.320615\",\n", + " \"id\": \"5270557c-2e97-4bc2-998c-0eb8af189c18\",\n", + " \"status\": \"COMPLETED\",\n", + " \"workflow_id\": \"46a8b815-0528-4afe-bba4-03f05f4310b5\",\n", + " \"workflow_name\": \"Rag w/o Embeddings Tutorial Workflow_ 1752954034.9518843\",\n", + " \"job_type\": \"ephemeral\",\n", + " \"runtime\": \"PT0S\"\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "At this point, we’ve successfully run the full Unstructured pipeline:\n", + "\n", + "- Documents were pulled from S3\n", + "- Cleaned and chunked using the Partitioner and Chunker nodes\n", + "- And indexed into our Elasticsearch Serverless instance\n", + "\n", + "All of this happened without generating embeddings — and that’s by design.\n", + "\n", + "In the next section, we’ll build a lightweight **RAG pipeline** that uses traditional keyword-based search (**BM25**) to retrieve context from Elasticsearch" + ], + "metadata": { + "id": "dqlCmPPDwGQb" + } + }, + { + "cell_type": "markdown", + "source": [ + "## RAG\n", + "\n", + "In this section, we’ll build a Retrieval-Augmented Generation (RAG) pipeline but without using any embeddings. \n", + "Instead, we’ll rely on a classic scoring algorithm called **BM25**, which powers the keyword-based search inside Elasticsearch.\n", + "\n", + "### What is BM25?\n", + "\n", + "BM25 is a **ranking function** that scores documents based on how well they match a query using exact terms, partial matches, and some clever normalization behind the scenes.\n", + "\n", + "It’s been a staple in information retrieval for decades, and it still holds up remarkably well when:\n", + "- Your documents are chunked cleanly\n", + "- Your queries are fairly literal (i.e., not abstract or fuzzy)\n", + "\n", + "Here’s how it works, at a high level:\n", + "\n", + "- **Matching terms boost relevance**: If a chunk contains your search terms, it scores higher.\n", + "- **Rare words carry more weight**: Matches on uncommon terms matter more than matches on generic words.\n", + "- **Document length is normalized**: Longer chunks don’t get an unfair advantage just because they mention everything.\n", + "\n", + "Unlike dense embeddings, BM25 doesn’t “understand” semantic meaning. It’s not going to connect synonyms or paraphrases. But when your queries are sharp and your chunking is good — it can work surprisingly well.\n", + "\n", + "> 🧠 Why use this?\n", + "> - It’s **fast**, **transparent**, and doesn’t need a GPU or embedding model.\n", + "> - It’s perfect for bootstrapping or low-latency use cases.\n", + "\n", + "We’ll now query the indexed data in Elasticsearch using BM25 and pass the results into our LLM to generate grounded answers.\n" + ], + "metadata": { + "id": "g7ZYinLyKkc0" + } + }, + { + "cell_type": "code", + "source": [ + "from langchain_elasticsearch import ElasticsearchStore, BM25Strategy\n", + "from langchain_openai import ChatOpenAI\n", + "from langchain_core.prompts import ChatPromptTemplate\n", + "from elasticsearch import Elasticsearch" + ], + "metadata": { + "id": "wbsTPR6rxo2c" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### Setting up the BM25-backed RAG pipeline\n", + "\n", + "With our data indexed and ready, we can now run queries over it using BM25 retrieval.\n", + "\n", + "Here’s how this section works:\n", + "1. We connect to the Elasticsearch Serverless instance using the `Elasticsearch` Python client.\n", + "2. We initialize a `BM25Strategy` — this wraps keyword-based scoring around our document chunks.\n", + "3. We query Elasticsearch for the top-k most relevant chunks (`similarity_search`), and pass them to GPT-4o to generate an answer.\n", + "\n", + "#### BM25 parameters: `k1` and `b`\n", + "\n", + "- **`k1` (default: `1.2`)** \n", + " Controls **term frequency scaling** — how much repeated terms matter. \n", + " - Higher `k1` = more boost for repeated keywords \n", + " - Lower `k1` = frequency saturates quickly\n", + "\n", + "- **`b` (default: `0.75`)** \n", + " Controls **document length normalization** — i.e., should longer chunks be penalized? \n", + " - `b = 0` → No length penalty (longer chunks may dominate) \n", + " - `b = 1` → Full normalization (neutralizes doc length bias)\n", + "\n", + "These values work well in practice, but you can tune them if:\n", + "- Your chunks are very short/long\n", + "- You see irrelevant long documents dominating results\n", + "\n", + "\n", + "The `run_query_direct(...)` function wraps the whole RAG flow:\n", + "\n", + "- It retrieves the top-k hits via BM25\n", + "- Assembles a context string\n", + "- Injects it into a prompt\n", + "- And uses GPT-4o to answer based only on that context\n" + ], + "metadata": { + "id": "Ewi4CNb7xjJV" + } + }, + { + "cell_type": "code", + "source": [ + "os.environ[\"OPENAI_API_KEY\"] = userdata.get('OPENAI_API_KEY')\n", + "\n", + "def connect_elasticsearch():\n", + " return Elasticsearch(\n", + " os.environ['ES_HOST_NAME'],\n", + " api_key=os.environ['ES_API_KEY']\n", + " )\n", + "\n", + "def init_bm25_store(es_client, index_name):\n", + " bm25_strategy = BM25Strategy(k1=1.2, b=0.75)\n", + "\n", + " store = ElasticsearchStore(\n", + " es_connection=es_client,\n", + " index_name=index_name,\n", + " strategy=bm25_strategy\n", + " )\n", + " return store\n", + "\n", + "def run_query_direct(store, query, k=5):\n", + " print(f\"\\n--- QUERY: {query} ---\")\n", + "\n", + " docs = store.similarity_search(query, k=k)\n", + "\n", + " context = \"\\n\\n\".join([doc.page_content for doc in docs])\n", + "\n", + " llm = ChatOpenAI(model=\"gpt-4o\")\n", + "\n", + " prompt = ChatPromptTemplate.from_template(\"\"\"\n", + " Answer the following question based only on the provided context:\n", + "\n", + " Context: {context}\n", + "\n", + " Question: {question}\n", + "\n", + " Answer:\n", + " \"\"\")\n", + "\n", + " formatted_prompt = prompt.format(context=context, question=query)\n", + " response = llm.invoke(formatted_prompt)\n", + "\n", + " print(\"RETRIEVED DOCUMENTS:\")\n", + " for i, doc in enumerate(docs, 1):\n", + " print(f\"{i}. {doc.page_content[:200]}...\")\n", + "\n", + "\n", + " print(f\"\\nANSWER:\")\n", + " print(response.content)\n", + "\n", + " return response.content, docs" + ], + "metadata": { + "id": "ZY3cdKCeNw5u" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "es_client = connect_elasticsearch()\n", + "store = init_bm25_store(es_client, os.environ['ES_INDEX_NAME'])\n" + ], + "metadata": { + "collapsed": true, + "id": "fe92JbhvOBu5" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Now let's run a sample question on our data" + ], + "metadata": { + "id": "qxwxZFNkyjj5" + } + }, + { + "cell_type": "code", + "source": [ + "response, docs = run_query_direct(store, \"What are the containment procedures?\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "S2DfXAfOO1lx", + "outputId": "f7f5db43-b103-4c1f-db28-8dd8f4c7b762" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "--- QUERY: What are the containment procedures? ---\n", + "RETRIEVED DOCUMENTS:\n", + "1. Analyze for Common Adversary TTPs\n", + "\n", + "Compare TTPs to adversary TTPs documented in ATT&CK and analyze how the TTPs fit into the attack lifecycle. TTPs describe \"why,\" \"what,\" and \"how.\" Tactics describe ...\n", + "2. TLP:CLEAR\n", + "\n", + "Incident Response Process flowchart showing the workflow from START through various phases including Declare Incident, Determine Investigation Scope, Share CTI, Collect and Preserve Data, P...\n", + "3. TLP:CLEAR\n", + "\n", + "Step Incident Response Procedure Action Taken Date Completed 9c. Reset passwords on compromised accounts. 9d. Implement multi-factor authentication for all access methods. 9e. Install updat...\n", + "4. 7. Contain Activity (Short-term Mitigations)\n", + "\n", + "7a. Determine appropriate containment strategy, including: • Requirement to preserve evidence • Availability of services (e.g., network connectivity, serv...\n", + "5. TLP:CLEAR\n", + "\n", + "Term Definition Source National Security Systems (NSS) National Security Systems (NSS) are information systems as defined in 44 U.S.C.3552(b)(6). {A}The term \"national security system\" mean...\n", + "\n", + "ANSWER:\n", + "The containment procedures outlined in the provided context involve several strategic actions aimed at mitigating immediate threats while preserving evidence and maintaining system operations where possible. Here is a summary of the containment procedures:\n", + "\n", + "1. **Determine Appropriate Containment Strategy**:\n", + " - Assess the requirement to preserve evidence.\n", + " - Consider the availability of services like network connectivity and services continuity.\n", + " - Take into account resource constraints and the duration of containment steps.\n", + "\n", + "2. **System Backup**:\n", + " - Create backups to preserve evidence and facilitate continued investigation.\n", + "\n", + "3. **Coordinate with Law Enforcement**:\n", + " - If necessary, engage with law enforcement to collect and preserve evidence before eradication.\n", + "\n", + "4. **Isolation of Affected Systems and Networks**:\n", + " - Implement perimeter containment and internal network containment.\n", + " - Conduct host-based or endpoint isolation.\n", + " - Temporarily disconnect public-facing systems from the internet.\n", + "\n", + "5. **Update Security Configurations**:\n", + " - Close specific network ports and mail servers.\n", + " - Update firewall filtering rules.\n", + "\n", + "6. **Credential and Access Management**:\n", + " - Change system admin passwords.\n", + " - Rotate private keys and service/application account secrets where compromise is suspected.\n", + " - Revoke privileged access.\n", + "\n", + "7. **Blocking and Monitoring**:\n", + " - Block and log unauthorized access and traffic to and from known attacker IP addresses and other identified sources of threat.\n", + " - Prevent DNS resolution of known attacker domain names.\n", + "\n", + "8. **Restrict Network Communications**:\n", + " - Prevent compromised systems from connecting to other systems on the network.\n", + "\n", + "9. **Adversary Activity Monitoring**:\n", + " - Advanced Security Operations Centers (SOCs) may redirect adversaries to a sandbox environment to monitor activities, gather evidence, and identify TTPs.\n", + " - Continuously monitor for signs of threat actor response to containment activities.\n", + "\n", + "10. **Reporting and Adjustments**:\n", + " - Update the timeline and findings with new indicators.\n", + " - If new signs of compromise are found, return to technical analysis to reassess and potentially expand the investigation scope.\n", + "\n", + "11. **Evidence Preservation**:\n", + " - Upon successful containment with no new signs of compromise, preserve evidence for future reference or law enforcement investigation.\n", + "\n", + "These steps collectively help to limit the spread of the attack while facilitating further investigation and evidence collection, ultimately supporting subsequent eradication efforts.\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "\n", + "Because the query used clear, operational language (“containment procedures”), BM25 was able to surface high-signal chunks that directly addressed the topic — including full containment checklists and tactical steps.\n", + "\n", + "The LLM then stitched together the overlapping context into a clean, actionable list — covering evidence preservation, system isolation, access revocation, and more.\n", + "\n", + "> ✅ This is where keyword search shines: when your documents are structured, and your query terms match section headers or list items directly.\n" + ], + "metadata": { + "id": "JcLnWVnqyuRN" + } + }, + { + "cell_type": "markdown", + "source": [ + "Now let's try a more abstract query" + ], + "metadata": { + "id": "jS5SQkpJzKVg" + } + }, + { + "cell_type": "code", + "source": [ + "response, docs = run_query_direct(store, \"Where in the document does it describe coordination between the SOC and executive leadership?\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Qw7xpb-NO13b", + "outputId": "7c387616-6a12-440a-8de2-a8bd256c0898" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\n", + "--- QUERY: Where in the document does it describe coordination between the SOC and executive leadership? ---\n", + "RETRIEVED DOCUMENTS:\n", + "1. TLP:CLEAR TLP:CLEAR label in black background with white text CISA | Cybersecurity and Infrastructure Security Agency 2\n", + "\n", + "TLP:CLEAR\n", + "\n", + "INTRODUCTION\n", + "\n", + "The Cybersecurity and Infrastructure Security Agency (...\n", + "2. TLP:CLEAR\n", + "\n", + "Term Definition Source National Security Systems (NSS) National Security Systems (NSS) are information systems as defined in 44 U.S.C.3552(b)(6). {A}The term \"national security system\" mean...\n", + "3. APPENDIX G: SOURCE TEXT\n", + "\n", + "Agency Responsibilities References Cyber Response Group (CRG) Coordinates the development and implementation of the federal government's policies, strategies, and procedures f...\n", + "4. TLP:CLEAR\n", + "\n", + "Step Incident Response Procedure Action Taken Date Completed 9c. Reset passwords on compromised accounts. 9d. Implement multi-factor authentication for all access methods. 9e. Install updat...\n", + "5. Coordination with CISA\n", + "\n", + "Cyber defense capabilities vary widely. For this reason, coordination involves different degrees of engagement between the affected agency and CISA. As a baseline, every cybers...\n", + "\n", + "ANSWER:\n", + "The document discusses coordination between CISA and affected FCEB agencies in several places, but it does not specifically mention coordination between the Security Operations Center (SOC) and executive leadership. The document primarily focuses on the coordination of incident response activities, communication, and information sharing between CISA and FCEB agencies, along with the responsibilities of various groups such as the Cyber Unified Coordination Group (C-UCG). However, it emphasizes the importance of communication and situational awareness between agency leadership and CISA, which may imply coordination at various organizational levels, including the SOC and executive leadership.\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "We asked about coordination between the **SOC** and **executive leadership**, but the documents retrieved didn’t contain an exact match. Instead, they surfaced adjacent topics like:\n", + "\n", + "- Reporting incidents to **CISA** and **IT leadership**\n", + "- Establishing cross-agency communications protocols\n", + "\n", + "The LLM still produced a fluent answer — but it was largely inferred from context, not grounded in an exact passage. This is a classic case where **BM25 lacks the fuzziness or semantic awareness** needed to bridge slightly different wording.\n", + "\n", + "> ⚠️ This is where embedding-based retrieval would outperform: \n", + "> A vector store could connect “SOC coordination” with descriptions of escalation protocols, even if those words aren’t used verbatim.\n", + "\n", + "So while BM25 gave us *close-ish* chunks, the final answer wasn’t fully supported by the source, and that’s important to catch." + ], + "metadata": { + "id": "JBfXX1DQzoIz" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Conclusion\n", + "\n", + "This walkthrough demonstrated how to build a RAG pipeline without using embeddings — relying instead on **BM25 keyword search** for document retrieval.\n", + "\n", + "We saw that:\n", + "\n", + "- 🔍 BM25 performs well when queries use **precise terms** that align closely with the document’s language or structure.\n", + "- ⚠️ It falls short when the language **diverges** — like asking abstract or cross-functional questions not spelled out in exact keywords.\n", + "- 🤖 The LLM can sometimes *paper over* poor retrieval by guessing — but that breaks the grounding contract of RAG.\n", + "\n", + "### When does this approach make sense?\n", + "\n", + "Use BM25-based RAG when:\n", + "- Your document set is small to medium-sized\n", + "- You don’t want to manage embeddings or vector stores\n", + "- Your queries are likely to match real wording in the docs (e.g., checklists, procedures, FAQs)\n", + "\n", + "But if you’re working with more ambiguous queries — or documents with varied phrasing — **embedding-based search or a hybrid strategy** will perform better.\n", + "\n", + "---\n", + "\n", + "### ✅ Next steps\n", + "\n", + "Try extending this notebook by:\n", + "- Swapping in a **hybrid retrieval strategy** (BM25 + vectors)\n", + "- Adding an **embedding step** to the Unstructured workflow\n", + "- Testing queries that deliberately push the limits of lexical matching\n", + "\n", + "You now have a full BM25-based RAG system running, feel free to plug in your own docs and explore how it holds up.\n", + "\n", + "> ⚡️ Want to go deeper? \n", + "> Check out [Unstructured’s API docs](https://docs.unstructured.io) for advanced connectors, chunking strategies, and embedding options.\n" + ], + "metadata": { + "id": "Um4A3Se4z_cN" + } + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "wVX0TlZOSFBT" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file