From 7ec4b3f8fedd764cc31fb2f81f555c7132c1fae7 Mon Sep 17 00:00:00 2001 From: Nikhil Rao Date: Wed, 7 Dec 2022 15:04:49 -0800 Subject: [PATCH] Improve component docs (#35) * Update component docstrings * Remove transitions libs * Add span component * Add lock files --- .gitignore | 8 +- poetry.lock | 1223 +++++++++++++++++ pynecone/.templates/web/bun.lockb | Bin 0 -> 229830 bytes pynecone/components/component.py | 2 +- pynecone/components/datadisplay/code.py | 2 +- pynecone/components/datadisplay/datatable.py | 1 + pynecone/components/datadisplay/list.py | 8 +- pynecone/components/feedback/alert.py | 6 +- pynecone/components/forms/formcontrol.py | 2 +- pynecone/components/forms/iconbutton.py | 4 +- pynecone/components/forms/rangeslider.py | 9 +- pynecone/components/forms/select.py | 2 +- pynecone/components/layout/box.py | 6 +- pynecone/components/layout/center.py | 6 +- pynecone/components/layout/cond.py | 2 +- pynecone/components/layout/container.py | 2 +- pynecone/components/layout/flex.py | 2 +- pynecone/components/layout/foreach.py | 2 +- pynecone/components/layout/grid.py | 2 +- pynecone/components/layout/spacer.py | 2 +- pynecone/components/layout/stack.py | 6 +- pynecone/components/layout/wrap.py | 2 +- pynecone/components/media/icon.py | 4 +- pynecone/components/media/image.py | 2 +- pynecone/components/navigation/link.py | 2 +- pynecone/components/navigation/linkoverlay.py | 2 +- pynecone/components/navigation/nextlink.py | 8 +- pynecone/components/overlay/menu.py | 2 + pynecone/components/transitions/__init__.py | 1 - pynecone/components/transitions/observer.py | 15 - .../components/transitions/transitions.py | 29 - pynecone/components/typography/__init__.py | 15 +- pynecone/components/typography/heading.py | 2 +- pynecone/components/typography/markdown.py | 1 + pynecone/components/typography/span.py | 14 + pynecone/components/typography/text.py | 17 +- 36 files changed, 1287 insertions(+), 126 deletions(-) create mode 100644 poetry.lock create mode 100755 pynecone/.templates/web/bun.lockb delete mode 100644 pynecone/components/transitions/__init__.py delete mode 100644 pynecone/components/transitions/observer.py delete mode 100644 pynecone/components/transitions/transitions.py create mode 100644 pynecone/components/typography/span.py diff --git a/.gitignore b/.gitignore index beebaa81b..1d1326ae0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,4 @@ -**/*.pyc **/.DS_Store -**/*.swp -**/.web -**/*.db -**/node_modules/** -bun.lockb -poetry.lock +**/*.pyc dist/* examples/ diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 000000000..98c2f6ba4 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,1223 @@ +[[package]] +name = "anyio" +version = "3.6.2" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +category = "main" +optional = false +python-versions = ">=3.6.2" + +[package.dependencies] +idna = ">=2.8" +sniffio = ">=1.1" +typing-extensions = {version = "*", markers = "python_version < \"3.8\""} + +[package.extras] +doc = ["packaging", "sphinx-rtd-theme", "sphinx-autodoc-typehints (>=1.2.0)"] +test = ["coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "contextlib2", "uvloop (<0.15)", "mock (>=4)", "uvloop (>=0.15)"] +trio = ["trio (>=0.16,<0.22)"] + +[[package]] +name = "astroid" +version = "2.12.13" +description = "An abstract syntax tree for Python with inference support." +category = "dev" +optional = false +python-versions = ">=3.7.2" + +[package.dependencies] +lazy-object-proxy = ">=1.4.0" +typed-ast = {version = ">=1.4.0,<2.0", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""} +typing-extensions = {version = ">=3.10", markers = "python_version < \"3.10\""} +wrapt = [ + {version = ">=1.11,<2", markers = "python_version < \"3.11\""}, + {version = ">=1.14,<2", markers = "python_version >= \"3.11\""}, +] + +[[package]] +name = "async-timeout" +version = "4.0.2" +description = "Timeout context manager for asyncio programs" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +typing-extensions = {version = ">=3.6.5", markers = "python_version < \"3.8\""} + +[[package]] +name = "attrs" +version = "22.1.0" +description = "Classes Without Boilerplate" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.extras] +tests_no_zope = ["cloudpickle", "pytest-mypy-plugins", "mypy (>=0.900,!=0.940)", "pytest (>=4.3.0)", "pympler", "hypothesis", "coverage[toml] (>=5.0.2)"] +tests = ["cloudpickle", "zope.interface", "pytest-mypy-plugins", "mypy (>=0.900,!=0.940)", "pytest (>=4.3.0)", "pympler", "hypothesis", "coverage[toml] (>=5.0.2)"] +docs = ["sphinx-notfound-page", "zope.interface", "sphinx", "furo"] +dev = ["cloudpickle", "pre-commit", "sphinx-notfound-page", "sphinx", "furo", "zope.interface", "pytest-mypy-plugins", "mypy (>=0.900,!=0.940)", "pytest (>=4.3.0)", "pympler", "hypothesis", "coverage[toml] (>=5.0.2)"] + +[[package]] +name = "black" +version = "22.10.0" +description = "The uncompromising code formatter." +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} +typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\" and implementation_name == \"cpython\""} +typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "certifi" +version = "2022.9.24" +description = "Python package for providing Mozilla's CA Bundle." +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "charset-normalizer" +version = "2.1.1" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "main" +optional = false +python-versions = ">=3.6.0" + +[package.extras] +unicode_backport = ["unicodedata2"] + +[[package]] +name = "click" +version = "8.1.3" +description = "Composable command line interface toolkit" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" + +[[package]] +name = "commonmark" +version = "0.9.1" +description = "Python parser for the CommonMark Markdown spec" +category = "main" +optional = false +python-versions = "*" + +[package.extras] +test = ["hypothesis (==3.55.3)", "flake8 (==3.7.8)"] + +[[package]] +name = "darglint" +version = "1.8.1" +description = "A utility for ensuring Google-style docstrings stay up to date with the source code." +category = "dev" +optional = false +python-versions = ">=3.6,<4.0" + +[[package]] +name = "dill" +version = "0.3.6" +description = "serialize all of python" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +graph = ["objgraph (>=1.7.2)"] + +[[package]] +name = "exceptiongroup" +version = "1.0.4" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "fastapi" +version = "0.88.0" +description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +pydantic = ">=1.6.2,<1.7 || >1.7,<1.7.1 || >1.7.1,<1.7.2 || >1.7.2,<1.7.3 || >1.7.3,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0" +starlette = "0.22.0" + +[package.extras] +all = ["email-validator (>=1.1.1)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "python-multipart (>=0.0.5)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] +dev = ["pre-commit (>=2.17.0,<3.0.0)", "ruff (==0.0.138)", "uvicorn[standard] (>=0.12.0,<0.19.0)"] +doc = ["mdx-include (>=1.4.1,<2.0.0)", "mkdocs-markdownextradata-plugin (>=0.1.7,<0.3.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "pyyaml (>=5.3.1,<7.0.0)", "typer[all] (>=0.6.1,<0.7.0)"] +test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==22.10.0)", "coverage[toml] (>=6.5.0,<7.0)", "databases[sqlite] (>=0.3.2,<0.7.0)", "email-validator (>=1.1.1,<2.0.0)", "flask (>=1.1.2,<3.0.0)", "httpx (>=0.23.0,<0.24.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.982)", "orjson (>=3.2.1,<4.0.0)", "passlib[bcrypt] (>=1.7.2,<2.0.0)", "peewee (>=3.13.3,<4.0.0)", "pytest (>=7.1.3,<8.0.0)", "python-jose[cryptography] (>=3.3.0,<4.0.0)", "python-multipart (>=0.0.5,<0.0.6)", "pyyaml (>=5.3.1,<7.0.0)", "ruff (==0.0.138)", "sqlalchemy (>=1.3.18,<=1.4.41)", "types-orjson (==3.6.2)", "types-ujson (==5.5.0)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,<6.0.0)"] + +[[package]] +name = "greenlet" +version = "2.0.1" +description = "Lightweight in-process concurrent programming" +category = "main" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" + +[package.extras] +docs = ["sphinx", "docutils (<0.18)"] +test = ["objgraph", "psutil", "faulthandler"] + +[[package]] +name = "gunicorn" +version = "20.1.0" +description = "WSGI HTTP Server for UNIX" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +eventlet = ["eventlet (>=0.24.1)"] +gevent = ["gevent (>=1.4.0)"] +setproctitle = ["setproctitle"] +tornado = ["tornado (>=0.2)"] + +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +typing-extensions = {version = "*", markers = "python_version < \"3.8\""} + +[[package]] +name = "idna" +version = "3.4" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "importlib-metadata" +version = "5.1.0" +description = "Read metadata from Python packages" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} +zipp = ">=0.5" + +[package.extras] +docs = ["sphinx (>=3.5)", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "furo", "jaraco.tidelift (>=1.4)"] +perf = ["ipython"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "flake8 (<5)", "pytest-cov", "pytest-enabler (>=1.3)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "pytest-flake8", "importlib-resources (>=1.3)"] + +[[package]] +name = "iniconfig" +version = "1.1.1" +description = "iniconfig: brain-dead simple config-ini parsing" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "isort" +version = "5.10.1" +description = "A Python utility / library to sort Python imports." +category = "dev" +optional = false +python-versions = ">=3.6.1,<4.0" + +[package.extras] +pipfile_deprecated_finder = ["pipreqs", "requirementslib"] +requirements_deprecated_finder = ["pipreqs", "pip-api"] +colors = ["colorama (>=0.4.3,<0.5.0)"] +plugins = ["setuptools"] + +[[package]] +name = "lazy-object-proxy" +version = "1.8.0" +description = "A fast and thorough lazy object proxy." +category = "dev" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +category = "dev" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "mypy-extensions" +version = "0.4.3" +description = "Experimental type system extensions for programs checked with the mypy typechecker." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "nodeenv" +version = "1.7.0" +description = "Node.js virtual environment builder" +category = "dev" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" + +[[package]] +name = "packaging" +version = "21.3" +description = "Core utilities for Python packages" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" + +[[package]] +name = "pathspec" +version = "0.10.2" +description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "platformdirs" +version = "2.5.4" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["furo (>=2022.9.29)", "proselint (>=0.13)", "sphinx-autodoc-typehints (>=1.19.4)", "sphinx (>=5.3)"] +test = ["appdirs (==1.4.4)", "pytest-cov (>=4)", "pytest-mock (>=3.10)", "pytest (>=7.2)"] + +[[package]] +name = "plotly" +version = "5.11.0" +description = "An open-source, interactive data visualization library for Python" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +tenacity = ">=6.2.0" + +[[package]] +name = "pluggy" +version = "1.0.0" +description = "plugin and hook calling mechanisms for python" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "pydantic" +version = "1.10.2" +description = "Data validation and settings management using python type hints" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +typing-extensions = ">=4.1.0" + +[package.extras] +dotenv = ["python-dotenv (>=0.10.4)"] +email = ["email-validator (>=1.0.3)"] + +[[package]] +name = "pydocstyle" +version = "6.1.1" +description = "Python docstring style checker" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +snowballstemmer = "*" + +[package.extras] +toml = ["toml"] + +[[package]] +name = "pygments" +version = "2.13.0" +description = "Pygments is a syntax highlighting package written in Python." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +plugins = ["importlib-metadata"] + +[[package]] +name = "pylint" +version = "2.15.7" +description = "python code static checker" +category = "dev" +optional = false +python-versions = ">=3.7.2" + +[package.dependencies] +astroid = ">=2.12.13,<=2.14.0-dev0" +colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} +dill = ">=0.2" +isort = ">=4.2.5,<6" +mccabe = ">=0.6,<0.8" +platformdirs = ">=2.2.0" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +tomlkit = ">=0.10.1" +typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} + +[package.extras] +spelling = ["pyenchant (>=3.2,<4.0)"] +testutils = ["gitpython (>3)"] + +[[package]] +name = "pyparsing" +version = "3.0.9" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +category = "main" +optional = false +python-versions = ">=3.6.8" + +[package.extras] +diagrams = ["railroad-diagrams", "jinja2"] + +[[package]] +name = "pyright" +version = "1.1.283" +description = "Command line wrapper for pyright" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +nodeenv = ">=1.6.0" +typing-extensions = {version = ">=3.7", markers = "python_version < \"3.8\""} + +[package.extras] +all = ["twine (>=3.4.1)"] +dev = ["twine (>=3.4.1)"] + +[[package]] +name = "pytest" +version = "7.2.0" +description = "pytest: simple powerful testing with Python" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +attrs = ">=19.2.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] + +[[package]] +name = "pytest-asyncio" +version = "0.20.2" +description = "Pytest support for asyncio" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +pytest = ">=6.1.0" +typing-extensions = {version = ">=3.7.2", markers = "python_version < \"3.8\""} + +[package.extras] +testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)", "flaky (>=3.5.0)", "mypy (>=0.931)", "pytest-trio (>=0.7.0)"] + +[[package]] +name = "redis" +version = "4.3.5" +description = "Python client for Redis database and key-value store" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +async-timeout = ">=4.0.2" +importlib-metadata = {version = ">=1.0", markers = "python_version < \"3.8\""} +packaging = ">=20.4" +typing-extensions = {version = "*", markers = "python_version < \"3.8\""} + +[package.extras] +hiredis = ["hiredis (>=1.0.0)"] +ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"] + +[[package]] +name = "requests" +version = "2.28.1" +description = "Python HTTP for Humans." +category = "main" +optional = false +python-versions = ">=3.7, <4" + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<3" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "rich" +version = "12.6.0" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +category = "main" +optional = false +python-versions = ">=3.6.3,<4.0.0" + +[package.dependencies] +commonmark = ">=0.9.0,<0.10.0" +pygments = ">=2.6.0,<3.0.0" +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<8.0.0)"] + +[[package]] +name = "sniffio" +version = "1.3.0" +description = "Sniff out which async library your code is running under" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "snowballstemmer" +version = "2.2.0" +description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "sqlalchemy" +version = "1.4.41" +description = "Database Abstraction Library" +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" + +[package.dependencies] +greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} + +[package.extras] +aiomysql = ["greenlet (!=0.4.17)", "aiomysql"] +aiosqlite = ["typing_extensions (!=3.10.0.1)", "greenlet (!=0.4.17)", "aiosqlite"] +asyncio = ["greenlet (!=0.4.17)"] +asyncmy = ["greenlet (!=0.4.17)", "asyncmy (>=0.2.3,!=0.2.4)"] +mariadb_connector = ["mariadb (>=1.0.1,!=1.1.2)"] +mssql = ["pyodbc"] +mssql_pymssql = ["pymssql"] +mssql_pyodbc = ["pyodbc"] +mypy = ["sqlalchemy2-stubs", "mypy (>=0.910)"] +mysql = ["mysqlclient (>=1.4.0,<2)", "mysqlclient (>=1.4.0)"] +mysql_connector = ["mysql-connector-python"] +oracle = ["cx_oracle (>=7,<8)", "cx_oracle (>=7)"] +postgresql = ["psycopg2 (>=2.7)"] +postgresql_asyncpg = ["greenlet (!=0.4.17)", "asyncpg"] +postgresql_pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)"] +postgresql_psycopg2binary = ["psycopg2-binary"] +postgresql_psycopg2cffi = ["psycopg2cffi"] +pymysql = ["pymysql (<1)", "pymysql"] +sqlcipher = ["sqlcipher3-binary"] + +[[package]] +name = "sqlalchemy2-stubs" +version = "0.0.2a29" +description = "Typing Stubs for SQLAlchemy 1.4" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +typing-extensions = ">=3.7.4" + +[[package]] +name = "sqlmodel" +version = "0.0.8" +description = "SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness." +category = "main" +optional = false +python-versions = ">=3.6.1,<4.0.0" + +[package.dependencies] +pydantic = ">=1.8.2,<2.0.0" +SQLAlchemy = ">=1.4.17,<=1.4.41" +sqlalchemy2-stubs = "*" + +[[package]] +name = "starlette" +version = "0.22.0" +description = "The little ASGI library that shines." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +anyio = ">=3.4.0,<5" +typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} + +[package.extras] +full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart", "pyyaml"] + +[[package]] +name = "tenacity" +version = "8.1.0" +description = "Retry code until it succeeds" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +doc = ["reno", "sphinx", "tornado (>=4.5)"] + +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +category = "dev" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +category = "dev" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "tomlkit" +version = "0.11.6" +description = "Style preserving TOML library" +category = "dev" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "typed-ast" +version = "1.5.4" +description = "a fork of Python 2 and 3 ast modules with type comment support" +category = "dev" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "typer" +version = "0.4.2" +description = "Typer, build great CLIs. Easy to code. Based on Python type hints." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +click = ">=7.1.1,<9.0.0" + +[package.extras] +test = ["isort (>=5.0.6,<6.0.0)", "black (>=22.3.0,<23.0.0)", "mypy (==0.910)", "pytest-sugar (>=0.9.4,<0.10.0)", "pytest-xdist (>=1.32.0,<2.0.0)", "coverage (>=5.2,<6.0)", "pytest-cov (>=2.10.0,<3.0.0)", "pytest (>=4.4.0,<5.4.0)", "shellingham (>=1.3.0,<2.0.0)"] +doc = ["mdx-include (>=1.4.1,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "mkdocs (>=1.1.2,<2.0.0)"] +dev = ["pre-commit (>=2.17.0,<3.0.0)", "flake8 (>=3.8.3,<4.0.0)", "autoflake (>=1.3.1,<2.0.0)"] +all = ["shellingham (>=1.3.0,<2.0.0)", "colorama (>=0.4.3,<0.5.0)"] + +[[package]] +name = "typing-extensions" +version = "4.4.0" +description = "Backported and Experimental Type Hints for Python 3.7+" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "urllib3" +version = "1.26.13" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" + +[package.extras] +brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] +secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "urllib3-secure-extra", "ipaddress"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + +[[package]] +name = "uvicorn" +version = "0.20.0" +description = "The lightning-fast ASGI server." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +click = ">=7.0" +h11 = ">=0.8" +typing-extensions = {version = "*", markers = "python_version < \"3.8\""} + +[package.extras] +standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] + +[[package]] +name = "wrapt" +version = "1.14.1" +description = "Module for decorators, wrappers and monkey patching." +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + +[[package]] +name = "zipp" +version = "3.11.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["sphinx (>=3.5)", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "furo", "jaraco.tidelift (>=1.4)"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "flake8 (<5)", "pytest-cov", "pytest-enabler (>=1.3)", "jaraco.itertools", "func-timeout", "jaraco.functools", "more-itertools", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "pytest-flake8"] + +[metadata] +lock-version = "1.1" +python-versions = "^3.7.2" +content-hash = "2fa2ce9cccdeff676843db18b3e7f34065ebe510eff1a40509cd46c6ee04e219" + +[metadata.files] +anyio = [ + {file = "anyio-3.6.2-py3-none-any.whl", hash = "sha256:fbbe32bd270d2a2ef3ed1c5d45041250284e31fc0a4df4a5a6071842051a51e3"}, + {file = "anyio-3.6.2.tar.gz", hash = "sha256:25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421"}, +] +astroid = [ + {file = "astroid-2.12.13-py3-none-any.whl", hash = "sha256:10e0ad5f7b79c435179d0d0f0df69998c4eef4597534aae44910db060baeb907"}, + {file = "astroid-2.12.13.tar.gz", hash = "sha256:1493fe8bd3dfd73dc35bd53c9d5b6e49ead98497c47b2307662556a5692d29d7"}, +] +async-timeout = [ + {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"}, + {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, +] +attrs = [ + {file = "attrs-22.1.0-py2.py3-none-any.whl", hash = "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"}, + {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, +] +black = [ + {file = "black-22.10.0-1fixedarch-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5cc42ca67989e9c3cf859e84c2bf014f6633db63d1cbdf8fdb666dcd9e77e3fa"}, + {file = "black-22.10.0-1fixedarch-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:5d8f74030e67087b219b032aa33a919fae8806d49c867846bfacde57f43972ef"}, + {file = "black-22.10.0-1fixedarch-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:197df8509263b0b8614e1df1756b1dd41be6738eed2ba9e9769f3880c2b9d7b6"}, + {file = "black-22.10.0-1fixedarch-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:2644b5d63633702bc2c5f3754b1b475378fbbfb481f62319388235d0cd104c2d"}, + {file = "black-22.10.0-1fixedarch-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:e41a86c6c650bcecc6633ee3180d80a025db041a8e2398dcc059b3afa8382cd4"}, + {file = "black-22.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2039230db3c6c639bd84efe3292ec7b06e9214a2992cd9beb293d639c6402edb"}, + {file = "black-22.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14ff67aec0a47c424bc99b71005202045dc09270da44a27848d534600ac64fc7"}, + {file = "black-22.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:819dc789f4498ecc91438a7de64427c73b45035e2e3680c92e18795a839ebb66"}, + {file = "black-22.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5b9b29da4f564ba8787c119f37d174f2b69cdfdf9015b7d8c5c16121ddc054ae"}, + {file = "black-22.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8b49776299fece66bffaafe357d929ca9451450f5466e997a7285ab0fe28e3b"}, + {file = "black-22.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:21199526696b8f09c3997e2b4db8d0b108d801a348414264d2eb8eb2532e540d"}, + {file = "black-22.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e464456d24e23d11fced2bc8c47ef66d471f845c7b7a42f3bd77bf3d1789650"}, + {file = "black-22.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9311e99228ae10023300ecac05be5a296f60d2fd10fff31cf5c1fa4ca4b1988d"}, + {file = "black-22.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fba8a281e570adafb79f7755ac8721b6cf1bbf691186a287e990c7929c7692ff"}, + {file = "black-22.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:915ace4ff03fdfff953962fa672d44be269deb2eaf88499a0f8805221bc68c87"}, + {file = "black-22.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:444ebfb4e441254e87bad00c661fe32df9969b2bf224373a448d8aca2132b395"}, + {file = "black-22.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:974308c58d057a651d182208a484ce80a26dac0caef2895836a92dd6ebd725e0"}, + {file = "black-22.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72ef3925f30e12a184889aac03d77d031056860ccae8a1e519f6cbb742736383"}, + {file = "black-22.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:432247333090c8c5366e69627ccb363bc58514ae3e63f7fc75c54b1ea80fa7de"}, + {file = "black-22.10.0-py3-none-any.whl", hash = "sha256:c957b2b4ea88587b46cf49d1dc17681c1e672864fd7af32fc1e9664d572b3458"}, + {file = "black-22.10.0.tar.gz", hash = "sha256:f513588da599943e0cde4e32cc9879e825d58720d6557062d1098c5ad80080e1"}, +] +certifi = [ + {file = "certifi-2022.9.24-py3-none-any.whl", hash = "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"}, + {file = "certifi-2022.9.24.tar.gz", hash = "sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14"}, +] +charset-normalizer = [ + {file = "charset-normalizer-2.1.1.tar.gz", hash = "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"}, + {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"}, +] +click = [ + {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, + {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, +] +colorama = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] +commonmark = [ + {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, + {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, +] +darglint = [ + {file = "darglint-1.8.1-py3-none-any.whl", hash = "sha256:5ae11c259c17b0701618a20c3da343a3eb98b3bc4b5a83d31cdd94f5ebdced8d"}, + {file = "darglint-1.8.1.tar.gz", hash = "sha256:080d5106df149b199822e7ee7deb9c012b49891538f14a11be681044f0bb20da"}, +] +dill = [ + {file = "dill-0.3.6-py3-none-any.whl", hash = "sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0"}, + {file = "dill-0.3.6.tar.gz", hash = "sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373"}, +] +exceptiongroup = [ + {file = "exceptiongroup-1.0.4-py3-none-any.whl", hash = "sha256:542adf9dea4055530d6e1279602fa5cb11dab2395fa650b8674eaec35fc4a828"}, + {file = "exceptiongroup-1.0.4.tar.gz", hash = "sha256:bd14967b79cd9bdb54d97323216f8fdf533e278df937aa2a90089e7d6e06e5ec"}, +] +fastapi = [ + {file = "fastapi-0.88.0-py3-none-any.whl", hash = "sha256:263b718bb384422fe3d042ffc9a0c8dece5e034ab6586ff034f6b4b1667c3eee"}, + {file = "fastapi-0.88.0.tar.gz", hash = "sha256:915bf304180a0e7c5605ec81097b7d4cd8826ff87a02bb198e336fb9f3b5ff02"}, +] +greenlet = [ + {file = "greenlet-2.0.1-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:9ed358312e63bf683b9ef22c8e442ef6c5c02973f0c2a939ec1d7b50c974015c"}, + {file = "greenlet-2.0.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:4f09b0010e55bec3239278f642a8a506b91034f03a4fb28289a7d448a67f1515"}, + {file = "greenlet-2.0.1-cp27-cp27m-win32.whl", hash = "sha256:1407fe45246632d0ffb7a3f4a520ba4e6051fc2cbd61ba1f806900c27f47706a"}, + {file = "greenlet-2.0.1-cp27-cp27m-win_amd64.whl", hash = "sha256:3001d00eba6bbf084ae60ec7f4bb8ed375748f53aeaefaf2a37d9f0370558524"}, + {file = "greenlet-2.0.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d566b82e92ff2e09dd6342df7e0eb4ff6275a3f08db284888dcd98134dbd4243"}, + {file = "greenlet-2.0.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:0722c9be0797f544a3ed212569ca3fe3d9d1a1b13942d10dd6f0e8601e484d26"}, + {file = "greenlet-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d37990425b4687ade27810e3b1a1c37825d242ebc275066cfee8cb6b8829ccd"}, + {file = "greenlet-2.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be35822f35f99dcc48152c9839d0171a06186f2d71ef76dc57fa556cc9bf6b45"}, + {file = "greenlet-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c140e7eb5ce47249668056edf3b7e9900c6a2e22fb0eaf0513f18a1b2c14e1da"}, + {file = "greenlet-2.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d21681f09e297a5adaa73060737e3aa1279a13ecdcfcc6ef66c292cb25125b2d"}, + {file = "greenlet-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fb412b7db83fe56847df9c47b6fe3f13911b06339c2aa02dcc09dce8bbf582cd"}, + {file = "greenlet-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:c6a08799e9e88052221adca55741bf106ec7ea0710bca635c208b751f0d5b617"}, + {file = "greenlet-2.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9e112e03d37987d7b90c1e98ba5e1b59e1645226d78d73282f45b326f7bddcb9"}, + {file = "greenlet-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56961cfca7da2fdd178f95ca407fa330c64f33289e1804b592a77d5593d9bd94"}, + {file = "greenlet-2.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:13ba6e8e326e2116c954074c994da14954982ba2795aebb881c07ac5d093a58a"}, + {file = "greenlet-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bf633a50cc93ed17e494015897361010fc08700d92676c87931d3ea464123ce"}, + {file = "greenlet-2.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9f2c221eecb7ead00b8e3ddb913c67f75cba078fd1d326053225a3f59d850d72"}, + {file = "greenlet-2.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:13ebf93c343dd8bd010cd98e617cb4c1c1f352a0cf2524c82d3814154116aa82"}, + {file = "greenlet-2.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:6f61d71bbc9b4a3de768371b210d906726535d6ca43506737682caa754b956cd"}, + {file = "greenlet-2.0.1-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:2d0bac0385d2b43a7bd1d651621a4e0f1380abc63d6fb1012213a401cbd5bf8f"}, + {file = "greenlet-2.0.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:f6327b6907b4cb72f650a5b7b1be23a2aab395017aa6f1adb13069d66360eb3f"}, + {file = "greenlet-2.0.1-cp35-cp35m-win32.whl", hash = "sha256:81b0ea3715bf6a848d6f7149d25bf018fd24554a4be01fcbbe3fdc78e890b955"}, + {file = "greenlet-2.0.1-cp35-cp35m-win_amd64.whl", hash = "sha256:38255a3f1e8942573b067510f9611fc9e38196077b0c8eb7a8c795e105f9ce77"}, + {file = "greenlet-2.0.1-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:04957dc96669be041e0c260964cfef4c77287f07c40452e61abe19d647505581"}, + {file = "greenlet-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:4aeaebcd91d9fee9aa768c1b39cb12214b30bf36d2b7370505a9f2165fedd8d9"}, + {file = "greenlet-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:974a39bdb8c90a85982cdb78a103a32e0b1be986d411303064b28a80611f6e51"}, + {file = "greenlet-2.0.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8dca09dedf1bd8684767bc736cc20c97c29bc0c04c413e3276e0962cd7aeb148"}, + {file = "greenlet-2.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4c0757db9bd08470ff8277791795e70d0bf035a011a528ee9a5ce9454b6cba2"}, + {file = "greenlet-2.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:5067920de254f1a2dee8d3d9d7e4e03718e8fd2d2d9db962c8c9fa781ae82a39"}, + {file = "greenlet-2.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:5a8e05057fab2a365c81abc696cb753da7549d20266e8511eb6c9d9f72fe3e92"}, + {file = "greenlet-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:3d75b8d013086b08e801fbbb896f7d5c9e6ccd44f13a9241d2bf7c0df9eda928"}, + {file = "greenlet-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:097e3dae69321e9100202fc62977f687454cd0ea147d0fd5a766e57450c569fd"}, + {file = "greenlet-2.0.1-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:cb242fc2cda5a307a7698c93173d3627a2a90d00507bccf5bc228851e8304963"}, + {file = "greenlet-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:72b00a8e7c25dcea5946692a2485b1a0c0661ed93ecfedfa9b6687bd89a24ef5"}, + {file = "greenlet-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5b0ff9878333823226d270417f24f4d06f235cb3e54d1103b71ea537a6a86ce"}, + {file = "greenlet-2.0.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be9e0fb2ada7e5124f5282d6381903183ecc73ea019568d6d63d33f25b2a9000"}, + {file = "greenlet-2.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b493db84d124805865adc587532ebad30efa68f79ad68f11b336e0a51ec86c2"}, + {file = "greenlet-2.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0459d94f73265744fee4c2d5ec44c6f34aa8a31017e6e9de770f7bcf29710be9"}, + {file = "greenlet-2.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a20d33124935d27b80e6fdacbd34205732660e0a1d35d8b10b3328179a2b51a1"}, + {file = "greenlet-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:ea688d11707d30e212e0110a1aac7f7f3f542a259235d396f88be68b649e47d1"}, + {file = "greenlet-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:afe07421c969e259e9403c3bb658968702bc3b78ec0b6fde3ae1e73440529c23"}, + {file = "greenlet-2.0.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:cd4ccc364cf75d1422e66e247e52a93da6a9b73cefa8cad696f3cbbb75af179d"}, + {file = "greenlet-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:4c8b1c43e75c42a6cafcc71defa9e01ead39ae80bd733a2608b297412beede68"}, + {file = "greenlet-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:659f167f419a4609bc0516fb18ea69ed39dbb25594934bd2dd4d0401660e8a1e"}, + {file = "greenlet-2.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:356e4519d4dfa766d50ecc498544b44c0249b6de66426041d7f8b751de4d6b48"}, + {file = "greenlet-2.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:811e1d37d60b47cb8126e0a929b58c046251f28117cb16fcd371eed61f66b764"}, + {file = "greenlet-2.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d38ffd0e81ba8ef347d2be0772e899c289b59ff150ebbbbe05dc61b1246eb4e0"}, + {file = "greenlet-2.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0109af1138afbfb8ae647e31a2b1ab030f58b21dd8528c27beaeb0093b7938a9"}, + {file = "greenlet-2.0.1-cp38-cp38-win32.whl", hash = "sha256:88c8d517e78acdf7df8a2134a3c4b964415b575d2840a2746ddb1cc6175f8608"}, + {file = "greenlet-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:d6ee1aa7ab36475035eb48c01efae87d37936a8173fc4d7b10bb02c2d75dd8f6"}, + {file = "greenlet-2.0.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:b1992ba9d4780d9af9726bbcef6a1db12d9ab1ccc35e5773685a24b7fb2758eb"}, + {file = "greenlet-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:b5e83e4de81dcc9425598d9469a624826a0b1211380ac444c7c791d4a2137c19"}, + {file = "greenlet-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:505138d4fa69462447a562a7c2ef723c6025ba12ac04478bc1ce2fcc279a2db5"}, + {file = "greenlet-2.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cce1e90dd302f45716a7715517c6aa0468af0bf38e814ad4eab58e88fc09f7f7"}, + {file = "greenlet-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e9744c657d896c7b580455e739899e492a4a452e2dd4d2b3e459f6b244a638d"}, + {file = "greenlet-2.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:662e8f7cad915ba75d8017b3e601afc01ef20deeeabf281bd00369de196d7726"}, + {file = "greenlet-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:41b825d65f31e394b523c84db84f9383a2f7eefc13d987f308f4663794d2687e"}, + {file = "greenlet-2.0.1-cp39-cp39-win32.whl", hash = "sha256:db38f80540083ea33bdab614a9d28bcec4b54daa5aff1668d7827a9fc769ae0a"}, + {file = "greenlet-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:b23d2a46d53210b498e5b701a1913697671988f4bf8e10f935433f6e7c332fb6"}, + {file = "greenlet-2.0.1.tar.gz", hash = "sha256:42e602564460da0e8ee67cb6d7236363ee5e131aa15943b6670e44e5c2ed0f67"}, +] +gunicorn = [ + {file = "gunicorn-20.1.0-py3-none-any.whl", hash = "sha256:9dcc4547dbb1cb284accfb15ab5667a0e5d1881cc443e0677b4882a4067a807e"}, + {file = "gunicorn-20.1.0.tar.gz", hash = "sha256:e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8"}, +] +h11 = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] +idna = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] +importlib-metadata = [ + {file = "importlib_metadata-5.1.0-py3-none-any.whl", hash = "sha256:d84d17e21670ec07990e1044a99efe8d615d860fd176fc29ef5c306068fda313"}, + {file = "importlib_metadata-5.1.0.tar.gz", hash = "sha256:d5059f9f1e8e41f80e9c56c2ee58811450c31984dfa625329ffd7c0dad88a73b"}, +] +iniconfig = [ + {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, + {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, +] +isort = [ + {file = "isort-5.10.1-py3-none-any.whl", hash = "sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7"}, + {file = "isort-5.10.1.tar.gz", hash = "sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951"}, +] +lazy-object-proxy = [ + {file = "lazy-object-proxy-1.8.0.tar.gz", hash = "sha256:c219a00245af0f6fa4e95901ed28044544f50152840c5b6a3e7b2568db34d156"}, + {file = "lazy_object_proxy-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4fd031589121ad46e293629b39604031d354043bb5cdf83da4e93c2d7f3389fe"}, + {file = "lazy_object_proxy-1.8.0-cp310-cp310-win32.whl", hash = "sha256:b70d6e7a332eb0217e7872a73926ad4fdc14f846e85ad6749ad111084e76df25"}, + {file = "lazy_object_proxy-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:eb329f8d8145379bf5dbe722182410fe8863d186e51bf034d2075eb8d85ee25b"}, + {file = "lazy_object_proxy-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4e2d9f764f1befd8bdc97673261b8bb888764dfdbd7a4d8f55e4fbcabb8c3fb7"}, + {file = "lazy_object_proxy-1.8.0-cp311-cp311-win32.whl", hash = "sha256:e20bfa6db17a39c706d24f82df8352488d2943a3b7ce7d4c22579cb89ca8896e"}, + {file = "lazy_object_proxy-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:14010b49a2f56ec4943b6cf925f597b534ee2fe1f0738c84b3bce0c1a11ff10d"}, + {file = "lazy_object_proxy-1.8.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6850e4aeca6d0df35bb06e05c8b934ff7c533734eb51d0ceb2d63696f1e6030c"}, + {file = "lazy_object_proxy-1.8.0-cp37-cp37m-win32.whl", hash = "sha256:5b51d6f3bfeb289dfd4e95de2ecd464cd51982fe6f00e2be1d0bf94864d58acd"}, + {file = "lazy_object_proxy-1.8.0-cp37-cp37m-win_amd64.whl", hash = "sha256:6f593f26c470a379cf7f5bc6db6b5f1722353e7bf937b8d0d0b3fba911998858"}, + {file = "lazy_object_proxy-1.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c1c7c0433154bb7c54185714c6929acc0ba04ee1b167314a779b9025517eada"}, + {file = "lazy_object_proxy-1.8.0-cp38-cp38-win32.whl", hash = "sha256:d176f392dbbdaacccf15919c77f526edf11a34aece58b55ab58539807b85436f"}, + {file = "lazy_object_proxy-1.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:afcaa24e48bb23b3be31e329deb3f1858f1f1df86aea3d70cb5c8578bfe5261c"}, + {file = "lazy_object_proxy-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:71d9ae8a82203511a6f60ca5a1b9f8ad201cac0fc75038b2dc5fa519589c9288"}, + {file = "lazy_object_proxy-1.8.0-cp39-cp39-win32.whl", hash = "sha256:8f6ce2118a90efa7f62dd38c7dbfffd42f468b180287b748626293bf12ed468f"}, + {file = "lazy_object_proxy-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:eac3a9a5ef13b332c059772fd40b4b1c3d45a3a2b05e33a361dee48e54a4dad0"}, + {file = "lazy_object_proxy-1.8.0-pp37-pypy37_pp73-any.whl", hash = "sha256:ae032743794fba4d171b5b67310d69176287b5bf82a21f588282406a79498891"}, + {file = "lazy_object_proxy-1.8.0-pp38-pypy38_pp73-any.whl", hash = "sha256:7e1561626c49cb394268edd00501b289053a652ed762c58e1081224c8d881cec"}, + {file = "lazy_object_proxy-1.8.0-pp39-pypy39_pp73-any.whl", hash = "sha256:ce58b2b3734c73e68f0e30e4e725264d4d6be95818ec0a0be4bb6bf9a7e79aa8"}, +] +mccabe = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] +mypy-extensions = [ + {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, + {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, +] +nodeenv = [ + {file = "nodeenv-1.7.0-py2.py3-none-any.whl", hash = "sha256:27083a7b96a25f2f5e1d8cb4b6317ee8aeda3bdd121394e5ac54e498028a042e"}, + {file = "nodeenv-1.7.0.tar.gz", hash = "sha256:e0e7f7dfb85fc5394c6fe1e8fa98131a2473e04311a45afb6508f7cf1836fa2b"}, +] +packaging = [ + {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, + {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, +] +pathspec = [ + {file = "pathspec-0.10.2-py3-none-any.whl", hash = "sha256:88c2606f2c1e818b978540f73ecc908e13999c6c3a383daf3705652ae79807a5"}, + {file = "pathspec-0.10.2.tar.gz", hash = "sha256:8f6bf73e5758fd365ef5d58ce09ac7c27d2833a8d7da51712eac6e27e35141b0"}, +] +platformdirs = [ + {file = "platformdirs-2.5.4-py3-none-any.whl", hash = "sha256:af0276409f9a02373d540bf8480021a048711d572745aef4b7842dad245eba10"}, + {file = "platformdirs-2.5.4.tar.gz", hash = "sha256:1006647646d80f16130f052404c6b901e80ee4ed6bef6792e1f238a8969106f7"}, +] +plotly = [ + {file = "plotly-5.11.0-py2.py3-none-any.whl", hash = "sha256:52fd74b08aa4fd5a55b9d3034a30dbb746e572d7ed84897422f927fdf687ea5f"}, + {file = "plotly-5.11.0.tar.gz", hash = "sha256:4efef479c2ec1d86dcdac8405b6ca70ca65649a77408e39a7e84a1ea2db6c787"}, +] +pluggy = [ + {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, + {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, +] +pydantic = [ + {file = "pydantic-1.10.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bb6ad4489af1bac6955d38ebcb95079a836af31e4c4f74aba1ca05bb9f6027bd"}, + {file = "pydantic-1.10.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a1f5a63a6dfe19d719b1b6e6106561869d2efaca6167f84f5ab9347887d78b98"}, + {file = "pydantic-1.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:352aedb1d71b8b0736c6d56ad2bd34c6982720644b0624462059ab29bd6e5912"}, + {file = "pydantic-1.10.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19b3b9ccf97af2b7519c42032441a891a5e05c68368f40865a90eb88833c2559"}, + {file = "pydantic-1.10.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e9069e1b01525a96e6ff49e25876d90d5a563bc31c658289a8772ae186552236"}, + {file = "pydantic-1.10.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:355639d9afc76bcb9b0c3000ddcd08472ae75318a6eb67a15866b87e2efa168c"}, + {file = "pydantic-1.10.2-cp310-cp310-win_amd64.whl", hash = "sha256:ae544c47bec47a86bc7d350f965d8b15540e27e5aa4f55170ac6a75e5f73b644"}, + {file = "pydantic-1.10.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a4c805731c33a8db4b6ace45ce440c4ef5336e712508b4d9e1aafa617dc9907f"}, + {file = "pydantic-1.10.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d49f3db871575e0426b12e2f32fdb25e579dea16486a26e5a0474af87cb1ab0a"}, + {file = "pydantic-1.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37c90345ec7dd2f1bcef82ce49b6235b40f282b94d3eec47e801baf864d15525"}, + {file = "pydantic-1.10.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b5ba54d026c2bd2cb769d3468885f23f43710f651688e91f5fb1edcf0ee9283"}, + {file = "pydantic-1.10.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:05e00dbebbe810b33c7a7362f231893183bcc4251f3f2ff991c31d5c08240c42"}, + {file = "pydantic-1.10.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2d0567e60eb01bccda3a4df01df677adf6b437958d35c12a3ac3e0f078b0ee52"}, + {file = "pydantic-1.10.2-cp311-cp311-win_amd64.whl", hash = "sha256:c6f981882aea41e021f72779ce2a4e87267458cc4d39ea990729e21ef18f0f8c"}, + {file = "pydantic-1.10.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c4aac8e7103bf598373208f6299fa9a5cfd1fc571f2d40bf1dd1955a63d6eeb5"}, + {file = "pydantic-1.10.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a7b66c3f499108b448f3f004801fcd7d7165fb4200acb03f1c2402da73ce4c"}, + {file = "pydantic-1.10.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bedf309630209e78582ffacda64a21f96f3ed2e51fbf3962d4d488e503420254"}, + {file = "pydantic-1.10.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:9300fcbebf85f6339a02c6994b2eb3ff1b9c8c14f502058b5bf349d42447dcf5"}, + {file = "pydantic-1.10.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:216f3bcbf19c726b1cc22b099dd409aa371f55c08800bcea4c44c8f74b73478d"}, + {file = "pydantic-1.10.2-cp37-cp37m-win_amd64.whl", hash = "sha256:dd3f9a40c16daf323cf913593083698caee97df2804aa36c4b3175d5ac1b92a2"}, + {file = "pydantic-1.10.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b97890e56a694486f772d36efd2ba31612739bc6f3caeee50e9e7e3ebd2fdd13"}, + {file = "pydantic-1.10.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9cabf4a7f05a776e7793e72793cd92cc865ea0e83a819f9ae4ecccb1b8aa6116"}, + {file = "pydantic-1.10.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06094d18dd5e6f2bbf93efa54991c3240964bb663b87729ac340eb5014310624"}, + {file = "pydantic-1.10.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cc78cc83110d2f275ec1970e7a831f4e371ee92405332ebfe9860a715f8336e1"}, + {file = "pydantic-1.10.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ee433e274268a4b0c8fde7ad9d58ecba12b069a033ecc4645bb6303c062d2e9"}, + {file = "pydantic-1.10.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7c2abc4393dea97a4ccbb4ec7d8658d4e22c4765b7b9b9445588f16c71ad9965"}, + {file = "pydantic-1.10.2-cp38-cp38-win_amd64.whl", hash = "sha256:0b959f4d8211fc964772b595ebb25f7652da3f22322c007b6fed26846a40685e"}, + {file = "pydantic-1.10.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c33602f93bfb67779f9c507e4d69451664524389546bacfe1bee13cae6dc7488"}, + {file = "pydantic-1.10.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5760e164b807a48a8f25f8aa1a6d857e6ce62e7ec83ea5d5c5a802eac81bad41"}, + {file = "pydantic-1.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6eb843dcc411b6a2237a694f5e1d649fc66c6064d02b204a7e9d194dff81eb4b"}, + {file = "pydantic-1.10.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b8795290deaae348c4eba0cebb196e1c6b98bdbe7f50b2d0d9a4a99716342fe"}, + {file = "pydantic-1.10.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e0bedafe4bc165ad0a56ac0bd7695df25c50f76961da29c050712596cf092d6d"}, + {file = "pydantic-1.10.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2e05aed07fa02231dbf03d0adb1be1d79cabb09025dd45aa094aa8b4e7b9dcda"}, + {file = "pydantic-1.10.2-cp39-cp39-win_amd64.whl", hash = "sha256:c1ba1afb396148bbc70e9eaa8c06c1716fdddabaf86e7027c5988bae2a829ab6"}, + {file = "pydantic-1.10.2-py3-none-any.whl", hash = "sha256:1b6ee725bd6e83ec78b1aa32c5b1fa67a3a65badddde3976bca5fe4568f27709"}, + {file = "pydantic-1.10.2.tar.gz", hash = "sha256:91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410"}, +] +pydocstyle = [ + {file = "pydocstyle-6.1.1-py3-none-any.whl", hash = "sha256:6987826d6775056839940041beef5c08cc7e3d71d63149b48e36727f70144dc4"}, + {file = "pydocstyle-6.1.1.tar.gz", hash = "sha256:1d41b7c459ba0ee6c345f2eb9ae827cab14a7533a88c5c6f7e94923f72df92dc"}, +] +pygments = [ + {file = "Pygments-2.13.0-py3-none-any.whl", hash = "sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42"}, + {file = "Pygments-2.13.0.tar.gz", hash = "sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1"}, +] +pylint = [ + {file = "pylint-2.15.7-py3-none-any.whl", hash = "sha256:1d561d1d3e8be9dd880edc685162fbdaa0409c88b9b7400873c0cf345602e326"}, + {file = "pylint-2.15.7.tar.gz", hash = "sha256:91e4776dbcb4b4d921a3e4b6fec669551107ba11f29d9199154a01622e460a57"}, +] +pyparsing = [ + {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, + {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, +] +pyright = [ + {file = "pyright-1.1.283-py3-none-any.whl", hash = "sha256:d5b14bb50ccbfb7769e09a611960665021816ea1b0543e0ffb8c341388c73710"}, + {file = "pyright-1.1.283.tar.gz", hash = "sha256:57dcc7abf0b764d5f587a80faf20186f5666adffe5f34afa10d471e96bbd9509"}, +] +pytest = [ + {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, + {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, +] +pytest-asyncio = [ + {file = "pytest-asyncio-0.20.2.tar.gz", hash = "sha256:32a87a9836298a881c0ec637ebcc952cfe23a56436bdc0d09d1511941dd8a812"}, + {file = "pytest_asyncio-0.20.2-py3-none-any.whl", hash = "sha256:07e0abf9e6e6b95894a39f688a4a875d63c2128f76c02d03d16ccbc35bcc0f8a"}, +] +redis = [ + {file = "redis-4.3.5-py3-none-any.whl", hash = "sha256:46652271dc7525cd5a9667e5b0ca983c848c75b2b8f7425403395bb8379dcf25"}, + {file = "redis-4.3.5.tar.gz", hash = "sha256:30c07511627a4c5c4d970e060000772f323174f75e745a26938319817ead7a12"}, +] +requests = [] +rich = [ + {file = "rich-12.6.0-py3-none-any.whl", hash = "sha256:a4eb26484f2c82589bd9a17c73d32a010b1e29d89f1604cd9bf3a2097b81bb5e"}, + {file = "rich-12.6.0.tar.gz", hash = "sha256:ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0"}, +] +sniffio = [ + {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, + {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, +] +snowballstemmer = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] +sqlalchemy = [ + {file = "SQLAlchemy-1.4.41-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:13e397a9371ecd25573a7b90bd037db604331cf403f5318038c46ee44908c44d"}, + {file = "SQLAlchemy-1.4.41-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2d6495f84c4fd11584f34e62f9feec81bf373787b3942270487074e35cbe5330"}, + {file = "SQLAlchemy-1.4.41-cp27-cp27m-win32.whl", hash = "sha256:e570cfc40a29d6ad46c9aeaddbdcee687880940a3a327f2c668dd0e4ef0a441d"}, + {file = "SQLAlchemy-1.4.41-cp27-cp27m-win_amd64.whl", hash = "sha256:5facb7fd6fa8a7353bbe88b95695e555338fb038ad19ceb29c82d94f62775a05"}, + {file = "SQLAlchemy-1.4.41-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:f37fa70d95658763254941ddd30ecb23fc4ec0c5a788a7c21034fc2305dab7cc"}, + {file = "SQLAlchemy-1.4.41-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:361f6b5e3f659e3c56ea3518cf85fbdae1b9e788ade0219a67eeaaea8a4e4d2a"}, + {file = "SQLAlchemy-1.4.41-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0990932f7cca97fece8017414f57fdd80db506a045869d7ddf2dda1d7cf69ecc"}, + {file = "SQLAlchemy-1.4.41-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cd767cf5d7252b1c88fcfb58426a32d7bd14a7e4942497e15b68ff5d822b41ad"}, + {file = "SQLAlchemy-1.4.41-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5102fb9ee2c258a2218281adcb3e1918b793c51d6c2b4666ce38c35101bb940e"}, + {file = "SQLAlchemy-1.4.41-cp310-cp310-win32.whl", hash = "sha256:2082a2d2fca363a3ce21cfa3d068c5a1ce4bf720cf6497fb3a9fc643a8ee4ddd"}, + {file = "SQLAlchemy-1.4.41-cp310-cp310-win_amd64.whl", hash = "sha256:e4b12e3d88a8fffd0b4ca559f6d4957ed91bd4c0613a4e13846ab8729dc5c251"}, + {file = "SQLAlchemy-1.4.41-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:90484a2b00baedad361402c257895b13faa3f01780f18f4a104a2f5c413e4536"}, + {file = "SQLAlchemy-1.4.41-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b67fc780cfe2b306180e56daaa411dd3186bf979d50a6a7c2a5b5036575cbdbb"}, + {file = "SQLAlchemy-1.4.41-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ad2b727fc41c7f8757098903f85fafb4bf587ca6605f82d9bf5604bd9c7cded"}, + {file = "SQLAlchemy-1.4.41-cp311-cp311-win32.whl", hash = "sha256:59bdc291165b6119fc6cdbc287c36f7f2859e6051dd923bdf47b4c55fd2f8bd0"}, + {file = "SQLAlchemy-1.4.41-cp311-cp311-win_amd64.whl", hash = "sha256:d2e054aed4645f9b755db85bc69fc4ed2c9020c19c8027976f66576b906a74f1"}, + {file = "SQLAlchemy-1.4.41-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:4ba7e122510bbc07258dc42be6ed45997efdf38129bde3e3f12649be70683546"}, + {file = "SQLAlchemy-1.4.41-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0dcf127bb99458a9d211e6e1f0f3edb96c874dd12f2503d4d8e4f1fd103790b"}, + {file = "SQLAlchemy-1.4.41-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e16c2be5cb19e2c08da7bd3a87fed2a0d4e90065ee553a940c4fc1a0fb1ab72b"}, + {file = "SQLAlchemy-1.4.41-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5ebeeec5c14533221eb30bad716bc1fd32f509196318fb9caa7002c4a364e4c"}, + {file = "SQLAlchemy-1.4.41-cp36-cp36m-win32.whl", hash = "sha256:3e2ef592ac3693c65210f8b53d0edcf9f4405925adcfc031ff495e8d18169682"}, + {file = "SQLAlchemy-1.4.41-cp36-cp36m-win_amd64.whl", hash = "sha256:eb30cf008850c0a26b72bd1b9be6730830165ce049d239cfdccd906f2685f892"}, + {file = "SQLAlchemy-1.4.41-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:c23d64a0b28fc78c96289ffbd0d9d1abd48d267269b27f2d34e430ea73ce4b26"}, + {file = "SQLAlchemy-1.4.41-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8eb8897367a21b578b26f5713833836f886817ee2ffba1177d446fa3f77e67c8"}, + {file = "SQLAlchemy-1.4.41-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:14576238a5f89bcf504c5f0a388d0ca78df61fb42cb2af0efe239dc965d4f5c9"}, + {file = "SQLAlchemy-1.4.41-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:639e1ae8d48b3c86ffe59c0daa9a02e2bfe17ca3d2b41611b30a0073937d4497"}, + {file = "SQLAlchemy-1.4.41-cp37-cp37m-win32.whl", hash = "sha256:0005bd73026cd239fc1e8ccdf54db58b6193be9a02b3f0c5983808f84862c767"}, + {file = "SQLAlchemy-1.4.41-cp37-cp37m-win_amd64.whl", hash = "sha256:5323252be2bd261e0aa3f33cb3a64c45d76829989fa3ce90652838397d84197d"}, + {file = "SQLAlchemy-1.4.41-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:05f0de3a1dc3810a776275763764bb0015a02ae0f698a794646ebc5fb06fad33"}, + {file = "SQLAlchemy-1.4.41-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0002e829142b2af00b4eaa26c51728f3ea68235f232a2e72a9508a3116bd6ed0"}, + {file = "SQLAlchemy-1.4.41-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:22ff16cedab5b16a0db79f1bc99e46a6ddececb60c396562e50aab58ddb2871c"}, + {file = "SQLAlchemy-1.4.41-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccfd238f766a5bb5ee5545a62dd03f316ac67966a6a658efb63eeff8158a4bbf"}, + {file = "SQLAlchemy-1.4.41-cp38-cp38-win32.whl", hash = "sha256:58bb65b3274b0c8a02cea9f91d6f44d0da79abc993b33bdedbfec98c8440175a"}, + {file = "SQLAlchemy-1.4.41-cp38-cp38-win_amd64.whl", hash = "sha256:ce8feaa52c1640de9541eeaaa8b5fb632d9d66249c947bb0d89dd01f87c7c288"}, + {file = "SQLAlchemy-1.4.41-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:199a73c31ac8ea59937cc0bf3dfc04392e81afe2ec8a74f26f489d268867846c"}, + {file = "SQLAlchemy-1.4.41-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676d51c9f6f6226ae8f26dc83ec291c088fe7633269757d333978df78d931ab"}, + {file = "SQLAlchemy-1.4.41-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:036d8472356e1d5f096c5e0e1a7e0f9182140ada3602f8fff6b7329e9e7cfbcd"}, + {file = "SQLAlchemy-1.4.41-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2307495d9e0ea00d0c726be97a5b96615035854972cc538f6e7eaed23a35886c"}, + {file = "SQLAlchemy-1.4.41-cp39-cp39-win32.whl", hash = "sha256:9c56e19780cd1344fcd362fd6265a15f48aa8d365996a37fab1495cae8fcd97d"}, + {file = "SQLAlchemy-1.4.41-cp39-cp39-win_amd64.whl", hash = "sha256:f5fa526d027d804b1f85cdda1eb091f70bde6fb7d87892f6dd5a48925bc88898"}, + {file = "SQLAlchemy-1.4.41.tar.gz", hash = "sha256:0292f70d1797e3c54e862e6f30ae474014648bc9c723e14a2fda730adb0a9791"}, +] +sqlalchemy2-stubs = [ + {file = "sqlalchemy2-stubs-0.0.2a29.tar.gz", hash = "sha256:1bbc6aebd76db7c0351a9f45cc1c4e8ac335ba150094c2af091e8b87b9118419"}, + {file = "sqlalchemy2_stubs-0.0.2a29-py3-none-any.whl", hash = "sha256:ece266cdabf3797b13ddddba27561b67ae7dedc038942bf66e045e978a5e3a66"}, +] +sqlmodel = [ + {file = "sqlmodel-0.0.8-py3-none-any.whl", hash = "sha256:0fd805719e0c5d4f22be32eb3ffc856eca3f7f20e8c7aa3e117ad91684b518ee"}, + {file = "sqlmodel-0.0.8.tar.gz", hash = "sha256:3371b4d1ad59d2ffd0c530582c2140b6c06b090b32af9b9c6412986d7b117036"}, +] +starlette = [ + {file = "starlette-0.22.0-py3-none-any.whl", hash = "sha256:b5eda991ad5f0ee5d8ce4c4540202a573bb6691ecd0c712262d0bc85cf8f2c50"}, + {file = "starlette-0.22.0.tar.gz", hash = "sha256:b092cbc365bea34dd6840b42861bdabb2f507f8671e642e8272d2442e08ea4ff"}, +] +tenacity = [ + {file = "tenacity-8.1.0-py3-none-any.whl", hash = "sha256:35525cd47f82830069f0d6b73f7eb83bc5b73ee2fff0437952cedf98b27653ac"}, + {file = "tenacity-8.1.0.tar.gz", hash = "sha256:e48c437fdf9340f5666b92cd7990e96bc5fc955e1298baf4a907e3972067a445"}, +] +toml = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] +tomli = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] +tomlkit = [ + {file = "tomlkit-0.11.6-py3-none-any.whl", hash = "sha256:07de26b0d8cfc18f871aec595fda24d95b08fef89d147caa861939f37230bf4b"}, + {file = "tomlkit-0.11.6.tar.gz", hash = "sha256:71b952e5721688937fb02cf9d354dbcf0785066149d2855e44531ebdd2b65d73"}, +] +typed-ast = [ + {file = "typed_ast-1.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:669dd0c4167f6f2cd9f57041e03c3c2ebf9063d0757dc89f79ba1daa2bfca9d4"}, + {file = "typed_ast-1.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:211260621ab1cd7324e0798d6be953d00b74e0428382991adfddb352252f1d62"}, + {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:267e3f78697a6c00c689c03db4876dd1efdfea2f251a5ad6555e82a26847b4ac"}, + {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c542eeda69212fa10a7ada75e668876fdec5f856cd3d06829e6aa64ad17c8dfe"}, + {file = "typed_ast-1.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:a9916d2bb8865f973824fb47436fa45e1ebf2efd920f2b9f99342cb7fab93f72"}, + {file = "typed_ast-1.5.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:79b1e0869db7c830ba6a981d58711c88b6677506e648496b1f64ac7d15633aec"}, + {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a94d55d142c9265f4ea46fab70977a1944ecae359ae867397757d836ea5a3f47"}, + {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:183afdf0ec5b1b211724dfef3d2cad2d767cbefac291f24d69b00546c1837fb6"}, + {file = "typed_ast-1.5.4-cp36-cp36m-win_amd64.whl", hash = "sha256:639c5f0b21776605dd6c9dbe592d5228f021404dafd377e2b7ac046b0349b1a1"}, + {file = "typed_ast-1.5.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cf4afcfac006ece570e32d6fa90ab74a17245b83dfd6655a6f68568098345ff6"}, + {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed855bbe3eb3715fca349c80174cfcfd699c2f9de574d40527b8429acae23a66"}, + {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6778e1b2f81dfc7bc58e4b259363b83d2e509a65198e85d5700dfae4c6c8ff1c"}, + {file = "typed_ast-1.5.4-cp37-cp37m-win_amd64.whl", hash = "sha256:0261195c2062caf107831e92a76764c81227dae162c4f75192c0d489faf751a2"}, + {file = "typed_ast-1.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2efae9db7a8c05ad5547d522e7dbe62c83d838d3906a3716d1478b6c1d61388d"}, + {file = "typed_ast-1.5.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7d5d014b7daa8b0bf2eaef684295acae12b036d79f54178b92a2b6a56f92278f"}, + {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:370788a63915e82fd6f212865a596a0fefcbb7d408bbbb13dea723d971ed8bdc"}, + {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4e964b4ff86550a7a7d56345c7864b18f403f5bd7380edf44a3c1fb4ee7ac6c6"}, + {file = "typed_ast-1.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:683407d92dc953c8a7347119596f0b0e6c55eb98ebebd9b23437501b28dcbb8e"}, + {file = "typed_ast-1.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4879da6c9b73443f97e731b617184a596ac1235fe91f98d279a7af36c796da35"}, + {file = "typed_ast-1.5.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3e123d878ba170397916557d31c8f589951e353cc95fb7f24f6bb69adc1a8a97"}, + {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebd9d7f80ccf7a82ac5f88c521115cc55d84e35bf8b446fcd7836eb6b98929a3"}, + {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98f80dee3c03455e92796b58b98ff6ca0b2a6f652120c263efdba4d6c5e58f72"}, + {file = "typed_ast-1.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:0fdbcf2fef0ca421a3f5912555804296f0b0960f0418c440f5d6d3abb549f3e1"}, + {file = "typed_ast-1.5.4.tar.gz", hash = "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"}, +] +typer = [ + {file = "typer-0.4.2-py3-none-any.whl", hash = "sha256:023bae00d1baf358a6cc7cea45851639360bb716de687b42b0a4641cd99173f1"}, + {file = "typer-0.4.2.tar.gz", hash = "sha256:b8261c6c0152dd73478b5ba96ba677e5d6948c715c310f7c91079f311f62ec03"}, +] +typing-extensions = [ + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, +] +urllib3 = [ + {file = "urllib3-1.26.13-py2.py3-none-any.whl", hash = "sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc"}, + {file = "urllib3-1.26.13.tar.gz", hash = "sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8"}, +] +uvicorn = [ + {file = "uvicorn-0.20.0-py3-none-any.whl", hash = "sha256:c3ed1598a5668208723f2bb49336f4509424ad198d6ab2615b7783db58d919fd"}, + {file = "uvicorn-0.20.0.tar.gz", hash = "sha256:a4e12017b940247f836bc90b72e725d7dfd0c8ed1c51eb365f5ba30d9f5127d8"}, +] +wrapt = [ + {file = "wrapt-1.14.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1b376b3f4896e7930f1f772ac4b064ac12598d1c38d04907e696cc4d794b43d3"}, + {file = "wrapt-1.14.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:903500616422a40a98a5a3c4ff4ed9d0066f3b4c951fa286018ecdf0750194ef"}, + {file = "wrapt-1.14.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5a9a0d155deafd9448baff28c08e150d9b24ff010e899311ddd63c45c2445e28"}, + {file = "wrapt-1.14.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ddaea91abf8b0d13443f6dac52e89051a5063c7d014710dcb4d4abb2ff811a59"}, + {file = "wrapt-1.14.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:36f582d0c6bc99d5f39cd3ac2a9062e57f3cf606ade29a0a0d6b323462f4dd87"}, + {file = "wrapt-1.14.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:7ef58fb89674095bfc57c4069e95d7a31cfdc0939e2a579882ac7d55aadfd2a1"}, + {file = "wrapt-1.14.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e2f83e18fe2f4c9e7db597e988f72712c0c3676d337d8b101f6758107c42425b"}, + {file = "wrapt-1.14.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ee2b1b1769f6707a8a445162ea16dddf74285c3964f605877a20e38545c3c462"}, + {file = "wrapt-1.14.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:833b58d5d0b7e5b9832869f039203389ac7cbf01765639c7309fd50ef619e0b1"}, + {file = "wrapt-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:80bb5c256f1415f747011dc3604b59bc1f91c6e7150bd7db03b19170ee06b320"}, + {file = "wrapt-1.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07f7a7d0f388028b2df1d916e94bbb40624c59b48ecc6cbc232546706fac74c2"}, + {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02b41b633c6261feff8ddd8d11c711df6842aba629fdd3da10249a53211a72c4"}, + {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fe803deacd09a233e4762a1adcea5db5d31e6be577a43352936179d14d90069"}, + {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:257fd78c513e0fb5cdbe058c27a0624c9884e735bbd131935fd49e9fe719d310"}, + {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4fcc4649dc762cddacd193e6b55bc02edca674067f5f98166d7713b193932b7f"}, + {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:11871514607b15cfeb87c547a49bca19fde402f32e2b1c24a632506c0a756656"}, + {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8ad85f7f4e20964db4daadcab70b47ab05c7c1cf2a7c1e51087bfaa83831854c"}, + {file = "wrapt-1.14.1-cp310-cp310-win32.whl", hash = "sha256:a9a52172be0b5aae932bef82a79ec0a0ce87288c7d132946d645eba03f0ad8a8"}, + {file = "wrapt-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:6d323e1554b3d22cfc03cd3243b5bb815a51f5249fdcbb86fda4bf62bab9e164"}, + {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:43ca3bbbe97af00f49efb06e352eae40434ca9d915906f77def219b88e85d907"}, + {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:6b1a564e6cb69922c7fe3a678b9f9a3c54e72b469875aa8018f18b4d1dd1adf3"}, + {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:00b6d4ea20a906c0ca56d84f93065b398ab74b927a7a3dbd470f6fc503f95dc3"}, + {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:a85d2b46be66a71bedde836d9e41859879cc54a2a04fad1191eb50c2066f6e9d"}, + {file = "wrapt-1.14.1-cp35-cp35m-win32.whl", hash = "sha256:dbcda74c67263139358f4d188ae5faae95c30929281bc6866d00573783c422b7"}, + {file = "wrapt-1.14.1-cp35-cp35m-win_amd64.whl", hash = "sha256:b21bb4c09ffabfa0e85e3a6b623e19b80e7acd709b9f91452b8297ace2a8ab00"}, + {file = "wrapt-1.14.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9e0fd32e0148dd5dea6af5fee42beb949098564cc23211a88d799e434255a1f4"}, + {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9736af4641846491aedb3c3f56b9bc5568d92b0692303b5a305301a95dfd38b1"}, + {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b02d65b9ccf0ef6c34cba6cf5bf2aab1bb2f49c6090bafeecc9cd81ad4ea1c1"}, + {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21ac0156c4b089b330b7666db40feee30a5d52634cc4560e1905d6529a3897ff"}, + {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:9f3e6f9e05148ff90002b884fbc2a86bd303ae847e472f44ecc06c2cd2fcdb2d"}, + {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:6e743de5e9c3d1b7185870f480587b75b1cb604832e380d64f9504a0535912d1"}, + {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d79d7d5dc8a32b7093e81e97dad755127ff77bcc899e845f41bf71747af0c569"}, + {file = "wrapt-1.14.1-cp36-cp36m-win32.whl", hash = "sha256:81b19725065dcb43df02b37e03278c011a09e49757287dca60c5aecdd5a0b8ed"}, + {file = "wrapt-1.14.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b014c23646a467558be7da3d6b9fa409b2c567d2110599b7cf9a0c5992b3b471"}, + {file = "wrapt-1.14.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:88bd7b6bd70a5b6803c1abf6bca012f7ed963e58c68d76ee20b9d751c74a3248"}, + {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5901a312f4d14c59918c221323068fad0540e34324925c8475263841dbdfe68"}, + {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d77c85fedff92cf788face9bfa3ebaa364448ebb1d765302e9af11bf449ca36d"}, + {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d649d616e5c6a678b26d15ece345354f7c2286acd6db868e65fcc5ff7c24a77"}, + {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7d2872609603cb35ca513d7404a94d6d608fc13211563571117046c9d2bcc3d7"}, + {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ee6acae74a2b91865910eef5e7de37dc6895ad96fa23603d1d27ea69df545015"}, + {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:2b39d38039a1fdad98c87279b48bc5dce2c0ca0d73483b12cb72aa9609278e8a"}, + {file = "wrapt-1.14.1-cp37-cp37m-win32.whl", hash = "sha256:60db23fa423575eeb65ea430cee741acb7c26a1365d103f7b0f6ec412b893853"}, + {file = "wrapt-1.14.1-cp37-cp37m-win_amd64.whl", hash = "sha256:709fe01086a55cf79d20f741f39325018f4df051ef39fe921b1ebe780a66184c"}, + {file = "wrapt-1.14.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8c0ce1e99116d5ab21355d8ebe53d9460366704ea38ae4d9f6933188f327b456"}, + {file = "wrapt-1.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e3fb1677c720409d5f671e39bac6c9e0e422584e5f518bfd50aa4cbbea02433f"}, + {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:642c2e7a804fcf18c222e1060df25fc210b9c58db7c91416fb055897fc27e8cc"}, + {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b7c050ae976e286906dd3f26009e117eb000fb2cf3533398c5ad9ccc86867b1"}, + {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef3f72c9666bba2bab70d2a8b79f2c6d2c1a42a7f7e2b0ec83bb2f9e383950af"}, + {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:01c205616a89d09827986bc4e859bcabd64f5a0662a7fe95e0d359424e0e071b"}, + {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5a0f54ce2c092aaf439813735584b9537cad479575a09892b8352fea5e988dc0"}, + {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2cf71233a0ed05ccdabe209c606fe0bac7379fdcf687f39b944420d2a09fdb57"}, + {file = "wrapt-1.14.1-cp38-cp38-win32.whl", hash = "sha256:aa31fdcc33fef9eb2552cbcbfee7773d5a6792c137b359e82879c101e98584c5"}, + {file = "wrapt-1.14.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1967f46ea8f2db647c786e78d8cc7e4313dbd1b0aca360592d8027b8508e24d"}, + {file = "wrapt-1.14.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3232822c7d98d23895ccc443bbdf57c7412c5a65996c30442ebe6ed3df335383"}, + {file = "wrapt-1.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:988635d122aaf2bdcef9e795435662bcd65b02f4f4c1ae37fbee7401c440b3a7"}, + {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cca3c2cdadb362116235fdbd411735de4328c61425b0aa9f872fd76d02c4e86"}, + {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d52a25136894c63de15a35bc0bdc5adb4b0e173b9c0d07a2be9d3ca64a332735"}, + {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40e7bc81c9e2b2734ea4bc1aceb8a8f0ceaac7c5299bc5d69e37c44d9081d43b"}, + {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b9b7a708dd92306328117d8c4b62e2194d00c365f18eff11a9b53c6f923b01e3"}, + {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6a9a25751acb379b466ff6be78a315e2b439d4c94c1e99cb7266d40a537995d3"}, + {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:34aa51c45f28ba7f12accd624225e2b1e5a3a45206aa191f6f9aac931d9d56fe"}, + {file = "wrapt-1.14.1-cp39-cp39-win32.whl", hash = "sha256:dee0ce50c6a2dd9056c20db781e9c1cfd33e77d2d569f5d1d9321c641bb903d5"}, + {file = "wrapt-1.14.1-cp39-cp39-win_amd64.whl", hash = "sha256:dee60e1de1898bde3b238f18340eec6148986da0455d8ba7848d50470a7a32fb"}, + {file = "wrapt-1.14.1.tar.gz", hash = "sha256:380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d"}, +] +zipp = [ + {file = "zipp-3.11.0-py3-none-any.whl", hash = "sha256:83a28fcb75844b5c0cdaf5aa4003c2d728c77e05f5aeabe8e95e56727005fbaa"}, + {file = "zipp-3.11.0.tar.gz", hash = "sha256:a7a22e05929290a67401440b39690ae6563279bced5f314609d9d03798f56766"}, +] diff --git a/pynecone/.templates/web/bun.lockb b/pynecone/.templates/web/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..4a3f56469d4856b271091a46507be3f2865ccd6b GIT binary patch literal 229830 zcmeFac|2EJ8~6WBGG)q~(14I+$dIUzp+OO8Qp!xm3?)q(X`WOnl}d&NB$`ktsWcBH zNfW7*Mp3Hgy6nA+J8xT6?{(>ssSp-%a1AP1gy>)y-!h+l*bmr=b@bP%OBOcllJ}ULSbF9~hvy+on>At$L zbCOYBV^yTw&6DnFWgiAD?FzMcJTI&aNr)1jAgwX9>eY9le+r!+?Clv6>|F@??mS*h zWU#-Fzqc1}E_#Qu=TK1$$}fQ`gNB2Of-V6S28{>{iS+g3@#5%m@2CjxU@soe!`(j+ zU8q610@RC~8;Mz7xVsmcq zXlEp-JZOM>gm)Cww}hr)941hXamj)|2~a6$x*TZqJpTw!i0>%mB_VGEmC?=+P;A#G zC|3fF6XEgtfJ#CqNP$j36Npp~HLR}-{9 zs32Yb8tP&Hm4K>)%Jty!6hXg0P{nS@dl_+?fnUg_TSU`2o&wy0mc3v--qg7V^ECS9_-+}?L(KBKs{*cU-M%! z+=s4?@$E<1cLqg!TOc0fH$&%QyF$bK!-Hmr^Qs|_{&UqRJpzh;cY&gv^)Prizm`BA z+vx*}<3i@mKjS3v)60TK;wJGDzkwn10{wmcB36Qb>=z&R$Ux{e9<}~?ym@q7Em}Mt zOpTc3a1Y}+Fo23L%-h{FLdQS+3*@o=uRzhx4Q;A@xcabNTL)6yXHc}W3KZ)n=uq>1 z$RMg*4HWxH9u)73fnq;=g?er43OG^76Td!?$NDay*iV7r5Brs0pVGE^P!<~I9TDO0 z9p*{j7c!*c`97HPvk&qx)nghUkL@GtJ0e6UGzyq^Fjp{+XK)|292DcYV@%a|g1k87 z2b)lK?t{uhz7+1`JkfwW);|k*Y!|7Q1$nf033%Km(m`SB#Owpb^3Al}VP=$_!Jt@v zXeec8Hz?*cpd9Thf}(xc&4MHRqrF3;0>dGE9<(FUKR9B@pEkm)thQV*&7dvem_7twllz%>aW+J zxG%VX%7LD>qx$nH)Wd$g4vO3ZP;74=DBAZ72@DC-@%Qo#3=j18na_*xYkRO5=#8QJ z=^QAwJB!vsplD|^D9$_oaQCn<_xU{kU_b9L|A_FFP>$_?JDRF@!=CatVI0*yJ6hj^ zVqAgVbAxew>ge*jv{r*+oL=7Ep|HGo-r=xfgWN$QBm7}Vhtc(((SE|b!$Sh+dh@P3 zQvG)UR0Q~3P>kQty=@xsx;Rn&7UUo7ALJh%Q4T!D+X&_8FC^F#hnqJq%sn)8K9BbT z%CWuWplIix{qxU$IY8SZ`wofAd#-nI1cY#zwsRTkp}pRdDgRQSVvx^(a@?o8KpyAC zhe=dF)qqMt{>Kz*-rl6kUqT+oyMVrb7!>E*u4&Y~@d*nFGJy8@xCgrXcn9*xc)5Fq zgki_;1b@O%Ut>BIhaxD(LHc1G+{e7Z40?WoVt;r9VlVM{%fLAHvx*y4J`eJE{}AM{ z+z;}&pLBe%en2g2m`_GJSjQS}U_bByhrG9Y zm}exQ4qy-Cjs`z%ad`U%qKVm%mxOWw2n+k?pU>}LZ*MO=$c4M(?#bhQf_m5=5%7>l zJO8Zz4eDa~EU=69Mu19#8iHbfh5P#kM+UX+V{Q9!e}5|8esEt3?#qE9?+Sg0^~E5M z?U@^)6Y2rJ+dd!;2Z$c`oqSsTy}i9nj0|~;11NvCpg5mifFl0@6zv9hc|?Z$@pxhL z+M2_=4&~jUJTxRC)ZH_HcLDMk_gPTnvgrH)P@LzRLED~BpcwCTQ0zZ#&|aV-pnXBV zK>Ro_YCtg#pD@ZUKi!^>Fz(2|0!2T*fjV#?jo{r5r^d-EGPEtg1CZ|y_sRJf>fy%0 zo9FEwpcCXCDiuk^a|jge2!Ue!CBR{OJ;TG{J3w$mWbmBGkO*&{Ich{(yMk`-LH|3fh7BFVU3!>vZ00uug=3 zkT>sqd%kU}J^^`*?*J(FC)D%x4uN$uSf_0x-U;Q{9>~KH#?za&6Q;MAid&sl1yG!~ z>!3dBKi6?kB!ma!tr|o5^9v7*gr@Mw`X=j|tV3t8gYDb5l&Wt7d2E;QGOAn)6#bad z_4H|#2UUdf@Z~&SKTwD_+|NA};||3D1mHflvsIt66HG7Y_*GPYF95}Ub_Yc}qv>)3 zP#gyZy8PEls@^kDWhlQ6iu3FYC_cvyg5o%>14S+j6z#dv`3a!dzR-~H2$&l@wRKc` z6hW~(*gZJJANCL%sE6Y-kk$xztil$;Q-wT^%VhW&@B4=Nd%>|6&t-6cPKyiKWK(YOAH&A}Qf}))lw3dU4L*9NfRo|Re4Nz>KG$^)j_7=(x98cQ(xJUVi zfP0?hR?6O1P;5sKOgbGe58evMOF({dJZ0ZKe15QJfPaKOlw(|jfW`ay+o=1SKnFs8 zF{l(M^ikUu`+Pg)m$auG^2~PnLw#AO548i~G0!9CggXgTT;%&qA>`5SF;HpHkX_V# zp6?zM2%+$5AdmfW9~9eBu$%Im1d8MB9To=X9Pg;?M2g!;-ygAuYLBO%dmwB_j!&SwFY#Xs<+$#J_EGVZ=i6o|$9a1N{NlLUCQ)h%itW4yigBHW`#nInLHr7! zNB2|nYd++aAV2p2#Z`b}JM%$tU+lx9;(2?JnwJkivA?c@Vw_KsDTOg<8<*rX%5FR; zj??ONO38d#2ziWa#$k%{hCI&qpODA$CBUKmAW)3s_7Q464o#)vpO8Y?D>+K#`y8Y4 z#~_dG(xU50W>EHL&~a>sJoZmLD6X?dbbg+DSg?PvFK=5WReu~^-zSTzR|1OjY$7Pe zbMFupuRFwn<6xV|o?WdKFcR>zi-xCzu zLFVsx$YXyjg?h-nq3aicU-b6~@@W4mD8_e&zMle$_fJ7Q*xqe)`5aJ;*Nwg}4foOR zSUN8cigvn!VtE7Io-UwR{s^rdJ&gZUJ~aB z?57Y=oY&LndJ^X-ehw(!_XWlEbRGO+JNJWPdp3dMe2$^x38hs76x;m<`UmS}fnvSg zpcuy*I`0FD?SpCC7B3mk_+rZM2s?9$pyD@f-qIz5Wm2`*ys{Q*aw`#Ekgi=fO4fPp z*A*@s{k{ll6&o(w)Yt50QUCr=TP1!Bcowtsnfl< zVawLdI5YNYebn50>+M%7KAvSbG1l;ToP$)0;n0uMY8Bs29%R)N(p=R1vMBk-g>7e! zSC`}ns*XDqQ&<$Y@s>=vxM{GI?AXyU%a$50c=<&%?xa$h@2H2iX0G?YA3Ha;dl#8m zQG@49xT)4#QToRTk)9{|%ge6Y?RnJKOek|<$V$`jl4UQmGsp0!&e^_6=gyFII!Y_u z5;hjvUG4X%De+>w%C){dEtD?>jY`$(HRJgGsXcPGJ8!#q@|vzrVOrH8d42yJPv2?* zm59iuOD7!y`u^l!5L*7YYpPGtfs$s`U13(b&M_K3Bi`1o%NnY7Uh&ogpVKl*$K(~$ zY%UHNJzk|tom$zxZl`C8Z@75h%JY5ng5AME0ns1ko|s%_Z1?qGMN98Q?UA-cBUikO zob$r+N#X93q9Q|Qt7_OvKTe+GWhJ)ccG{WQ10-U2%bxasy-Mj+AA#=fLx0%~t9X2U z{20ptG2_d26$va`qbl=yx6zyJ2cj=N3l)!9?3P*MmaiL^R+N}LY{&N~!?!W{b&0k| zmIcN}T`JkIoM-q{@#>}IoQwB!D>jaLH`2XAHsbt#o3M$!Q>K_L6W;bk%53M@J0b!; z#~fa@7Mg#$WBoeGpxe*5UnLvzBASK`oL6%2N8X(c`?FnsEV}8UHGbuf_+;CgH6bZF z2Et$NtzOxBafiR7)&#ZEE#rK`d#M*6In<|bWMKI)N2M_y6NboI$(0Urjvb`%CR^Mg z)WOx^%-$Tu`xE_--gOkZH~sa5858S_lS|9$wbMOon<5V$bgFIIzo+87;kXQ9Hx5vga&F{Mc>D^LyP()#QHmvpJu6cZ2BRTepVtC;BZo5EEFq(>h8gW0_cA zv*O+xWoNjbIlD{MX?1yq%9Jr8d=+zIc32u{*Qc$KC@&WX9gs0)PJPPj7U871!M_rh zz3(PCXH(v=!|wYJg+=G3C`?yI$O?37e-H5y%=UvLGf4=`Xc~ZiG&9%hu{>6{_*)8UmELiv1R;F?Or3DIR-~3}I z`ZzsL35fT|oV4lXgU3BLU5tO^rstHceP+Gw&~mlo%UY}a-c5ROR@wT+mgoF3c5nAD zn)dqT*PxMi&C~CG8u2)NcFmo<6+84NDr?SL zdSv{MdAUA@g5p-MnlFXF(fWQfAm7{cw2E!k*6~Tdx=mS{cHcB-gLrv@#D1Y$t#314 zTXy|nr*4zgFt5%=+eBk*>uYbbb#F6YyE;X`i?w|z-0T9cv-S2u^qHwLS2+6Ej*GAc41)jj(}($t)%CL729$lY8nbG#<=az>wC zFFaeXY||+kA`svyc&1O8s@K(5jB2pBu=UI_cT4`7r~yxUEiAkk955_CZqD6DrQYVA z8cW1~^w!irbhB4|_%8Kz?akJaXkGuBd9bVVtzWU2yI%y+%oJ+{?O8#!4t?_bp*v+$klFOup z3QV86i|^))gSRRi3eq+Xe>M78%ZTa$GZapVuAHAz4paPSu8q zpVu6EV#r*V=>>|@{I7kvvHWI_yOBxxt)_}PO<5Ila^#$@|9qfTu<_)X*C~dpE(vX{ zfAG1_sLJmLj{4S3lRNHf<9x!`H~H7m@Ova*c=AOxPhYB*SG{|1P^jmf8a}}%XJ$)p zHy*ajAu`kF!9G5hUo9tGA}@I@N|3)IW%Nn%yIf;#(14N><1>x{<2TDa&yDciB_H?C z=l72r`P0EGnZwU|O*HS*BGxZg)*|WsKkEm#m^P1_?bPdx%&Zm0 z-E+t9+?Mbz?5=F8aV5W9q-L;!qSEA`ai<6NB>S=Tu0?sT!OJa^7%l!(U^= z`GW*kxJ3SR>TTWpY+`Fb&m`-{tlPtfUMNh|e>S~-lT}jFRu-F zXS*NK>hC>s#59j7BB@H2yB=K$$!}RQam2-`TNmGL)c1^1J#$%nS!(OIxhCn|R0Jo^ zKlsr!AbZwy<9_K`wpAN*^pDqEjoC9ibToRPi;{a)%@_dF9H@? zSLD{xqYjmq?d-HB$&E;uFmOky>ByN|E`9!-^wMpc_cP}WE7r>%HQS(WQ|&%O;bEpw zaHQxO@g^O|SEjn}XS~n1-P`y%$7pxyXkL2$IMoS*WjwQTq<=mB5LjOCcHK6A@fxGy zHtur+?bjWO{k2TqbE=-Hxo3|Y4e{t3`vbSPTwVTh$qB)8h6lE8ZBTscywzZM?74D1 zxgDG3lqbtw|6IFmzOiK9mX%2^I_GnheYIl-mn`|@xNiQGz9(-AZRQhs{zGeOZ}(Q; zuNOsL8cHvZGnqPE*33|{r7T@;rLoX{wXU-pFV)A4ln{HgQTmepv#+&_!xMyGyw{rd z@NWOAvx7#x7;n7rw4Yz|YUPTJ7j8=q?|S&3>p10Q&d#78=X|fq?n`}hri=Lf4{6Ib z?Z2Tx);C$#WF3mk9~Cvst(UiSOTUmKH_fKZ+#k`cm`~d)^@aWo&oQf$b<+>VT-0xH ze<-r2+rT^bgc@IY9Bhu<9%5w_n(3QlaZyoJFTMO!{~#UZu@73dEmRm>Ba+j)_{!Be z^86OowBb?m!RDS<@N#yPGmA>mE@2=bI7h_+UKHtuXPi52l zv}?9=uc=lnlRGYacOd_$RlG3+Q>SdrT(YEIO1LqhB0T3&@{fDxt7bj58LV%mxK#gs zgpBsqDSM|3E$6%7sj{`}o0SJXyYtkwlRQmdoR>dgt)h{3XURjpl=oMC{7!36cfWD9 z!Cq*o_Wgrlw*#`Lhp!&>Gv|=n!kG@e)%q2euN}O_GrDL`(xS3S+ppibw``{EzUspV z=iZ*R)7dt#JyS$*k!aic)Q0S|c-GdF{0nt^!>cWypE#$;y5J4Y=kEqUQ%J2ozD zQm;zRHY!c^K3*S}S?=N?TxVGvX))HzW6_LrQuf=b)`e$JzxO`5azg9Ob!(b@QnkJe z$@;OW^vce!8+Y3Iee88uSGUX79d2drpD&aofB13fP_V^ zW8MY_bvmWAUILP7`mhT6F;Zr!)Za#KNa*tw?CbGpOU@vF5|oi}ZY z5bZvH>*laQ9}PTzP0AwenK9N$%qLYUinP<0H~jW%%}SZCG2gzchP&93bHa-(yMz-( zE3C=)nK$*jb~)=_uusfhyG~!UTaWWg5?Y^HPMc}?O|)S0w&QLYkMbJ&h7VNqGn$#A zJMitc=&Ih5*F1IRo2@zU$e?daQT403xJQGwB{T(ZUnV1xqBO)<=G4#imqUCH}|j79Z$&^@5DY9JOH<-6e*Q=Ubg) zbk}h%J5N16c|^j~=}=Nbvq$wzX(7WSeWx7ww(^(S8__;JyDw8Wcz814nEd?3DPQe3 zHtN4n^;?wh9Aj1#TkTf)e$eALG=z9jMQh(EnoH{)uT9uFOk)PGC4VXNA@`?|QgV`+W= zypM}E?Ye${)93r@u10&#F0fnheOtz>%Wi%RQZGwiIE=0}HsN~>Bn!JAN5^Ra>T=3(}Z(JDae%lxSL)Z zZc;n0_j@7z9s>I}r>U)&bG$M1_`TNHmUS2JshWO?xUu8NmL97T=Z))S*BZF;^YuAh zGA?|)bW(k?QMtxTo!d2|lg;%DE^H3Z+au(mIOE=Rt3*jDg@M=OBVP`13sZBEdi!p^ zPx;Y`$@fd2-}D>kni}S`$<3piNBOSvjRzxpBRul`HhoU$Y?bs^)$gTxS8MxL z4SRScTt@7xVy0Tu@+15Ehqz2w{o*#6zop#@48!^*UX(?V<6{GREr4;#pOs0;SI zW@36Qz(QN%Q^SD`&dEi6JRZzd9-t^|a&DPKqS?wPi|eEJVpr@Tc}Lb-+H|K;pLqwJ0CrX%9DL{akpMc^D-gzGR605 zA+kGCZ(n~M)PL@!FwOIlHqnE-*NC)iZ+z;SYJPo^2EVDln$gtY;r6x`hJvxBF9jx? zPnhZ7^!A0Vw`6jq)Zurl29K`nnl9$(eW1W?$R5AFQ-q4$Z5MA-C^wH#UhU9N(b#{% zucGk^j)T=p<`$;s4osR}HLCgET=Ul#eht5@60tk({)i1^JiCuw_bOJXw5kifIAf%4 z^v^^5w)6etp3*0{si(qg(P0spa2^f>Ja`t@K(Shi?O4!NrX3mA3SItIV@+B2pUNx!3AHi`Jp1W=FBey)5C@KZX$?}mmC z0v=<=zUMlASAfU(vG0W7V%vwL{VlYAEAbU^qOG>>I4pIG++;m-kY3;r>W ziESSeUK0YJNcUey;?D=3Isb4Sut~)Kd*DZbf3kkK#y`CCb)+Fz{;_{{O_0`y~Em;Bo)JxkLJZ)cKtf zeiZyt+PV|`I^c2rk-3ZKAU28kzXZHFgJ;_Y!fU{$f%^~UF>&QX;Frd;foIE6UfTDM zM&QZ%CHL4UiGL*gQaOU*pY-FOY!Lnw@XYwxwuA6}C8_ft;cy+ZNrYbxd>A8suKSN3 z{BnFcgJk$9zfM>R!E8he>bNzFTKUa#!bED%YeaI#T62B(=u|Q{@-_gJaccTC5 zfuF|U;c?C?k@#z5{yu(K&L$Dw4E`u$Rww#zH-l&6m((HtzXQ)azi^Fzf?VhLRNy@r z{ZHcilaly_;g3|J7(CbgV=3^s|C4sJox{ZcEI6<+*cuWA4AHKZ*OJHK(=c8mBQp+dEv#Lv}#IPm!V#ktRx#Q=zZQCKiI|4F~GwLy4C znkVh%%Etqb^9S2cV!-(Rl!*Tqz?*lX{a$^j^DpsDl&$~Mz~lan`v=>$qiqtuWMAt2 zE9N`0|JngRkuiQ`A44C%OT_^AmI-JKNNWEcd`d?@&5*R ze1DIz!=r$8BL4fS{eAtjH9+_aG*8Bj?Klu#P@P)89py&?KZb5U#?IA$BJj4I;GY4{ z{Qkt%zeWG{?=RQ~T=`wV+tcx5pK|5vfXDq)06ULEBIDOjqy7B>#@~&l4Z_a_o}3@J z#6b8=m2W|VSRjmkMGdgB*ISz-WL30z9aMZDDcC8$L9ym9j@{7X;aS+NnkO4uDm($ zR^T7^4P?3Ui-ETQ9yzvq4^(X%XXxvg3Oar+ER*j6Up}qD4q10x=Whn^IDTl8Ez9&T zsKeupr}>Wbp9}CKfyed7w(pt#4+B3Acu^?CImosju`c%i*g;hMgk#$Wgx?7~IX_`s zY!l&M0dECyu=Pvq6JA@lbMN1MfyeVR?)x1XzdYbAfyeQ~#C8lx{H?&_{w)P8ma$EQ zH`41||E~ld*N+4^#yynl^Y04q`27K1L$@WiZ6NWB=~FzyxPNoyM*)xDKRW7v4e&#N zN59y9uH#n>Jf7c?$NitIBlz*RiL_rH9)7t05Wj5K0pVu=Z$6L=MUy_{JFM2A9&{ZgKZ4Ne>3oS{v{mIKed7IhQ{qYjy;yM zNrVpt-h%dzzPYylDe%ns!_~hH96oXVW6bEEE590eGJn|i9r_~eZvY4*ZiD!jFQ@hs+-m z!=G5ZPxw{9lm71rUktnz-F~#mHWB~);GFpH2yX$f1*8AD`i}wL3V8J0q4ooh&tJl_ zZ3EWB^XoU@;Rw>^pUeR^Z6N$4n0&-Pt{oD`pKK652YB3nx%fuggqMKH=hTVz&judP zA83

{yrhPo{ayb4i4M3_Lu7Iz0X|BdG5mBzCrO5dR*)_N7_jEc;IpWApXhy zKPllK(EbTelr1k}(YgI+6!5SFI^6#&82&M4w*5%jUkp6_*Vcb*+YWBp{NVcav*ht+ zb)x^PfFIA`xqg2!vuZ!TU|hJ4*(B2bSm38H{Ig-P4&iHn$MX;AJ1l3D2yZm<@9)0_ z*uYSS@JoQl`Gfw+#l{5TZDH~FFyd#!VjaRC1)iKANjV!Egl`6(*?(+U;s@tnq|M*w z9~p-~*&+V#0}or^U*q>Dj@&1_G(0@4I>E;Q@6icf!0zwuC-MDBN&G&*Ph|MVayE(Z zSAl1qKe_T!05f^6<2MapGJYMI{|Ug8@Bi3tuJPXio;m;7^d0eo^H*hb`}u`!+nM|% z;PLrQ-hHsOLB_9{_D|Z)b^jePhB`kXk9#l1!6p&^*MMg}zeyZ_vO##svF&_E#(yI4 zIDfF+$aD3-1$al`3CFenp8=2K$Ce}gLfWqYlMm0o#6Lf&@CPNlBk&ds|6HG+n}Emu zLwj7>K>YK;%Wr&tge-n{e*Y{76xa4Q0N`>`I^`Lh&w z1K`mfUThQbe*$TqkDMR5^4gO- z*Z%>)TY-PJezEPCNc)cgKfM#YFuXj0Bm7_f*~UTqI|GmBC*<(LayE(ZyMbqZ|KiF^ zP5t}(TdwhY0pFSUj{*-{Kn#hS=%4z4v>*TR6tn$*;>dl%+XD|rxWC4a?HVHdao}MI z{55{W{-2cag0AiR2V380oA9Q<iJK_e`duR9w`SJg-#>BX3xS8PkZtoH{c+ttCEa;Ei%!Jv2t0oO z!~Vzh!!`c(z~lVG{$R^O)wX$t>*p@;Wd0zJaj;3G|9f~)JefaO&L$B)8hCR4K#nV4 z47>&1e&o5vui#0oe-b}eej@PX`#an3&KM`Q6Z?M|@c8_}Jo2b)65+Ff9{@ZVd!m1` zLHI|sf8^NuM%#oJ^=kkAiQj!;F0o349|t_1AJ9MB*wF#uV}ZAz`wz>z;s=XF_)_3; z|G_+7{47|kLiq2%ll>p#=gM1pQ-8mU_ArT3^2bl&e;M#({&b}OvVq6-N9G>a{*(5h z&R-ZXvTS1@@w)&|zJCh<&-M8e3p_c$U<_;%@qZq8GXChBYy3ZeC+i<=avgtdU+VAA zFm7ZO@CO!*8^1&kl&F?LioiSUKMWB=pWVHwT?Hi_^bfhYZs{<+Q{6+bF|Y&(uW z*ZAFlC+9b|EVhrtzYBQ${)lBlaB&^~df>_Pvm^d>{r`Uc!8q6?62B+#IDQy6+t|@Q z;kN-#_Fp!BNgcx91m2#WKg2Gn^E)Mcui4c2W9)3#4)KG}Paoh(|6@7V^IJ0TW_17I z^NVdClK9^SP~%7TKCbh>Z(#fR4{dVw?*lx(zu>}RKau$F(mckE>yK?ByjD>A`I}1& zgr5n#E#3d5581>(_(Q-%?bo^Mx zb^d+_p1eP0%VM0w|ExLG-;ZG)6HzMnzds3I4Ez{I|8wOP!`k-`jGrqX3OvqVvUjo_ zLlXZ{;K}}jWnBH&(ebnOOL~;}Hwgdx^PjC9!sGutHom_`j>{Y-{1f2G{?E4U*apJ) zk7z%CleV!@!cPRAd46CU1L3y-Z$Y=8ZQo&hgueqk_8;jxR5pq5s*&x#zef(wuxt|H zU4dt=AGU2EduL$6o=MS#$-?IO~lXED> z^1DRZ{~mZNy8p30SN{e}+IhBphkl6v2;iCfA6pxQ&jNk~9lsi zb^htb{C)kgbpKcTLx48`|Ab?^hmrXA14-r&vRt44HNcbe2ivuSu@e94OWXZpIoJO4 z1Rlp9$Gs!|j{t8$^JoJvHi^Xl26*g0TsIx@Z?TMeesq+d3p}>JqkMKJ{nvMrS6R;E zxj_8b=Y8Sg+W*^thgXnozXSZ(PVmZWcsz$r@PWX0 zX8a0(@67ngtZo1P$#(7I`XuWw7I@tM$+HLd5H^YM&w)1q9`_D@xWw7OP>1mP>)Ow6 zh_Y=1;lqI^&u^Bl+o}=10C=+h;ogO9V3P>{0eCxTKY4B_Ub#Yk{H+=8_z~lEPQ7G%k{#^yU1@LV94cxRP;(x#fs{cF6y8(~S zPZ6++eaH3r6A!!<@Z|i%wf{zLr1l?d6s`fh*d)^ay};x52V`*VvF!)KR|7u=c(Q)c z4x2=HjZJ@FKV0MY1l|n%lX=Uv|Mvoq-=DGnF>&qx2ef}2f1JZ?6KVhS%~by*&vx%Z zAB5lCN&X@5qoMsB^{={x+J8FAF96=M6aMpow*nsLANC2`MEdV1@PmOzt`}TvZ4iFU zR%-sRT{q|l6XEv&KMee19_OAa-ei#o{}6b5{viv`5!Q+DJ>uKH|02wF{dog#P5Wo< z94Zq3>A>UrFJ!s&A>p3_kMkGXF98>pvq^*>u#H-OxPRarX1k9O{weUd|Db=izA-++ zD{bfT=FvQsvrUBG3j9c##~AQplL-GAczk~0zS$9ezz%BtqEEJS2kR350l<^zPe=H} zz?(w+Xj2$JSSI5CIq+lY{=+i1iSUCGD88ffrwVvO@Q-sJ`=9IcOJZmH`3>hT*YopO z;K}=AwsQyjh_rtt@Q!r+Sk5*P{yy;bbpLl`{QB;qe*Z@1FIWH3z~lQb?6;1zzaDsf zI)2l^!s_`d=C7&?9|W4i|vULmpl?^n2t0pX*8C%^wd z9?RJz!WRIKsnAMIh^qq0fF z|4-mCeq8%(pIvC5@K$@N{%5=Ikk|+x4Lq)Y((i0zApBL}as0^G6FbDu|5C!s?rZ=4 zj{67Ob`X9t@aA;<=$k9Q6?h-uar~v>;u?Po@D_CY+4=@Ie~q7062;@(;gU%EwCsX~8^9L`s z?I8ZA0gvZ@Kv}O{tV{TVz;`D8cfd2x|7_O)@vn7=@{b&zf7zaa316N@z5hiXFRsro zjdW`NMHbI5{BW^J#Q#pCB*F&( zZw>yDL;qa)OyC_D?dRJ6-H%ZHkNt=5e+uAYlSurdfw!aMM;lz{&nDn4X&%RbYx`dU zkLwRPjEU_SlKAzG@^}_Bk1WnXHi__|z~lNw|H5!_jlUfDF~Fnmj*P$FvA_TOU9RIF z1^iSxerz|}cYvh*w}Br4Jmzuyx%R(G2DN|D_Bih!Q-LS_kMjq|fK4Lt9{?WLKQdx) zVL6*bc(Kg(f4|ld-WB-H_&*3dzCXdf$HcY&D}l%UW6M!q+Mi!?S?&8b&K<7ve z{bCGU=kGn>E$H~M54if5Io`hiaOndw{w~0e1^?(5%kUh-CJ{afczk|i9uv-CHi__6 zz?1op@pJXBklp_Lp>48p-`3Xd5chQ8N&DH39XcTKrvh)TYa^1gY0N6na{BZoa_Wvv3E$H@RA99_4S|{7zpX1u) zx_<=%&piKgUH_@TThj64m~d@>J@BOcxOc&xz$%gP*F5$2{Rf{RY!cxEfyd_u<}s1y zAeH;ypM=i^-h$D7uJL~Xo~&PNKiBayINjcU96PS(wx8?z*$6y&{@~bio&OIR@#CD}>R;(>`}qgk&vpFQ1CRSB`tHd2 z#W1hkKl(;HY!cRkcw_beZ%y|<+t|@Q;hzGJ-@lP%JNKBpRzCInZ{%_AvyFlHpANhe z_{Th6T=_!a@%&AAuKUL~nkRmVLMXpYB!0sJ>irYuvH!UGUjsb8zec~L4Zn3v-z5Go z18>LRxvu}-=cw^Vd$|9hvPr~$9PpDm;a}i<`|lrd@8Rm-isrHZ@ZANjVK#}xzZiIY z{veMR*ZwO7egw_4eRqQK5&r^(?av>aJ6!#b1fI+vjGycNw-k8t{6PO)`~M>Fo#{WZ zA|B6z?mwJ=T;m@HJemKv{r+* zTSCP=d?#y5OvUnXa3MDVF5EAs!i9ES;llgV;lg#`PUk)7yf3H#TtResFet_~2QIWT zpUy7?#e|CX7QrP6*Lt|n?`F6#p<;d;Tkm*&OvU>@;llX3KnCq~rL`L!0iqCCZP`qV_AGG3+qv$*;`W;K_c)I-G6zw{}eQei6S|`!< zQT3pF6(|uNT~SZYC4aKKdzzkOvV1*2<7N+D}5goe~hQ||E3t%cKZJB6zAn$ zsE6w>gRcK?inlW9`>5DY*>oNi=hbOYjJJTkUkHkE6oX>=H^o~Q==)q0{agkPQT*2c zs8{jh4~p~PE?xf~T^|+WET{8K#qtMq{Yv^iDwbE#c~s0-)A@f>y!9A9BtYNN^&3HP z-)h2}wBnCn={y_7s?G3${qck5P;orEVoo6i56V*NgFAJ1w7=z44v{SBh) z|C^#+UAT|^U_jSH#UBl6HKxm%igt(6<)~=Kj8=0{yl+9@XDSw1!3U}}eIFHh8#<4Q zKibiGregai(B*6t?K;u*Q8DifDhfK2E=R?9JwdU^8$Pg}4`yh^AN}Y&D)v_Zokzud zFr7z5J_Hok!(6%?737e+0JqwCe^YP<V-iu^5_XDXK8rpr+= ze}~SaV*W0jXDZI~3i|#7`aV!lZ-$%vyrVff+f4UqM>uJ(?RP3*Tpjb}_6rZPqLE%51F@DgB zKbpb^)*l9nc1FHNPb#_K@eN5%S%p!mFZq04`#Sbq}K z69e_6>$6d;>H{C>CxGUditP=d%bAM)Lg{i;%+CSEq6k{&(dAKC2#Kj!e?EObn!e9e z?9YXCIV#p)MCX}`^_I}(s8}xs6pNPA5)n7RkW}-tP&Dc2wx{exT?_lg43QBSA5tVm%u=kBUEzrpw2IqCZDaps#UHQ12iCty>m5+ETM3GBRe>V+2o&S3qs!|-(e7JXKZ3%4 zye2yT9Te^U1jTmnLuI@#1d5y(eBk~e2a5H2(yD|v=_CV+7jpl-AEP?uzxQKQKm7N8 zjOqs&Se&>{<#3VyL2+sQ_kN7pPyTy9);3+*-jm_}{NMXAsz3gFKSuS#fA7bre!%x+ zc>WlQn=Gxk)&BQ>tgSoR-jiW}{P%v0>W}~4k5T>b-}^D@d(D6E$Ef-6Z|}))-(bEM z!~%AKk4uM zxDNimN?mxAU8ZUN(DBZdy+7!<&Xn1pB>epC>YhIrq+K<*J<=|`b#iq2`DU?1K*?~b#uZHJ4pMP9+tm4(@>N#NsZ|9f1 zW!S~Nfh2yOUf|Bx)e60gr^c!s&9dJ0RC-kFR*4nwbYqFW9}vprS9&dqVK)+?1stol(?^2lp7{$IuXWtZ`q zlgHm6zBf+q=$Emc;R54B2iQM7cv*FBAur&|BZugIwpp8=$la>9`>r-8cfIuC(T_+6ePeshJ(&T@7`>p$DMExFVn?4j?`oHE03+T&HR ze5-!;sq1ytZ(6;|%lzG=Ek}&J5pgV4+xY$M%d+Kx13%R+Q4{3f42DQQ;5%WG_}6+x zU%NfBxQn2MnoQ1SwcB$%%5{{@r~W#ScD3gFP2s}F{lARHr|*sHt*I4Vcz8R?&b!{|JUiy!dXJB>v{+e&0R~ za;y}-Z117hYkt28euMj^W+pz>SUE6t_`)gmmh$nMeRp=deEV{sq)uecS&y2Ok{O6VmI`oN4!M~9scJX&4B=O&sKD#q^ftqqc z^tF)#c1~NQ7#P=Z^VI!_$_fXelMgE71k7ujp4|IrvS+{^`&mL?rS>oHJ7CkGZbNSE zm$Txt>1qdth+X{K2$J|iU7G|y3`uq_;&)vYbNt1o2P=6ibnjkX9`m6|NqckEutKM< z-RBocy%>xV z{*z1p>zT5*ixQ=0EF3>9<8pw5UinZL{U@{YG+&%l7@=}l>EyyE{SSXh`aI!nU)-jR*czi%*f&7gk#B89QQF@7-vavzlD*i+|fh68|alhRp?4y^0%Wx!e4lbvNbM z^W+Viz6zQQ9KCe5P;j$}Rd#8lY`R#3yx~e`AL+h_@1H$oEBHdV;L%RLSB9UCB!M9k zFaB*BN&E+&kN;kB#8!=8dgJ$f{G(S?+fCc%(?2+}e3PBCblJ&0T^v`Oh*$JBm6O_O zqAn5^Vs-4;fX0SpGd@h(sq}VRh9wvxcJXf-NaB}xmHchL`9$5DUB=XQ8P{x5J9EaH z&&%Y`lnJLFKADx$bDQ^d*B&h`uU`*4oVY4=TGXY)8!Fb@pPO0EJMev`O55+>h+QdS z6qNst$+@(Tv65H&7JPOV8e<}I;?k?a!Cm6|Upso-w!hRUQ>j-^SI<))y*qc;EOBe$ zq^@82iYkZm_h?Azx_za~C3#%C#4hvSKJtrdJoz!Aci8Cw>*Sm372p5bQdV$#TSJeJ zqknxFSU2abdAWCaj}38Rr&MQux)J_3eA@Qu+ST1ex+uKPkKR%7^DXr^rqpu?=Nw7= zNl6#=j%Cyxj!7v$Dk>@`7M+t5Vv$`E+Ew}Dmn@sdH4Q7J1de<3==D;-|GRPO=TtG( zyGYH+9}elojM2)}E8h{yd#;bf)443lXpQ z-F**e8B{J{*u}r)A&Gx|;*`@#DFKmAwPTN)^?oBe!|}4$p=$f{Ye!3~%_vY{MJNwJ+W zM@m~Y9`6ADpYG(9Ol@MHF`BGaz-ZqF-9n!%U1EnoHEwz$t zpIgV6`8bP)jJ&>;zhY>Zv(wVXYYHyC9*^z!GWo?7&+-`?zv+ccYd-9H{M;=@yuFxq zU*DHHvF4{{hHy{AXCsf#RPi3~H?+)RYh8-ox57{AO5U<=OA98Mn5>K4_^n~-RQcAh z>0K(%*tZ1#9B{_oUAQKPVONQ1H)zg~IlW)FB#iN1a(mr}-tlwSOp=w|al?22xW-rK z6%T#p51$^@wV~*eaa4Rw_cY(=se7t-)M$CGF{{Y6*|q#tGsCVj)9$`I>#MyNZHb0XY}xH z+_AX1Qq^O;G~e5d^PV5R&Fpjf(!m3Q8EYAK@eD{3zx<}1Z%PwxyvXdYzhCG?S@k9T z=Ueo*9J&*IE77)_eD10KFKwE1ABs;Eo;l%tb(ddfhgIjzGOq3RHE7qxr*47xfBE{? zJnKV@g7S;zw5Y5%K74M|ROcx{a`SAKZyD{q^7Nv&>J2lhABdI5TA%(jMU(~)fe)$cFkGhkTF1=#d?aQ=lb}h0}>5bz|{VS6dZXNI|3h3{b=olQB z(>m7I`1b9T3yBV=Y_@JY^R-k{CCMelJFR?$EH9*^vQ(q%5gZa=2oY^4SJ z#dt-pesz;l-eRhIbFW0ArBLgr_tOpIeD)1(J+LPzwKUeT=7*esK+ootr%rx*w(RrN zyR{Z8=Ba+FPAgc+u&c_nYc{xmx535f;a!RBEs<%xpOhpim03Hu-3yp}`B22Gv-0X9 zNv+XcCLO$CThcf4lCZ$obG>?`h2&h98)5mpV1~+bhFvwL-F+*=Qb%0y5!Jk-DyYNP z{N+yg_Pq~s_#B$6&Ga|FTKDx=ZCJ3f&C!$1E1z6xS~qHQtEbP&hzW-m4xDc9^;okv z^ZcOBwEIQj+(D};OY5Ee9WBL|59l{jz^%M|c|oMv0`0{Wf-CnZAD$zfb~3HcG5v~D z_bxmv8RK;RR%M{pTizDbk+PAFuO!Vt+Y=VgJ1N1N4Un5Qx9YB24_TaG-S zv$0RVFykyfnU@zN!n_BK-4a-LW@-)p@amz;cK#=S3GB1|;BMmT{H0>#0zF;}zhB@S z^P1_w;erLOxi|;NKB>vHn;IanKCLWZR6?AWvcnjaZD|uc?#kt#{`h|1*dYVM`*v54 zFI=UQ*WLB`^ybI9YsVd&BNa0L{^&QQs?knyW+|`mtVir>G3{y;eSTS1((U1hH%|tx zi=J!fR;V#x{6p2JW=rVwvElt_{@*ZW(|6irv(Zn4jy3e=wKQLr^ z<6HgGr|DTU>f{FHVi< z@Gtr-W@h$%;Q*tHG7}l`>M-qI6j-R?^27DcDRl#9$8(q7@UL05XXmWwlC8T|FWuNI zxTqmC@#4cVGp*01t(9nuimy6#`q|(g0ekssha4==oN(?O!|oua-Ji{+&Mnin`&9}L zpK~fJQQ67%NST6dh~drP0lY(>{1!gm-5Myis_Am}Ps97J9xds*$~WHjmpJXwl4^ET z_tsk6!^nKlW!e?$U8v}=FmI3AbAR2X2SvZG8!T{m@L0VIvsYhrKJk4cztHJLo1Lv6 z3+zwO7`ENhMR|>aXHk9Tn1@#$?C^>how$Ty7v}~^{PI`j9vnDgDfhKtQ1HCXm(ygu zM3Vbe1&i(8>-SQi`}K`KMs&F}UB~ETL3QJc*Gdb&-N@e5=$TwxRrgD#e|_yZFEB*n z)h9+l`K7*EDY)(`>Sp=n#EFt|Z!bPN zIm@9SF7sfGen?AKsTIXJ@$xT4PxM{de``yK;lzih;>LblnKNLXO$sC4!A!f(0jBPi zh3*ZWnkI*8CT`Pfs#*JT3|(xtm@hbojeX<{qULoE`eT`08%F8+X;=IC3w86^>n7hZwkuq< zS3vM(&tadHUp)#MH@~Juq0-dt?h{M-z0HG7ue@q`v31wxYmrc6fTJN{uy{p_+xQ^bT|78$Hy=D>F#moYE-wbXCoMPhcNAqRCy=e zf4}q8p!+==B>Q-rwynv$BetIZQow%g%=&JR#iUDD@t;$zI=p|4@vrMg{IL1*v?M*RF@xgoXI0MEU4AWZqv=BTk*0i(0yEaj zC0xpV>-Onr@$K@08o?j$hCX`!cGUx~K@rY^`@-az=f0s#yTS%~mz-0bPg!TnUKsf@ zFw_5MnWDqpmoKXd{PS$zi>}B&n_3d~YDda&pFxYBj?(RS!BZx4|MB;BB74PVNSr>q ziV?3F)9!o=i?_Xue)V#m^y~J?X;*8n$RN*Zp6rd|E!XNd-|J^?U2tvg*{MTcrYw0Pcj&_S zFTZvr?N$2O+jUj$j}v|T-|T%~{7EKCZbY!w=|UOLQBe%LBbatiM=V~vfA*ubMb+|A z-|Q<~OMOyh`<~-%@_rqy^`K#3hWKmWHMQkEdmLSxvu@nk>yypk?bcTz*+#{N0zvN{ zNwXPtEtqy!Zwb5lae2kFJj+F{bw<_FIf=DZe&h3V&l}DCU^{ierO1-0ML(`x-Fs(& zm$1N{TVm-wi{uZ_OFf?MJU#cbVNE5&F20K(iNF5x=gVQ$6B0@jpFhb=oH=Fr0DZ6A zD!uEk2M+ww@7>tp-&`->&FS9s^oM( zC@B9h*_A3U;;Wy$wbzn*iredWOR5hL$vs~=0qS$F&Vu1M>P1$jp1wy{-=c&(XsKZ|HMn{Qno z`BbtlM?5^Ji<8=`GE)b{jf*Z}joPyczkQ-o`hooXa+qxOaAT(F9@f%0eu76qLX0|1fpeQBk~K1Hg$T zq&t*ukOrls8>FPWOS-$eJEZy2DWG&nN_QjO-JLJ|&e`|O{pWK0|V+*A-TpinEnKt4kj{>18y13_xr^w@p`jh9-Q!>WFm!F&i)14S=*|w>~w~-Ok zwoxKEB<_Y*0|D;aOc5L)xo2o4r^P0g`xrv|*DnCjk0gBHGlmRcUTx+cz*@2FVnA3z zC5$FPzg4-}ld7t+8o-97#bC1&_>2XbF7+4%u2Utz=xYWQZ5$Y=GhcG}i-}Bksak8~ zjT3sOb`tur|0i#k+}Vy8^O7w%*2o)I!U(xMV1;0zbPPK@-QvdReTyomKo>grYJmG7 z33PF}X=8U>d)PZ%jn}kEl*U#AP>77b@s_!)jTPHCGpyt>g_$ed;?9AtIc>4|X98VW zOAc+Ez4vJ(Q}8H|7vFjccBO!>RPb3GOb_I&t4&fNdI?pW2I*{HMij{I1EZ`u^DqC- z@pJ|2$DE3GUU5=Td0M5q*eCHZ3EP05J=vZT-{gwk*1TX>8t6XXq@KiUGFOt%(wsDY zwN~kie}4b6PI`E$G`ZJ@=|P~4DRln)PRkaJBH8Z+C1f)SXI{~H=Re-Z)V(d>%oH10S|CbM4?{6?PX&>ia7DZ`>#L29fSWzK3N=GP zBL2}Y_>a?i=iB1RiJMK=|30Dzc4dGrVkk6}QtiDqDOC}}044X@i%=^syR^){s?t3X zIh)nT2w0fJ+JPD;{khA1sY)x1LZRASMePH$N)BlUp{RIVE| z9RODj=rYGkasDeJ;>HXKBUt)}H1pJXEm-#RL;I2(YR?b3d79ocOeLwh=R}>ku>uWw zuD`@a_}iz{$9qO$#Y5NB$E5&Q9_Vu2y}V;_5HXtUMUcT5mE&Jp)us`*4T}x6F04IS6MpE#m&m|{N?%sFvsR81yA|-C zXq3pQuHJcI*Wda2mWKQNYJjTg_=g$-I2kNT|=DH8uhEdQhxx5IFy z>qmlv=2fPC1l)DWaE4{?-`^5Ry0{$!=OvyZyqD)!<8K!DJbT-7fddq8(x6xc^X?06 zX{A*cbFKb2Xl=Tj{d|Po1jib~s|GHw%2Vqu^qjzLe8wmt$1=~5GFwl89ZsUsZ(zkWuiAZ{|_sIGH(H9op|qCSoRw z@I_6n>Rx^R8q6hAO})sI;5T+Hrm6} zS9{1(I|>j=k5?aUgsC5Jqp@NqIZuAksZp01cW9!k&Yfz;5|){go^rRuG7H6pbu%yy zA1Mk+5Sb!oRREvAz0Iz{0s5BFKNwk-RkEgYDHqJbNRL8kdw1`KzZ!wvEbQ2i(XhIR z^qFtH2abKyN$l}T+BzL?jgUKHsZtC{ACrZigyIzf_dyGczGl!7!!{>@03s88UmI5- z?G1HPZ%J@U0+w#IcZ8NGmlVNm)-r6*+!2ek*d1T+Q~VU+@@9>KfR7FZ#PXF5?%#Pp{Wyq!8-4>;EOm z8j|ikCc$$_ilk_V%C?LF)T;w@>+p6G^{CrlhBx)0oS>2wwtj#R`MRlDCa z&gJj6Ab0W$6VKQ(uvh;uq7Dgu{PIn*8(K(c-EkgI9v9KTnV9A!oYmvAN_yXIoj<_U z1G+3RDjVNWGzpAWH24h8ggD3@oW*(BtdMi#8`~=L;-BH4cb!K>GrV^U$B}jayPXn9 z8}2fFpz9e7uiSnM7hXl`*3f7dy;j$A5d=ZZj8-_|85a*SOF9-%uL01F|627vHbXS@yFdu3`S%|e zZMGwce=Iw5N8@%l+&wyP!em8``d&XWu0ApT0*y_Vs;Tt2uv~-o4rEL0I~6qqoP!$z z-2n3brWX!N2in{owf{{#}g5-@1 z`#vD3xZPbHl2Z3M<6l$Kj$`cCVqNhfL#Y&l!KYDxYYcQ1x$(dKN%7LUsrR`3NE(<$ zDSe4Ho{OkfiwjQ#-QldDW zy9G&TgImLmhRX~K)rfbTJRdukkeB1yF>Xgs^T)op(M}%c0q;X*KzGUQ;Gs@bTC>`n z61r9Ua|dcHay{2}jK}XFw;{(2iF0$?#y>v=dUyx$mS@n5w$z)xTC=R@Xor<+Lyk;l zi~;wX=0GAWVDvSE%Fe$j zFG&|JuK6Ty8d%fVgeLQSaipWrS?(4EEliix7-8p_Y+wJ&L#j=uE&ehwZjsrRTO=Ep z9lo(hFS(ibw&n%bYYBAq1t<9Ad{@L!{~V$D^tH0oFF!JnI$mwg3>)$)?WztKonkQ* zAv@Zy@M1)dXh>K5MEEHu{+}(9F*ouOCt?fmy8ias0|$t{5Nn16m(qy@((OqBZ@qZ~ zCxjB0XmF*dF{3f8)rk_}qg-e7!c@CF3+nKnRLb<<&9IT*-n)E-uL*G-`Q48G3W4jj z2BWX}^<5-|m2&%~B3Z#*y#GMtj-fbgHXWK3)-RcV5AglZ8Dvw%rRbeEH+1D`VaP}S zTTQYcE)5MyCr6Kc5`52*@iyZFyEZ@<&m%zO$XS}sdcMbFd`UYNIq;itufK=IaFY!u zaqQqR??8g?dq{Z_hU{SMf7x{X;BhA9x!E}2*0M{1iek8u?8Yz9+m$J9e zIf)-Gm%_YPe$0Qb(YE@bB`Hq3^nsY4ymH*z!(;9w(|nv5?$SlzC#?V1v92Lke#uU$ zX@F}7bWh6+@6)<%l+57oK-|BE^o4ygXh`6ieASN@4)?!C8Bv6|Ig9Yw(qi%Db$>Bf z=M}Lz`?YLq{vSVPdEv`1%eS>ZxDWO~x1IwFyX?PegDAp$BaWcFlxu;>1`s=ZPl~;d zLkzof+9p0H7dj$?U!G_&?o=^d2zj9u75^L*X38@k-qtwaJ~)BV*9=N)8I0FSyz=ikFa1vbyW_&JTbdL$ z+UAmp$tlv>V{6NfxnJ|_nwZN@og^FAv#H-0cKc{v>L)`wm2ro>Bq0vKbq2a|Q3A#q z*P=fw?o*S@vPgPzHAJ_SiK8HB7I@?-?=^Qs+TZgp1WS$-9dl?zlxZMtq;c(aEy&m* zcK%*F)zAap=Usqqz|xrmjertG#kHtY&3*86zX1BgeS#BTG*A5S<@9mndr3L5yu7uu zM(54!JlgZ0Bzho&l!j9NHZ^-|hl%&V>*U+d-~j!{&w~If@$O&2w@@=bdGtg0Ekv2? zBUz#p|9e-&kz(pf$M$JOVa33iq`N=DJ|U`pD4z-PX&i~vg!Wag682jJDXYIDdt|vVmx9_Xi{>~ruxnp{ zr=-sjzcZh0!EkQ-KpmnAMLt6af1MbEC~p2Frb{J;nz!yeUJBkRTI zphL|zim_eoJ4y_dK}y=iMP)QX)do9R{g_p)x4j^^UJsy~^0E5M_ZRhBi=@3e_&-zj zP6V?YbTm*@pfAU9(Q})+=R)M#@zHHw7|U&1pNODYrBPN6w3SGs*-xeIMClNg0Iny{ z6`fG>Rs}8fu+fpz2_Zr?%LehCC^`Dej@PGJ-imXCaeq&JS4X{=^HK4to`pLZvM%;I zmYiF%Wp$ORvf5_!?U^RHUN4}lesnK+pGFrXlfNWi`qx(d;|o{18?}z~XV9P~?J2~v z=D$k)3WUSRL1U3ctX8Jfe!_F4QMdv&t@Zd;;=_(x1fFox8D-jq)ay1KhW3 zCOANc)4R!?4e+4GhYw3J36U%{ya#4VFNmjk_G@|+ zapqlBDKpWG)EtDXNCCk9`hwBd3_??n+u=5MeDA0Z7oeQ|?;t0cicWB$B8h(dt9eV8 zgpvDRX0{Mb%c8a3SDaNm$!;`cG_eEvwrcUeGU93mmI<#0xW9ft*TTv!4=c+@-BShq zOj>?tfR1e+;ebl&{W}TRq4t-f>5$eYJY6T19hY)Z@s8~|%t1c9|AtNfCC1qE-Z`cf zLIK>j*EBdlMb9G42JdIeKj<*?3Bf^X=gmaX&U+!pJ9zq`iLde_f>KjFg@^;BWCq{6 zMY9FgT1EMf!EdwLdWx;#{Y^N1+XI2?4FIFB86-;?xckXU`FPI5h=ohJHNHIkR}sDk zrmY+(Qso_Sq=-%#(^>m>0qs9tJopT`mQ+mJ-WbW3C_emnV{`mk)WG>eAkf9rGVv66 zKXKa{kxn>Hm~UUh8$bN`0pMoWug6MAw3Tk4|d_UiIK{b1Z^(O zMhVwvPbM|l7t=dOABH_Lh+7Zjp)}TeBL;ATfo=tA@SnzzxEqy$DPjjK!TA z^ODBGo422LZ~<;8(CyI=AhoW(v9haY+YF{etecZ0^0$Ghb}6&Y9??LBuOO{?wBl7Q zXnn9<;rvHvlrL^hb(P)FjMIhm^WGFy@B-k50bRbYeBJ2Bs^y}tX%>`6ejq7m)m0{8 zinLL8Ib>}5%?ow3Zt?1ekBZ>UjG?yTEy0IMAga@kGoo zLJ1@u@3OZq@>z-HVdbFyxUE<$yU{q+l-FF*BapLC8y4V*uu$GhH?$?oK|bIA%mEF# zz~tW8WOxFoHv;JX3iaA8lSUSytP<8|_0sq`=xiz0R(1_h$4~p^Mk4a`FNhWU^FY^C z!LUXdt-`VIP)_Ivfm*_3>Ec?C(gZ&|fEx*P=eM%oL(rAzi{BX#v|1^gN;Kiej(TZ3foVSz z)=D%Ycw3``&$G8@eBb~zahvmOP&nQfD+O31$&b_1njG>ymQ)>0UMM^uxZ&jDa|aGX zvGr>3dI;iKAH#(bq%3~MGMaXhPt}Di^31w_g}`nM7=6tknUKB9hxhiz$xO0=<|7ZA zHeZhdRhuSk7n{r>aBNz<%Kj0>DdJ_f)T3tQM9MOwVZ<2RGzr91jTZL$y`%Di1-Nf} zdvJiN;0H|vOslIm361qD+Y`5_{-A4SUm@hQ{qh_ob7ng8!X}n=$oZ*M!F>`FgNJC6 zW`f4-(0XmSi?qN)~ixksE{T@+~GEnO->}hN5VrbrH!ttSn(CA3%QQcEW=IX{r zGO<=T3nSa|_t&AwZnYQNc;sUJ1K@L!L@@fALGP1{Qb(C^Eylh{Tr*yqpn6O8tjp5V zzq{(8XhOV+dw=kV}*p61fk3_F&qgkX$oGx$C`%eA`oi`yO@p9(?U zqGPlJ&R(P&U1yABRXy$O*O#W)bf4etq62>c?%PZT9H5p|ExUxnn@UU7^XqC^8c`U5 z|AuJ=J?UFnH`PPFQ*XBj|3JlMRcu(Z9jv7ey))PdkP^@%NtPyW*`du_)_9xgfa^^K zqpum%5^t#Tb9`H=Z0^4mWhVitc?PfEg_#7=NX4AK9~VZ-TRb;irm@>>9p;&2;X}Vx z&;zI4Jd$8odj2gZ6nzK-&P(3zb>ILI#~edJ%~YmIAWFhjxBhW5#*;F+#gkPk_Tp|T z@UusWfcaJL!a0*)c6$4$J3oZE+Ntj%6yoKe4$U>`%_1>Sp7 z-b``&%7)Zeg7#^oAR3R_H~gNelnCHv0A1(L{m<7@MkhIZfdR7UQTaI|_c7^^tDM?U z#cg-U2qk^e7T(g~Mf8xdA@pTUYC_ofPU@EJMPIRybx{jGDJ=usOrXoi$K-lfnt$nJ z;;8l8<1u+EcWQs4+l};_xJM^blHe>Mzm5;xCCq^AVBo*Vqom*HD*dDV_zdb1*JTkE z_YHIaHw);x^o&ZFtqgLhB08O2ED2K*{O~T}qLhK8sv5KJDNg-{J$ouKbk#_}au>>> zQdp4o{RvOWk4;WVTn?seOu_PP?F2q<*+7@S?}o%v%MX*lunc;n6|E(9a0tJjs#NiV z*OaN@NzuURc&QK(hLA=fZDr|fbOT&QRz(x$RT%3xs1P|MPusU^7}(7Ly0dpw`n%U* zI|e(OvVTQHB>wD?%ap_;qrf`Htz#HT1l`|mI=E+iXcS$kn9<<-QZCymk;RK1lVGhY z(|k7x34EVIF3_E_np*dk#LO26g&O*ML_6)4Wg@bS2pK-`^^k$NRFz`_InQ0XejrPT z!fSUofd9YF92EyqJP7|H8V8x<#B3Bmz5fB-0K}G*1P0Np{G1~)JEg7EW%Kl^wGiEu zf)m*dqG-!@dd;H^-rCx=CE=>~wYZUFTuASTowp~&*1`{YJq*aYco^YnN|&ycG!-t;$PvY`NkT*!u5^WK#s1mBARu_qy0q)yt4;&!t(tT>`kXSv9YklGd{Bf6RrP_b$ zGrBod!~R&a7o5qO~Q--NNtVU_B)Ill*d8fC+->;Msj+_7IX}~{Gp>3n%m`A1jIwKdJn$|M(l*p07#AZaG65!W zKSlje^JG|QzLXy`V?>;s9_6*rzd~U5Z7mEAkpB9G-9c4=eG`u`BAXMdg2VunRwBcJ z?N3tk8U6FAXgN=WfiXzBr0X^oB9hqDMeB9d99E%L=kt;z-AxK-saFW>mVwdN3|b6} zN7uVPIJ6c}l^e&7TQf>ApRsL2=m}M!{k94mnPwg(3X=wHG^dsJf1=RTos+8qJ(_?5;Y=tJ(xzmM;K%4G;xm70nL zs4%ba7iEcGeOlTa4E#)Hnx51LPZ%UZp z|HAS@$ND2)<@80X(sPn}1n=3~Tv!0^6EaC3=oZ`#+fq~^eS4)|pof-d@m-c0-$a${H_L2@7vGd0MU!bLz?E!nJ&y}8Vkr+hG2aeVHCa8U#P4OAC<#o znG8Tpymj^VV;wxo!kIDM8p~cw-w*q9qjPM3X??7744jwz0;8`PB$>S;^Wf$tAA>Zv(t?V%>k)~;Sy=^h+Nl4R+^GOARl^qplj(rO;Dt_5`YuIH|(nd=JcA}B9 z{?!2Y_czdmJ@vz?h%zZE!{+#kf{;x>z@l${=1R-V`Hy+`p@XFdw=@RpF=wXJc&&`k zZb7IoplYA2Quf(uL_(Ny^nE>jo1G;O6pQMTW_5~qQ z9B?Yk+)Y|*M?u^%zV2crERX;v z0v#4fFaA5QR1%A?1555@M42&#`4s~9w*id4W)PFBlxm_+QQDVjqLE1h*lYyhG%0t? zmCrgKG@C(Li^p`_lSr%!gkkL%(DFrt#(ZX!i=TfK+*=d!4IWavF1-EU!EPha#Z8-} zMjKn`X_>wu<{}i!pq$+Akwnzy^rX*@*~=?}7U{^Flk(QBJvIz=^9!);tqMnc)N_=ApFo;$+n;oi)S8U^!m{af zyB&-!2nt_)lGaPxs8N=dlSl-o%2o)szXII1a|0Y8JqI$9;@+1In)IP|S((*~JMl$N zv3Duh!lc9)K^9&HJh>|~Vu`CFM!A{0^^pj3(nJqG5Mp`~%;H%>-c76k_bqR0DsX_@ zQ4l2;OCx=w6q4e?RnfL}Q!OZro6G;ZHKNx<)M#yo<0<9Uahz`*N${oSQ#D8o){Dph@?{obGHV~xlM5FRtHk>VNJ0Znu zE~srPvPWVqdU%QUJ@;+J4LY~8kORIrtQ2#pAiTWI;=sqP4d}+9vHmyv;ZuHU4%cjJ z8xj%frG;t^<;1CU>ARKge#5$|YabUJ-5cv~xGq#oU-sQL$?XOaXg)l3*tZ~;zt;j@ zfByhoE?q9D2$qVx9!Y!Kk(Z^zkBv_g>wV3ZM3z>BtXhOtG7|>`F5+SHvsWf^A&$P6 zZsH8z)Ky+o7zM80;XIiGk6Sy?y(lSV5TY=m5a9auqb=6&xV^JWRSK5b$Z)ku?c|g( zWH+%gpcpTwX13AKud9kIC#}yny@IE}+}6K@|H)kTSv=(4}y~32#K@m2X?&G8R6K z*EqHEgW~t{lxKvssi+I%{Es^_B4H*t4cVSeDi_^BSk_#5Ug^bG3*3ippu6`u^WhSY z2Rl%wx12UOe@1^~$W%_B5zW<3;)nSI8chQ}A*%^8(0;v1 z&SnnbKO2q&Py7gAG(^hZFN>Tk6-+Ga0o=FO9ymZ>H#K8_5pt@7EFW}Ti0-i|9?L6 zQ9jif$@k-=M*LkSC4k!pbWidjy)ewPecAcb6L_>7Cy7)4L%#1aT(FURHs@FJlAg8* z^Y-ZHD5_)r9DCx0(q@+X!v)8@r_1d3RD%JF)&Rim2fC{uF&Y#YGGi4ggw?u}$R<+J@s4YzL*wmF~hD+G22!RTuSl^d*ch%*^ZCJ)2m@NZg`B>FJ_R8ZtyrD5;1 z!#F}m?PyaeV%CuxC{rd`@%OKRM0hzbxXZeJKG-0C#~ZH64seHnuH5L8)y?V_)>`B4 zLRC^(XSwAPGI3S=H$OW=qt%g-29Q0R5uQcy|ymcyh z{VX+zy_Darjwjw=^8!29R<4a5)@7OK9NOIJZYql zQSq!tnfNucIcdK~#Pw`&O7(u`{+w!cTf|l}eg548BS)A+JT?4p+xjxu=QB68jSD$& zuJJYl1qZ0(flt+MNn*Kkkupr3Xid4Ip`UGMS+Bp2fK((P-3ZV98~a9_FjhJF&9`4- zdCWdU?0a_9)c79q@-uA%Jn)pS5cqr;2cxeUv_N46<(-N6{O3bm2U!$jQ<4RlOYP_G zcP$y}oM^uUb~caMzu(j^n|*c>T|6c%LDzQc#akpvUf?J!Q|Q&iodCFRKZ65gz2kLC z<{oRJ#XrMh-`7me*KmRuFzSwc8*CX#VX);TN8aqyeV)Z68Qo!Tn70~dH1M-bAYUT2 zrkxt^SXAw8mI1DJ5{$lP(DV24+!dD6SUwWRh(5j8g;9(zuKq~kv6R#$Gu#pSYgh=1 zK_86hLyln-b6b`7OHAyNpFXxQKxVA@7e%Da0rwYEKo`Bi?6i`cw7UJTM|DIK=iL6h zukQTUS$Y$`B9ZdMGzn>(pHKu5=1-4JL9o^)hA-KkKd$7Jth3lg?^4e3Q~3e)P6J)E z)4MXwls+xVe7eC5>Q5PN`^(U2yPpMf+u=i_63j__kL1Iqg@jp(p@zb6Klk8y@@kv? zd|_ZgyTA*zu0C=AxHCXE`!YA{bbVLhpOxxKcoUyS=sGUX^RF&cW?QXc)fg`+VTu+S z242#7byq_OA!{aD3dChJano4On0~gGbaq|fb!Qgn;x8o{VF<^$sU4d1_dI|u?oQ}L zL5d3XXTz4E%dz~0t-SnSQ*AxpyIb1PMpDwjoc;=}Tw!#1M6C-w|K-;Nd@eEvbeAI% zxf4n25dLvhcu@bT?B3iX{fuK~`0xmCChp_=@T7Cy|8aOvEaFCWNQ||$#oAKPUBj!U zuosh#EDTHi>N}thZ`TTNfRq|YNe#d53XP3KUv!$1jLj#gQidDw^tq053~)PkpiTae zJYcJQ^nzWadC#4#7lx)yKjQc2<)hvmYk|e60K+Q;KF=1w=xYWgJp48H<~LBO*ZdNR za5={1Ohn?b&sk<#jB7p2vNw{5KZHm@)2BZ7GcW@$o^A23ls}B?fa*t_2B(l8qzGAW zYaFoq59k_0*hI)L=4Zj86c$DA;Lo|}O8eL$&}Ceba;+*F zpRLhlZUSOmjot2s_MKtR7S#v1Z)*u~fW9Nzncm?@wda$^aSBn7cm9p}C45O`qP#bc zIQk!={+XJ9`SbPF;Gq6{WClF+Uqy?eix zRt`Z$+2;m)-tsnM1_$UH=ljCF_< z?hN<#`b)oD88_9XB&C&v9VoZpa2c}V+PNOTLg0E=!02lR-3GPhLu4j6&7>L4e(0}n zic6##bkj!v)!l8V%gjivyhEaBS?u+C^Z@ASkc->gsj-SWT>MCE$3Yi1=nn$ z1BA${!wi;;`nhvofa~8ipgXqFFlZJ{MDMIwmPbN0K$?rDb0$x;)3kjByPSN7E=4tT z&O6DkUxln(b+TmXPm7q@e~$F^3I!!NioBeh|80!}?!!9JHKL8C{5PV;tVX5Po}&(R zhs>=SQjXh{_qPhx9&@W64$UP)Z@WzT*!K+qju5ssJFp#Rlf1bv(ipo-jG^? z?}T;zlYr%79fUF6eFJbefi5xscKIUN?_Et5I|=^eZf06qPU2Jj z%dAMKe8h^px*&1&)dC;4x3w@hKyjJ`C2pLYbna(Vj?NMwTD7K^zPuF~1Q?_KGOw7Y z86tJ|s*h1B{a-W^mvqGRxJ;+99&4Xat5u|oy(C~+_Fo~ey9-8NGiYUghxTS>bVz0j zn}2@fDSN)-()J=xa$R4l`hcMHn`beUBWwS6S(zCTcan^dcERRMxB5uhs~G2d&(!D=XH0l06qg9DWD-nua&b(_U9nW>*_*eq$0+jA2NmX0R4 z;77nyZdhK8l|y!Ym|4~fR|8wP_UvONLHKO8R*$R}a_1lRk}q#-GH|^IVDvSE{#(My zbZqs8Gx7}~;ysQdnE#}P%9pmWu-BdEMmT+1(OfnrIP<%EiO~Ge<8oBR9&(g^PxIuI zl~w(@WvZRwZ7l+J4}mT{s{^kB2<_5)Fox~MmK}YGRr?Pu1VOMy%;r`wp#g&0zo)>e z1B$A&{bR+Dzb$1-dspr(O*sgj-#?6yLOlKgxJN)&6z?qgyepPhjT+)#rLQ>4pNuBy zve-{ieV!hu?#OT%UKMR-e*N^!jJ5<+nRf0p2MyRiU+VF+;zPV#HaMH!X0zaW->#Y9 z0Qs2O@Q5ny?&KZe<4}BG4*q<>4Bu0fJxz1(R?DqIs`HM(S!(vw&Qi(B=Yb5`C|Tx+ z*DhyUWd?6pAKntH0odOYF#4K7ec?>dY`7c$V9vta&My7cvMgK4j=xil_Bg)7YV_m! zeT>kGoZFz5`zu zXF&Ieu`kxC#y8Q>uAIrukzCY%WKL-#oUKcbam*{jSFmL6fiwbMVJ_pr5}#kwg>=3B z^7JLSHeHc7s3c)N#~ipWIS0D=XdfPlb2Oev zmf8-%wFX*&OD%CnsMf<#JAiuybT0{VYr361uPi^M-kuC3D%51Bw(`}-3aipg1TX$D zY6w4yZHKBB^$xe^;=E*&wZ*iMe1{)DinD3vdp%Eh{ES+n#K zH-9EnF&kDzz{3J1b7_aQ0d3)fwb{n~{LsJD?jZqIxEy z5*ep`+6+x?8T$g0+*3-6(GIDoyb?PKanH+l5ijsQ&1$yjyZJ)e>Ysjjc7kLUN7YG^>Ri&}bW^$|1;5Qs`3`(5)z^w_0m7X8#H+^E*?F zEq+K3C!5odyJxOETJxhYaLml;7jIb z*>@6tKYyH1^ct;#uz*PMFG@SAT92@TFsOknSM?z#M4H=S+hcH=q6&%=|M0el2lw{{ z=o$-WQlRrSJTLrjp-`foikWF!eNs_f9npa3F zF(T%AQ)g;?{t!3I2iOs2mR!xa+q4Z*n;T;U)0~wv<3-xW%hLqur^1r}J5y%p?C%06 ziU1c1=*r&Zf5vCJpk^4S6qIHvzJO)ZVc|689esE3!Fv=glycUo`#86q7U#)H!CVI0 zAhqhLIKFhvrbZ@-ww26QANbr98t59OTk;+Fn0-!ktVOQVQwz!|3=G|)nd2dY{pRIu zi;WxUV6hW3w41OC`Qpe}I*eI`mGX2}R3eIJ#9h-kTn*fBf`IOfh5SY>i%axrWyIDU zUtA4Fa2%G9zL_anV?KHh#22U;d={N~XLDlr+bvsWCO!8*dyX{!pt6F0yrW$k%B83Q z^x^G$(7^%HE01QC5qw^Jf`i3!I^89@fY)cKPN6dF~rE2GeumZxKm?C+2!b_K0I`Jcx08A zk98BUPn)W0q0^?P{m7|wH{|U*qhezT$tsj|roo>1ZnH$9BbW!APr?CRC+g(suF&D; z#9Y72!M(Fls8;F8`p&+iI;qBRe)SK?DAG}a;Wc5SEVpOhw$J}ty(??7c|Fn5{l~)p zc1~g00_ueax^D0KK=nK=s*e`vUf)Ci^jJMGP-ZTm#r}LcG}&!2!!V5>Xhm!paub77 zN{S5Bnk~oX@rI(yVgv;_schVRECjgkfG!Wr!C!izKFj&mT#X3{YN}j$NgULk`eTGJI=j3_Pcta^J zy%2lenjgZ_jZ{PKQuBTp>?Ovo0;3?wsVS*u_<<9z=Gg8rp`uauQ&-h6$5SuKBd z966N`it!UeBC5*b20?okNxnj3X@~ETf(QOnUrU;EWl6(xR^lq{_s<{J)F`d zjk#vXFhPoom4WSOM%FUa5TAwShR`hhhyumPug&E{#h-`pGRK##z4!0~7^9n)PQ?5A z0+7dVvjK3uZ{KeR4p8Dum~Tv-a1y!zK7p-JhzxX$xr@?YXLSrEOyejdYyn0ysjMlv zsDWF;(d*E@xhB&|Hl7rlDIe;c(Z6U-E^libu!{|J|5bPRW7tJgS&_-i+26gai}fcw zS(~hjdT(@RjYOD9@3mOzPGBut^cy5MF%HC-C=Um#&w@<5B67^*A-F6M0WSD^_}*#; zJ>>+TnN+;Lb_Rv<5gDwkQ+HBmG0`Y$-kj?gT`(ry!c-JdUqNa?K8x|R`=rAqM$vsp zVwA`h#|bXg{q-y-0B~`E^wnue+l43=M{%K#ZgLr$>@mRl@_j>_cJfORKQ(mOSjwE`;k>wci5UhH+ z-`FF)3e8^#TEiyy5&CHvq1%N!6G}8J*v*gq1j9}g62eo2Cd$lcU_VM%q4PG|0{0gm z=zgASC}}x(;f=5ot&wW$y_)9`(^)lHUJtZoNe0~##WiU<&tMupEvel4HLVvx8#F8niz7|e z7WRH|)(7fZz8054#^po&A=-4@ngqCU?1L&;JJB_2fD8U!#Mgg<0Et8&Zmc{G?*oS}PyVp6D0%{s(VBuQK2B|` zm;rDJfb}{awk;wiFI7~1suL&Mz%Sq+iL{7NeDGs>NVkjg;&SfF>s?trVO7Zz^byaN z9t_M4=PL8FJDTC;2Epn;&s>0#ar4F*-6(t-t^}2 zMC1p|)#f|oI(<9eCWgtR!6@4G+3Akp4_7@~=iw#IO%A~IBoWY6xc|VP;57fPLFkyc zy{a$5;{E~FQu4VxGq4(>H$1q(<;bt-lZl*|u?X$xb;n)#j^m(^=Ssc}Ga_N?OP&~T zA4?2$Yj8ElwI&xSWthxNduQ1xdf81vVJ*-Ow@$deOTeiWzMrJjB&T!S4O?28Hj?E( zZqT?evy~mlb;#RN-YZ!B4d??2&}D-S-AA>wExJG5-}|W{Zkp{;5b4$Mf`z6$$lDB+ zcF18dLSut;U+92~KkBH02mNWofL`1u;AFktDg+@9+Tw^F{GmPxUgI4^nV9zdC!QgI zO9pgP0_}-F-|?35R!$@dHHM2%DmbL3H;0<{w;G>4qE{<4_aC`F^!nKA8}k2C@RTMD zO0XL9(>7WE<6vyDI`b?9aLIvgaJ%+Ge$qR1zRkNRM-QjwFJ(B#+DimfSggPLX1?P5 z>~3e1#H}XUS-r~<3Yx&?X8d3#uWe%9VZ(I{Q6mEN_G}FNdZPfk#NuhIsxCiIZx2>K^z-vS(IbN&wrtcQC-Mm0c+|ZI&I#y%E}OzwU(h1RLU|Cv>daU> z+@_#>Cj3ZY?`Dc&J27g6@**R5I@DKF+d@~ATLdT0$H7nA2UDPmq>3-gJP_wyJ)qu? zK({Epa7BOQ>yZ)vArCKp$HNc#4QKbXgUE&eV(-)8vshRB{tbF;_aUQ-f+`G>eoiD3 zCiKF>prc+8ocN*c-;S* z-OKE1^gDQi-H5xjRnL>~zc?piQ~7t}V6?FwT>;-$!2opk33MofBWAVVU$rTsCFV^a zkoP%4q#|d8B$Pi;_=h6P<4-l+)Xo@cIMn>kD@K(@5+rdX9vFzH6wg+$Z4NO6^nnrR zx^USf&RgxmOdSe*^Nyu=pq4*|>9|k$TXnZW3)i(oN3V+k_W+=b@Tm#+nFcdLp{B()*G>nO~dkRJI1875Yu+9$`f5|m8(JqF<^3#K{B)b#Ij z7SG9G8I7b$@kiiwhZX3)b5ROSDYWh~Y~)7!gHyvB=cQ6?b&Ok8^H^84mFC&JK3`6p z%x}WUm`)JNH4#30>Tjb~$lDRfKSY@SAM{}opk6khJBorK&W#nfl994)hN&ZP9c3oC z;yi|P8M^*eNQ5-Sb=W~>u0*Xp(E8BsMQF1iPVv%daerlJlo6h>@n0JI+cR$P^_Ly! zKBvxCA#1K-_F8TI5b|!4G-}CAR$%~rUiRZaFKPbX1j5p1YR{pky!INH3uL1v9(F3R ztAv4`g6G=RJ-q+lSF3~FPe9j`&apjLI{GpumG%}lalI>mBRK&-$4w~ehW^;Wp^5jT z1oY|YCxI`qu=aqkl$WQ&4h^Go@^MqPo$pWDmM|Say`O>Z&nl(DIbf-9Sd;Md^8iEPR;sR_b^SOJ zp&-m0F)0CP(r0ky1PqCxAbgySwYX@4f$fyz{xfT;GoI8*{9f>pbUNYm99x`GIbZl23))#}{&;jMM{3 zj&Oa{7RW2`e_WQHQ}0?0z1=K+ z;_Ge%Z*|>b-4pc4*|JvJB5v3sZ`HrD@Di*a&zPd?Y~E!Rii(y4t|;glrt>n6B%swA z4Kc$^OQGd+T%Nr9T<8)HB$5t*KarwCMb&JtqUf z@8p0h3A(Ap6FXkiCejunT)d-5qUJ!m5DKCjM)Hsdru%9BEo6@shonMW!-#+<<>vd!dq#0KZTYzj zz?A{rp-}0!Z#WuqG-OE5wrw|syU^_&93pLP8fB-BI&d>_Zo_Cz694(O6H=e@BG>vm z+OO)0+ms4l;!TKx{Gv|bNC8(CbZzf=@#`50131gAV5Sl~Sg+ac{0=IfOX}OzmhGk| zwJ2k0Xvy!`(>_i6Vsi(l%Spl)UF!S{;ye8$Heb!m4xVpvpo@$qV#r#~7HnxZ91+Nx zcKGX=75BPG$&44<68X}k`m6_+;jYcV^wU!G4L=s4pC((sDcnYj9z1NMNOjFo-a8<# zJm}UeF$j!`&xF(UyY8L0PSzNq$DCkysWmfG`AWuXXs27#rd+Z$R0fi9x<%*i*UoaW>7ARN4)$=RpG z2@6db=jVl|r7xfFqoCLdzbsR`KZWypz;`kTMkRVVK5z*{M#3K?lf(sNu7Q0VWzda_ z(f8p?(>Bt6e`m+}hv17ONtH&tdozLr`bqCvq_?*>Z&S*us0aKqyD0jH9(8m@O6O}~ ziiel{%+dsxD)tH>?+4IT9G^ft9p_%`!Y3DOAGw=AuGCwhA~zzl%79tgf0fV6m#5iF z3-?fB-~Jr|r9~)p3TZoKNdLxHO%)|9twXI0a6f{s>z~pf!MSM`fh0Fw_1qH1bz639 z9G5_p!?V>LL7vgb#9w(Wlx47ejB-dPLk1PC^fRMO?sm5vchy>ZY6u4wfcpt_*~p1q z+gUba&wWt#(6-7_9u*xC8I)1haxHmsTNv@MzB#+A7VSf1{caFBBk{n+WT%@H5;k}L zfB;?4cx|}{_VrXi_dvvpcyg-KFlORHIl11}Rk?G{>$eI*@m$A`dCNZkRb_bH2*s>v zTlXMW48ysBRy{N~51%BrMR}4q$>q|G0wAv{=oThuaS28cB0I-<zayssu6qHoq;C>@tmGZQ)u>h>OXT5?QzN$T<94Rs2YJ#p*zS|uG| zarv941SQAP!BjBB7{CfGHGG_!lfxFp4;ulgPcw4+0X zQ~d<{v09+(L`YPJE~hbptUMC}8Na*y`FJ9$gdMqHTt@03UiY=6U}c!?h+qH3AN98` zWyZ&uUq$1*ojD%5;rFY|vI3Q!KwfRoB~El`wo)Q^*FTKaWS5`DD&|6{M&C8=Ka$P! z3t3gfqjJ^7m6=?2mtnvGJv2s^86Ms}eI~-8$cHwv8)Ytu2yk^kx3i<<;_)|*a6O#& zkm}u>^#v5HiPbA#ug@Z>IkWn^M1sOpo#bb?=bAVs^t$qHK{?~#_Y1b_MlmGxo_B-Z z{(!3sx|rv260DaZ)g6Zd4{%PB&tVQwV#*hugV+0cf93nd3KV?N{z&U6+w>6!=(dyR z(c}b^T0z`c7cG7{8{WY^2G=R*fo`+$WIz-_{Dj4)pZ7r#P4Ulc!qgj;F|L_UT(L&& z&Lcy5ykzuTJF7t6&!CGrn(QDi21l!OS8G6ItP(3#9En zp|~gk4S8mLrx%Y#`m-e{Y9@5MtW)2}I%xOD0+8YvTO!fH^UV-+pRTS&b4UDIHqqr` z<3C~0yx*{GPOdMxAjoxIai4JgqnkKgBtILelA#av2Kp!#zah1aRo`Y)DV0UfB)4hU z4j2a`(5;B3yF!&h>=~EVv_F}A6(rloN5p;;sq(uqd77(6%&O7uYAon4w|Zi96o>AX zq1J-;FM;V~c@>wP?-dRr*Cl{!47%PEkj0LteMg+*XSg1ye!)B zT72G8b$y(TMKh^)E>u)6YajVSa}r|qgP3z(hLC}!cOnOHO+dFc`P)72Jbp4}{mL1o zJHy(7hx`|rbGt!gJ4v>T)?>XU8Ml!@7iNjM7dp`-7EVjeLMEB(ZXRQ6I7k?!R--R~ zYYMvcqsfuS-&eROOIfbE6P8&VfyfMF!*uZF`_mqa z;HRT%EB&tmipEI<6zUb8QYunnKk!#ow>0cTXGC<>0oNRK7q7nWg@*k?I+FU6Eh(Xm z;QL`k?e5RuJxMx_a}7)|YDs$+!%Yib%#bfuvV*0_)D*sgvP7ZE0CU4fShd-~NWirK z-Eq6>qo!@A%)rrv^Ha^ez)L(~=Jh{mZ&euk5?7rXJ;t&&1=aU*}p|77Yc zz7R*0T*Phnu>7!157y5tLHGH^z(JD2bTv@{^SzQ@_Z>adn`dlnlk*k#ZPGroL35<| zR2y^sl>TJ=ZzyE}2Aux4L93Y(#cxC31tN;;U_1hOtw7h1E6$$#Zk6%4;L4Va4Sxs` zzaHjACiSGB)kq+Pvr<5V1+sX+Zt;B*Cbg@ZyXWr3`jlt8wXWdhd%Md|sP7B`*BW%+ zh#2>DLruZcFS(h`rIyT*!UqRg(VV+yeyIHrKKOwjWln^J>s~mTe-%MO!)85S@{^8k zEmQbsZk+Z|y@7l1K5z4X+!=C4u_2sP3k40*-^lBw1C#aV;YCaHTF)>0lqz-8aoHDS zzT!*%UTe=MA_~6OyoP}-!TtVc}@7K1ZeWu!u&R{U>^qZI)E-}#YQu^ctZV76MP@`NB5CIJT59a zIpN1=+D~?GAg$o&=Ke(5xGQs#>>qalEDf05`Aucw*f;? zz0Q{?t6KdX?~@@GE|jEQuU(qA3ah{N0OQ~cx@nj_1&gzPidusk7V%u@tCYS$2~;-X zC~tROthcTYZt6vk8I4~ylX!&u^tF#_Q__BUfn9CmVW8tle68uQCj(p;(A5a$)6U>? zIqQJW#w|o7r8QC6j;Qw5k|Hgq=GzJD8K@25Tc)5pa*j9aMbJ7c=Inqmhb58hI=@J=)r!;KlYv5z z9D{wx}^sz zuRPnA^HnDBIm-idXZOF=Y54iL)NeoPN0D56z<|{N6Dz>v{pOJ1>Srp8W;yJ(A{PbdYX92 zWqZLAq{RzMe;XoAjB;wJnJpr5ZCdXc#yV8lk$P`<@S-#NwZ*J)OZW%6)-*(4LD36z zxbaNRX9K|X2HkP3D@y@g)c5AHs?HX;bmdVWB6NRmjYQ}XI%i;`eI=#umGr?Gyc&;X zxr$yZU%VD~H9*u?*$V$Tk%_3Xatq!!zkn`-b*|8H08c4L(cc}IV7RW8FCSrYh7>in zct(?DZVCpWbyfX+1)+D}6xolF@>D!Hjh$KI^wqmjXd3``v@{pB{=TFkU z0mAvK^oOB3wne`zp6L^z{ls;#3wkSpfoOT;PlFQo)-mGL-~3I=xX7>0V~!0bXfl|| z<1gXQ0oNCF7lbMinx2lMjbbj|)-Si_Ait30c34zJxvBP~x+G)ruDZSeDgGnEzbm7g%upAn|{?^@G znG56%0Nq(*q2hxZ=BTGXW{GYVrBZyAO~+hl_-l@>isB?w*_bn-W#~g5Xt!^NztuPI_P1p(2s_%r( zG@E8QzD4{pi`)YtRR`llZxo7@g_?e&`DV&Dhxy$JgdDhUCJ=PL9zNI`-kyvkmYrw& zYJ5eVU72tbYhjtSj#VR+oDu3DW?hW2gZQNEDMb{g@F@rLXzsljWLR5k#AoF<&Z`vk zK;9tG{Y*^ptKPHx2H&k%OkEj=#Th1i-g*1`W5_rJvTu|hA5A(fTD*V|3jtE^K=a(a z#G9taPlmiU%haB4eM|3=!23lo=xY4kWmNdP!WpX(EV;yEKH0HusyGXwn31llM~RFs z^fVUp6dAt?`8Ns2m01o&Tr%FwdtuBf`&ow3Ogn(*3p$WD1ayn6v4|%{RyVd?i=o%w#fq%$L!`(~^JsUVrib~+ae|M2^y^@a#1bnxFj zBLBPohJtSFuyUVv-t5pI5t5_tWn#y7O&Tc{7!8HF4Y7|8&3$?I9*8-&PLH{^it4$G zYYfsROS@cU5(d&xXNAH8^3P!3Gz@f2B~BTiI&((%{L*J3&lQ{(!UY&Uzl-q}ToaF2 zLL~Q0+^C&_a=ngcM2J(wxEIpAh>y-4F}J7si1jm-1WyU9+lPa$t{w5r*fcdc-qqan zlutgnF*!|RRG*3sNdY$!bZOric`h}Z4+QM<3=rHHpz+T2iYu=Cz~BhISPWd& z=c2F;C>0`o4(n&Hy6Ur16Ipo6fqa^{{(Kw0%53Kn&kndzpiAVv5=xW*NzG!5Nt{+8 z_?6&dlaR1SS27c4lg9Bt%E6&?w+W zgYKJ8k{Qz7mJn^t4}2&h&!o~jaD!y;J-yUU>*UaL`VcC}TgB9C2J(x1Gq0*1w2}3P zIVIoYe8MR5Z|mNM-p~i!7|@ma-r?!Fg_I+QY;dK0Vg~WIR?^h%tUZVOr0K_6irS2w zLSlpFMLNw#S+CX`=|&&_2;t)4@XriF6_p}JMjYV$Hx_h#H1{xdH-pGI?%a0I%5$@g zF^>+ete4;y6#BaSy&V|sDb@B>S7i!AsIywn8_aMHOYsa_^_g}Ur4;}p3&A+M($fGxWUaS8ElIj@ zSkrp=X7P=3?D{e{ACY#>Yq6yDCV#D8vhqEW1M((-u3EwKDH22ZA0)XgFVg1eX#v6| zp(HnxJj-8YLK3jUP}?M78UDiKI^$>iSEZb>p-&B)h1DaF(zvVILE@b?yny=+bfF8P z!gNov&=Aqj&0-Z}vc0ggi_PTo7R{fLR5j2P7wj{}8Z5dz`#(;QGA|)JZ{^>UZuHdp zMKP&AQJrcGB>-+B=&C}>@!6Ht5E7kK4Om8Ry78C&+J5%?{4NP|UcocJ2PVKwMv9JE z4mXbnhDE{+XNR#Ml2i5b>X+9i$U;v{0dRhn1iBOYV+o-wiCUhI68oFKEP7>8r?7tp z`P*l#ITDY*3c!w}OHyL!N1|k=9 zze+cu(-9@a(|Kk5`SY>j2!f5BK&^Z^OIx^?N+Bg;T&izPgXd&|Mhqhn(#@EnchoG` z-f}pJo2=aja8p2cCg!qcH=+gyj_ziY=V<2H{jp)J0HS~c zRc8$;Lbt`ehVK!UK$eZVzfgnUFH%9bLh6->`%l#mX`hFQT`#=9j>&PHu{VgA zkdOiKGX4g|qgY0c-+75#Y$|<1^E80(nM8>|BE)NhntRlL@)^&`LbhB29^m5GKNy2?-;5&^x z`>QRquK+h4bn~5vq6wW3SNr>uJGUG&3<_Wu*P6veLW&Obe^@p^H^ur4+R4>|4jDnjj|b~@txlKfa$&&D1YJ%@?)*xr6-JVd z2WxbC9Umpj&zb{_=ZSoMyGy3Xe*=_}ldk9wIGFyDh5XraGqim94##@Q{kI#pRXK#K zZtMwgvp`p-nz3yOXY$qt9xpfdt&)`{vE1$!T|j9p8JGj6J2i+7=I zw^)O=#z#Z$tw5K`v|DF$%ucWlo(;NczqnmL>oDo=1&0uSEvJZ|!YMe}r=7XQ+BL0; zZtARPukNxk;8PJi&35(^E$BWKQYuE93BuUs{d~MOQk5hMdkl2Yrm*o@OlFD+Y4yCdKy(FSZR0TYu){*Nkw$ z`a>@0_R#1>98l&mXMU@c0Ap@eW8NKjcPuVla73JQacMC@|ZB)_k^Jpl_iw6 z%<>+mOUD?C-3}N1ZJI4V1mw*FU0evYX-8JX)^3ej*&snQeTIt!@65irT~_F0`23%4 z;qM07HFN7;!+(r^6 z(&t|MPkB!>0^PbR4K}kh=6c78rMBx#QPUyIpzAQT^*LM}Of^;uhUTCtOq{-OB@t#&m zvLniKdViJid@aAxsBl@*;*{;%fBUg8|8Yw}7pG}zr6K%p-xO_9ZOFX@ykQawgHH4B zscpxvH=3Qa;f#-?M%)~m?d?_Nw}I}EJ*5+cuBo(^O-QN~d;_{)t^Si20{-9Umom_` zvHQTs?zB6zE2p|4N&(Suuq3=_Sbv2a-lC-b^t~gB306U{2FmN(NvzzpCPswOKKW&& zS1R1l-sBN?r@&K5DgXfu6=y15W+MEUR0$2B>iw zKe&3Mwev)~rMdjxq~&(IZd~(RK~GiVg)&al{l|rY_&09_=zgaiH`46td~F?hUuPt> zV2gXvXZ~jNLYd9@Cz2-uKVII7SYoa@&2MB?puoa34qQyww#YGb+%JO+oyR6&NS)D; z3vZ!pt@073DxJ_ATJj}0f%#8fsQ=`x0^OLyiC9&<8~!-?uDdKfMyW&151P25Z8bg% z*FJL#^Z53i?{mozfA{YVt6G}t7LcRXJl_*`G(DumaGNk52K4;D@rD2AzZ!I_)*~T> zx?;HCFU{7<1LrhlAUo4(*DcwY*}~w zf9}7bYe07aw#<{Dpf^ae-f2E(P3|J{2k9HMV_Q!A5Pn(9AU*tnH5e=S2D@{DOy!x+ z8K@IJYdCahcTTU*!qM~yJ@j1vaiRV*7`33gb-F;sw#}w`$S*bR7c=u7dbnS>wRR6rvQfIJ` zu3Z0~uPJyRId-R?8)M_lc8&O4d&9RvQCp|Dv8+)WAVQMs$`E6BJ?nb~kNw=^cx;iyUGNfo)TK+|lD-0@G z2*bq(`XQZ+zm5xs7{(e(t_k9a$HQ4PR&)QJXaB1|G=MIa-xo#s9LNA=SX$?Ry=+D^ z?ne!JcTC4i>LteerV|%Kdio#J25z+{)Hc<&$+BbOY(qXLc%{!`^2YntlsyrE+X%X{ z(x<99>djpnC2T=q28Co~QH2^%aZzltdS?7&&j=)Tcfs>+j3gfKQxHB-zR%_?LqKx4 zG*44P^~kRHRF{VaxJ{rt^ORc|G@R(&e8^Y7uZ@NJ${~YLi_=fyG|c>cll*5E^b>pX z;^1$r4oaOG)onEunH8DdhP0hrJDT>;fqE*i{@VhN9FC}rz4x^>{bRMK`byHfsLP%kVYKf2ktoIi-c7=Eo(V3*w5@yje)q+~ZL9kH#BgbA zbNyWh{*-~}s_X7)b!^6#L^O8eniU^nV-Dc9f^MzNuk~?CsQ@<0YUgTV>LJ%$fs})2 zS*u&MIjB##XvWoa7>~L1egyID#3GPyesF3suk}WHP0wrm9jQ>5~{(Jnkfi9`l zyT+YzjcJ2c_2m2xw{nwcPnbN3)If{RFqj+{R!~HL|5-VI#Pj?C?zQXSzDTL#@kX?D zboOn5!fe)xk^*=e@9mEb!@UC(RI80X zab;L(pXf6NqNiN8*Z8@}ZDHPcE1p6+w_BxfRRYIn1YsLU=S0ihw%!&(!0iNG&scYI zZ439OzLibbB~#jz0Uw5Uf9Zm3=Ec*i1{|1^B~`RcVp83wTz!b+9GdRjYFZyu3N)J0 zucs#GiyuhAzH}Gpe*Yj-T53@P-{J&uSdT)?wP~1OeDvYNB6C+t1oDZ(ho=4<8mxg| zisk3;cBMy69@rGZ>F+jGx|nnO8+49WBZ0i#pxcsEk+lv{l>q(LwCXT3ui1H$?H7Gx z+1ti_W|^?na=D;ZqOX?;YeIc;hwh9=GYraoas<;!fqn1ZVzLB=Yd8RI59m@?&G;5I zkYv=zbk^m*Rafxj5i;{8Ag$LBF)}bOfJP(k_lcNd8H?8W$yk1!Iiw|!3;PoX4N;=b zh{N+B-!u?#dqH>VPw8qtRZckjda!_$$foA|o0AuuyK5#sv&Nj8^0W8uh?{|IiCp87 zpCQ#cylFMov%b$bF5rEt|LIFZsP_e2SJ4N$@CRn)deH)?Sg@uD+tN-J)I88*Z0Lj7 zLY3q^mU>0qU|UvWf{I7Q;3@1mws{A$>|n0bdU-ary>JKo64}JxRAKLCZFE3Br`|zzBBKx((A*eR)ymHFUgIz-9S%SpzCQC$>fXvlaKB^0~9 zP@>TzIC}CAxo`aSkB*s@`4&zMxPL(RKuXqI0QO5*FK@GQLAhD{tOlBIh1eVi_3>_} zb~WveK9X!hxmNiIDOJ&UkE)KaSo>nU#R>jZBuunzyJ%7j;EsT9=&_AEnexTWIXX_0 z|G8wgXyH6tsoMt@KMMi!qNQ04wgh%V~nFxw60?(S6@ETgEksYC6gTEtNAmrW=N z%b0fa1VUt42jou{rK|ors7`*@i_)(S!DH}WO>_R@&$%X7iXN9hYyQy-*0OWrFX9LC zPJk{3J5>^S{?0Nwdq)0ee^JS@zd3kFVlVb?dzgi59Faeg2$?ezFZUn+*+{iXNW@x0 zh;TbyI0MBv054xRao3!XsjH-!#J2dmkZD4lA5lf$i^~DlCj%C#+~{XumPm zrm#R1p#E(VwQZfak}{A|Lg=E}!FB9yGHVw3NKp!S{hb2c>TABH&&x(S$C{ZA-5A~D zkNLqWMp(5MkhT2sHj?n9W*;L*zc!-_!l8?8#L{+z*(ldxaGMHzt^2@Sq~d|!2IQRv zT^wi+cDxhn_0{7J9hffZ&zK3QRrPTYjBr}JDFh#qX+&WDO`na;pJTfyzAHV^5Vkzf!PTl?;Pl= zLG`VAajg}`UF=XS&M4Y0&K9ZS_Dp@Y-rpf3fl(d#-7aS)`uXxWukI0oikI7JttdsQ z;$}%Vd*{cX=(2nV;Ld~YndF0u$TEklNsIX&OT>u~rHS<6rE7<_acOOeWVt=XyGK&! zE7$M(b{#TQVRRE-t6`egDHfjdUu@#?TdO$C0e1m(fBDRkW(|#I3gw}i`45JT3He+2 zq!oXB`<+`2mWKYHM)cJ81g!E3f$V)L_z`i^xR;2tl4*Qu+WHI+3I3y9@H)8&x-;u! zA1r_T^8zb47X`%yCKNsO4Qbj8c=}^MnKRP1D>JqfEmgN4MXn4R6t#onE5qWYgiW#X zv^IHRJBYiRa%(`|CD1j~zhcrP<868mVfQN&F3xeb3Sc9+nX4PN##0YFZ3%|AH=ZqM!ObL@SN@b?shLM)qRQPqa5G zyvvm&0@?IhZ4=`Ru9r^nMB}#^+QWS*Z0HaoNfc#4M9nCXC+@{E#6jTvVHtE)13&GY z<3sghq?oCqQr$LoZl7>8BRoeQvKAYUIgp%aQ)Rvcb`eMKE0Fv(ov z$#QX^z-XO{phx)KkaDVF`Fhs)H~^2~QZb?hKd!gplzrXrmbQx%54dZfyPUg^n!d>? z#%7HXG&MUaBI!sHr}rQx5c9V|#w|$iFNyw#-WkOiiEs1va@_wc1#GOGR724n-Wh?x zELpeh1@CX`pxdML8cNYmT_lKR`uTdYEEip?82eFsb3DzQ;m9S#ew69c=3TlKN5yc#`PBE3<5oD^}B-=oS04-d2yjgoY33t#J5^P+R9 z#sPO1bP@mQ4_e7pDcbWxE1@{YSlHa~#3k+^eCgK?$Ekk^u6LBJJ9JR2s;g#FfEzr0 za-f-Ep;8cH?6ZD?$zk zWF0&8%tN29&nK60{;CqahAkcohx8*oh4j5GkBk)Y%D?rv|J6(OLAT0#Zs6Sn!dLGu zl;1;Vn%klmsEcB(pDzn!-+tgQm&xUvzcjpTbv|6Rk+N7@D}dV^jWCB zKo=99aDa~Xh??+R;{^33XGc5W9)hklSwx%teh~Rj0T~QAN})xvGpAKi%4Ed|>G9L#khLpZCXC8p$476WGNIE_+|8iM4`!%Q4d+{M zfO`zO{p1cqgnLi%bbfhx-WE0Ub9ni}<;j6I+U;}IQj&}h6hgF%JOrM6bNdfm#E^*} zBqb0u|MuT<5a2Z#-D;690qzOt9#6>fSY_joGcUy1AT}14m+UTQmBj8Y-^hpUBjR?) zz9P5hJBaB!OA8jq<^L+3s{XOr9Xf)?T%t2o`fmJb18`44cT8B|{jke-0chRMwx)*q zL*B0nGk@s<2Tf9c2NCve&`Pja^TFGHsI5GJ)6>akQ9@(4jQR6+>)Q?y&7VS^)KS1a z16>8S!oF*aJk zb&RJ;5V`w=TjB({$Wl?Fi(~jfQ?HE&BJ>^p7D9U%Hs--~OInAbqmvZ&MoK~x;9i2R z1h;YL%s@l55L=jkG4)-ZM0tQ>P%&gpjq!eh9ie#0X2y<`rY!C{Z7;XLU1PUaS_R2) z=zTKOVH`1`z7+Czz`X+9>U{mVT@o?EJGntt2?t3oLH%{^eRUietGUX_RoC+-_i?Qy zEX&5Wgj8P;1N(GEy1pm*pkl_M)}mO)xy~G1TA2#04Z}opeh2O3FWQmtI)m0`3jystFTN zmJmo!ub)SSce_N{hPStDTKRUcVux1pxf@u719?jz_HwEruNVb2TaLpKfzlJ19~3ExfA$FXBM?KPwk z{Uk7a0P;SAu4sobRPU)NYZ4hZ{G6sN0wn8c2-aaec4UG)_DooDYr{^5S+uW68L2|^ zz0D5e1(&351BpN{)cEp`6RZ{{OThiNhw;B3%MT?|%FWx(Aj8 zG2C2>cOa+Y6weO+ha<>;7Y=6p9ohwxq?u+QZejkO#PspgTTcU*l@hMDrGx*>OR` ztG4u_tE%R?YsG+df@;E=-0yZA@7{_$)o!WpbGTH(-$BwLeyoJ>mFbsk1-qtrHSjqA z3UqNjPpfBgO&D%gtr_Y({@EtIouGW&0^?VTQR8GIH*PwN$RBG6eHjrQY`dV|6!UAg zv)2de$3v~o#~ihH)5!TiUTDyL+KFIP(5xKk&cN0zZofbo3+_?FF+$(g9r&33e0lrX zVcyZT-q|(ZzW zcMqjV!drX$)S~JPaN$7r1v0-K|2Ne|GLQZ2Bv;``H(J4iGV{o?@k>Y_&P_0y5uxxR z%00D40M^m`Pyt;LOM+)>(c%qV2$_t*oK(&mzh1T@6va#c4iU~;jGy#PlC#Q*^^%FhP>NE%w?EqVx}GBXUHmR zgBh8{e}`H)FDxj+uY40mIAUe{feBrkHxqCXLHF4!aw)+jQqH%z0}sxF_8Gfx@z_F~ zXer3OwRYkRk5Z@qu7(U^UEKa5hFL&d5wY%voJ!kV8;t*;paOODJ8&Hy66op+HQAtG zLvL_!AR|O_;mgSyjP*mkOf08Bb zA@RVAfqV?6Y6aTdw5g^xhf!L%IxfXSuHTW&_8*8n^ufn}Sz(ob!yiv2m&Thd+ zJ4UnZ*m_+Tv5);;t|9_!#O1?hW-x`;AV))ZXZ(+Q0p`He}iQQ z>4<*Y8L-gNrRg4t)E3lCZ@s%s3%KZ@3n5|@YHa#$7z+srdDQK+qtB97<86p|*5Y9{ zFVX2D+cw6Io{AEJ_?7urs1IiXe^oKQLv=)Se9%EvQ>>Mw9s^tq(3OsTA}^5QVXwRS ztzven*!(VU!ZxuYj0R4`#?6~A*hI@xAFYJsj4ZF0QE*gAfNw-q?W9-kk=zg>yfeGqQ_%uw^@d%&mRi8Y0^OZmA*T0VN!x2fPpgaJs-EQkSzz_urg~D*g<56q zQYc)J2RUb9`;b`04Z;|XffD07o9ul{p#+cTMl0KknI9hDVuLP*7&Xd*1l&r4dOS|O z=tP`mzqpED51IiwQeid>ainU=-S(IPnZlI~rm>_$`N+pFx#mGvp|{A7c!(=5N!iwb zivzkf z>kgAC3))F=H4{BF=t7DB7Z-FJjNzZVelqR9P<4fIQ@1qcz3ZDW_HBf>KM7@yTwv2j>)Amx&L$ zk$MN;OW=vQ_7UwxwGVtJTFul9vD%J*ko_6Tt%5C-*uo>Qo#LN{a7P}E@>L#2OD@y; zT+!A1ky6YXKg>{G1;|SPx^Og~?wFO{4~UkTe6&gXwfom{2woAc^zcCG{mVuG!CNdp zg39IF4H@?@=^tZ1s{aZcviD`NtGGWo=N3d!`N0ghgrJ+6yGb_JP&b-Ku&>JY&xT4u zMsgYNc$Us?8m=lEba%s1QtOY6nLomq1;WYkE}2!Dv7FmQ;2hG1=1QXGvlQ6@_buou z*z{&ax~EU##D#vZ`wG$WHT{Ywm6a1?ZJww&CaCVmsek31S5C7uU+U9ho2l^j^G>u1 zVyKihN;x;#j2mG!;1YrEuJZK}+Lt<0QpwK`75VvmrYA-T7lSHP{TR*P>77{}lm$Kr zK(J>q{={!~NneW=*u*PKUTjq`Jv#G@`4%q%)=P*%x6+$y{bv??XA1=%-&T99?>g>A zb=E{EqZN|}dLp@#{zu*DFK?IVLo6+?Z}Z)7#o}TT+6oPO_EgQ4Y~6*LBf&Un8R#43FuY z6zc}bipFhXDFxt?f^PMV12?m%+h*lk`P2?2$#h7F5qq@|SYC@r*9WUrIu<+QY$_&qfW;ZkCxt<$Sp1aSCv5J682D&Q@4-PA}qt}dGoZ&6i&C$D}KTAp> zkNn^0r9p7CmGbY1-8##M>y@kh^QAUVQt2PT^?0)0dG{MMEqdz+hl=33ZF119OmO10 zt*19)CCcgDb)7VOCP=x-bjq7JKXgqCF28?N7Bbqj;@3i~huQb<8WA66G|X|&y-xd( zUW%ad(Hn57LDx&fLW8AXNcyOaHm<(V5q>99`ABke3&pCr<@}#_DUt7(dXpnwDY5KY ziY;${X@?u1d@NMKl&h*qVeGQ_>Ol#(G@#oiy6xZz)m*h)*W`7@kMi?TOUbJbV-NCH zGO*@@R~3;^xC$`}4OKnX7&ZdKpC!J+jO$?|$S8>u4S~;f6-wZ`cv{eP3_ABk97w$8 zBTuXQxu>O17#8JuLlPtRbb z{k~wj+GV8V2fnNa4^K`L9_Xamr|~fswhgJbbD`Y)4wkz=i)c8`?kGw9j(iW9^R#wc zvrGZFjG)Ug19RI~?C>0?gmf{G(*d{s&$n$={vLTAq`s?IZy@EFrXz~#svm!6`@sR8 z!*DUdd@kaRwMPFzF8;i))fp)=;4*=(ROygFxJTq!(GQKiWzqK>w%WF(QIByplSAmt z&D>#eIxrBaQ%ks?Yw_D|Ae2z`eNdf>3j4jQNxGt(WQTnzUvO&l+qF#;~^j zi58vwQ@K0()z1Nrg>ps(;GluR?xkiF0Vjl>wwF0(qG~oTqynj*!vQ=9NM=1 zyNC*DkBBIel=cPLl_h1*R%tKN9?6zHMA<1zmh38IEkr`dnzEE#_MM30f1GpAy!SkJ z&GWvW-}}Aa_y2y)^BiWb^O)L^()R28#yvIXr$-%cKKjKw-TLM{y{3Gfe}Z>I|P_s8cc8Eq-f4}Ra^vB|V|YnoX%o|f23OSSKYghpEY_dv|} zdL1^{|2k;WrO_j;nMwv)iQ%o5ekqloI(UChWcS=ba&^AkF8vyAba$X$QlsyizJ@j& z|L%9V;SHl(3!bMv9;#R3p~|z@oUb?SdfeLbNblCK_n(RTrvB3PV$kF*U4}LAZr9yE5jKn%i7cD>b)IjTQVt-+fB&lT{V+Fe1lQ&W-OMEckk_mR+7cq06X-CnK_>Ci) z7Fu^`arP#EePPMho3_4_er5lcS`UlOuZ+{rSoLAc_VxWBuXd}3$Y2K$Pm-rd|$;`d#zZ_6`tyBr_TGRXCo9={x{ z`FcB+Hn9G%X{xiFbFb;PKlFbs+4$P&lKwTv4+~E{yH)?>-mIwb;w>&s8||2q-Shj) zDf5H1vO1r?cTVNF=C~$NIScmj?6u+Rb=^J3cuPVwv``JcWKwY4OYC2 zI(4~svzSq)$9ipP@^{4W;8Enn}KMfUFv zD?1$-t!H>9;q9GYlNY)k8|pIDIIO5uiE8}hLpxFupY};Ow^FUkmGk2otV&NV8&r7J z=7>Yb-k%nC?7a5^Pp=(cZ}Q2l$2~_BKG-fFY<~EV#g_|_<&!23n3EVPI-C8v&GZ{~ z{Yy-e7)N9WW#c!?m3?8GgAG~ z&y3K%_c!nLnAUR50mU$nqmM?9)|z?l$LjvuU!QxEH>1hK6X{J#Jw!L`KmW38JN|i8 zk#i+aZ)d(k1kUSlzcBGby;@*v4?f4lERc6UO9B*>%IKWy?^sx3F)Hu zr4{iTc9*@qw{PaX_>c7#+)MpG4gX~pq1L2Ly9+yGj%FV?H89h%#A@jC^Y=%!)$KfbP2N_g zVE^<7rY3cA<~B}Tp4@kS54YKON(V+-m!$IdCwuVq%GQ6acKEtea>3$X7Ol$H>s83K z@GNWIvqjJA9~3LP-PmgH8lZS&kZg3u;zz>{=D}7cd~Z87~?R!zo%9U<0T#`bGpT8$N9aG zDWA7HX!+czb#m5mMPpv5X3pd3?ZwwScf-t%4YqC7d7W=Db<9|UgqLTZEZ#RQTiNSd zVZWk%N7h7ajGnfl*N-tR&L`O&3S01?&z{rs_kK8*e$B^ftNw$5H+Xt`^Ysqx8ls-Q zF6N7I)U4CXiifDTzx`zXhbiHAH?B*-uSe4zX#7#|$dRVm_RIo@cMDcW|CJRREP3P%#;Oo_?ANghR!YADte)^ge zKl4Pn>4;ISa%0XmO^TRaW~EyazVzrFcjKMAW_tCRbUeB9nAN>ny$GJ3V6o?9{l`6J zb$0OoPQsC|xBj>uN(;}2ICl*ClrvhPUEyk(GjiEJg^Mq$=NrAcx7SFef4zf8GfU2- zwVK>|{JuFO4sEMDy@R1l%))n_8v5R=_`)visa>+P#o-L;5~hz_YhMU+={=er;TC25Ek}-Nh^T^-rHeN9q*}QuXe*$*?N>X3L^7 zrt5rtq`I#nYf;nXKl+soSR0(QS)pQ!zrOpiCWaf8p9P;-r#j``fZh}I>pXwucI2Gd zxbptJES_|D&$HKwuh%{L$kQ7Km)0>l{rXczk`>_6_UZx!CsEr#dZ9yyWQ}#Mk>e z^r)w3*pYt6MTa-2-MaOB=kO0r6h_)@cPj7v{6bt?n``Y$cX%tR@2#*jj&u!e`Kfg` zYZs3TdEWvjIcIm2mAS^#JNPepJHD8sdvnFF+cNK?T*9pFb-Ei5Ibh+_%(=Z?%Q{_c zhINw9@7ccDnKiBTmgUPFtd}`6sNej~EicbXDsD4m>hOlcczTEM_4=&nT{OpSP{HV? z6J{Hfebh)VEpaj{_^erAez5V(xVU*zQLmo{GMp=V0Fy zlOMkobC(&Oe%RGzecal8MjQNp@}HZI;OqU6cI@n8m;E<8_WL=1)a-hT>ddRE)BMt@ zIZyKBmEWJw8ju<87*+hqHF#y5`Zu?hYi>^|Ze!rlxT$t4=gCJuA6&JBXRj+?Z+V?- zI+K5Ho~Y-cU*Y&E;(|p>gXli*d%v3dpjq!3EiDWR(tS2owELWyGhQ*PLc?T2R~y-w zvXfICW7CpkO4ZUv@$`=5>ur+U+we_=Ome1M-H&?Pk0*$_&CSVuu-oNYXjt7xY0axV zM;atIw$R(RGk$tN!Z)Qy?Rxi7i~CyMzj;elt&0m<>htuD;_Ef(a?0x9<^{!#da14$ zRX50Ge&WKZ)+fd$eQ#G`y+U-=rIGr`tA2~$4BXpF@7VDe%Zd>froODFw_yC04hL+e zk5BBy(>t24x65k3d5y0Ze%GbGZ(u@L2+=&-ugrOYGE%9UL=c2M?v zuJ8G^!(2o4ltJFV;_WBT|Fr2^+N!%gZ+Uvh@bykue{r^Qx7HuCF5GFW>3-*H!J_`> zzi2kxvNYGlx$*Y_Yd>DHpWHn;z*))i(B1F}D(4mK@sU@r!Fkadv0GoPiR8bpF_y1a z#j*Xf-*%6a=f6zslp~k=#I3V!#k7i}-%U^FE2MR)tJ8i;f%=EgxkuFNtskqfZhM3A zLqzfC&mUWICFgByN%V=iJbT^vdRq-vN^^~Sa7s43yLRb`GXr~EwqNP7!(?$cg|8Mm zZ_JmSO|-n2bvZxWwr+N-E;{iA4TdD=G}A8pc5}9~<#Cg_{O36Ce7y^&dBub}ztk|$ zcdT=Ek`#G(w`GKE3wB(myNlz9&e%8FN5mUH;D*A;~8BSN9Ele@9_g z_?1(WVE;m7k! z6W`Tq`_$&b?9WQjEAm|}OMciiRkaSCb4o7%BZZvE#SGUZFf)X1rQ`pij4~WGiN3NS z5_ts%n~aZOF8{xiQ9dSkM*2qM>>U*Nk9^e1YRiRMbZtARErZ&2Kqc_6wS!uJ`mdMO zzgniX_xo#;60TxqqjuE-A!8 ze{aN3qgF;GP+KmwWxzCp+Wzr>pf8X=^$&^&3iO-umo@hP1sVBq^5Jym?;recmXWQB zHQ4;8GOFKj--wW)Nxq_pK_XEDcD$^W{qHFksw2O^V4tW^kw|BRNYsd}qgvUYmkX7t zr*}wrFwUuCL?Q*YOlxJe<$@+r+cy5qWkCHc*w@!5$QR#Y^%Jj+shn$N|K2j7at`%E z0pq}&rXzRFooi+PJIjUYtzo!GglBuP+?nc-yXMZdGEr=88T{`r16rrhb81?b@Y`;! zthQXJ|NcAMfp~5aO|M&sp3Rl4kAi(`W&hn}z?8jba7dt!NR*Bb{L=VE^$=Vut1W}t zc2L_FYW+d2PplmmYRAUf`9bX*sdi3SJ14B26V^BMaBq{q;D|`i zpdgc=5bp_ofkD0|!@_-iyXu;o>P7^{_=fm((6!X{3<~rQ4)LRn7WVkf9u%a%N9V$H zmcFM}CN7=Ya;a?_wSA$sFNjN^wlCE7h1$MQ+ZVVJsPzZ6{-D+$aJ`{+u3YO6YW+d2 zKdAKwTnW_rgIa&^|Gz(=4~g)V3f)%^GX8IslB_;t z{NLXtnLK3t-})t)0%T_ZI_Nu>^iGK)!a1yrA@ENFg!#YIPV$D3?U1^!5yA;vB=)QX z*-|N4W607=|RSQXPUm7 ziJ(Xy|L}iXf$nPq8GV6d zZUxjLMCFSVG4CwkdH|knz6*OfqZ8_}^9~nGIz8@57SJ7BcFi{KF11 z@(ui>6J*>sb}5etiaO&T8>#!cK*s-;H0iL1jQ`zgl68fQ|4na_b%TuiemIpaf}-yD zhyM+9x~~UhdQ$23giJ?D)(bNJ@0n2C-jMNsJB4I@AZy6RrFuqChF%9xw*k2k^#rDQ$`$4SY25uPU{^Fw%!l*}LDSyHk9 zgacWb6Ks(~x)i2w>hh2AkkP&TV*VOhlO4FaHQexDP9%Z)ehF2>u~| z!aqV0CSODceG9WL&S3}}vNH0&BnwA4m2Sd8exGC!kZofm;&BdQQ6yya-C6z-1=%XT z0N0Zsqu(*-ACnNvqj~S4~@&&k_3E2!OSuA9fZ#rl$hal4ibQp=`pV=U&z48xgKVf_UuIEBF zj+N0|g!EC{8_UYL(|pMAXOzrA-@2pw7T_NjR>qyEEjx1o_DpTQt(0sLWcE_B#gMg= zl2IR`-wWj*OCZCySD3>Gw%~u!Qpotf-9Tgl=>ypWXYNSEHUGD#NWP4{uPN_7>dzFH z=0)7Gf|cp6~{5iXFD?Lqjmlx#1;7o}wT5T?BFk2HiS&-^1DVJd6>k%4eCfW{l{*pF*!dmcR5 z0bJ94G`4WZL0nTC2l9C-on7&8KKaN30{)vAa zN0|IE|Hwj^#sU73jqonM0M{oVa|HPIokVy%z&}nQ%C@(RitER5LS|s z=OHWM3vhh_vYS$}e8^~==O5Ij_;pL% zCCG+I-AC=wSxQFjcDR)63c>@WWLFWUa^}~`HH5oJ-FF>fJ61NHEd%N=)P`uh=8l`V zw&I0JPJNB;3**Ue;aZm$ru&KzzD^gsqZl%Z8_v7;Hm<2J@MU)p-ouMWmvcT3xBz>82w4j$*(1nkp2a^NLq>BJ z{_zAd_7kT65I==%JR6z_TWHLF2AS7C?hs#;LFO(cBj4vHC3^wcU{)3iefVGW60&|$ z_q~FwuaxXHWR6m@H;{FclD&njtCZ{=WX+^x?;-0VCHnxGnUw4!WF}IwPmmc)$v#8Y zK}z-oG9xM3SI7*dWaW_2?^-UwnLEDWntnT-e|(2bgD=2!1!VXp$6t;gknz8{PUKI> z_}`-^StVrrZ}pR`3Nrrh4Up^?Wc=SuAQ_E!x>SMu1L2lZG8!vorDPPQw!lB?Kt_Io zf7FGH#u@(DLwkQKrS79O=v#h7T-S$;`f330UU|qS@xl~E0kV!#GTL)AlakT;+CoZ3 z>+lXzvPO{c{Su`?bBIE^z!8pX{Ljoa)TH7ngJ>Wnqj`#=luQ+}dQvjlCn#r9z*vfF z>Z`P$@Q;@+S&rtHpV;fkxF$8Uzf;P}qFEX3d$~xZL37FOQnIFyb(NB7Lq>Bt^4;7) z`$|+F{IY4z%J}}7_C=`9`97BBZ~Hh!?3vmb-N*N_)E<+;lMm&NR*oM)MFlX5yMI$Kia5kx2gWge+eYWUjm*qd5ov zpnVgX!|)Fu$Y>ryM=Y-CGL8lT9PwAaDpc3>*QD0>^;k zz)9c~kOQ0s&I0Fv^T0*mGH?aB3S0wj0k?s>z&+q0@C0}YJOj#r=fDf#CGZ+}1H1=5 z0AGNwz%M`sl_d+*0qO#BKz%?SPyiYN%77}M31|T=fR;cjpf#We=mTv41E4)%4p;&< zfIZL+=n3=!dIJtXU!Wf_02l-e28IH|fDwQzFcKIAj0VO4V*xk79iaK%IKT_=27CcO zU;+>XgaG6xX^s#DOa`KXDL@P`6_^H02WA4Xz-(YHFdtX|ECLn-H0NFlBmjxPGGG<3 z8b}5<0^5M?z)oNnup8I|>;?7#X+S!V0qh4300)6g;3#kmI1Xe1CxO$zIp7j-6}Sn| zy0i!=2JQefhj{=z2A%?C0Iii?0dIh}z!){$OqE+MdKv-NSf!++>?AL`Bw6|I8G4{^Q@}oA0EdA?Kq{~qNC7qh>wzR- z9k3Qy11tyPfrUUEFb|jm%mM;|8?Yk)XMey6=nwP(YyoS)5J<&6+kmyeDqsb$3`hi~ z0`b5|U=$Dy3na04g+E&~^Vt-uyw z1JE3p2&@2B!iHBsB(9BsOkB^vIRXdfx_~7x zA20{z0<(c&AQ12ch64QoE1*4K3UmaN0Gg}O9FFFXt$-g$=QZ$-?!(y_D8jWm&JS?z zfpZqlX+Uql8t4pk0_*@=pc40d0Nw$Q5q<=m0kVN~;3MP(I9~wrfL!1NkO6!GcM0cw zpd8nqfo}k<>vC~E%U)Ah2uk3lAbvC4+Z3R)Hhb2=*%9E&DNJ&{?4O0(;eOIf=_ml6 zKodZVJ=4715~xDB66l0`I|IqM4grFI3BYi`6}STw1K)t}Kn3s_xDT`jdIG(G0e}hg z(7j)A{tg_a0R~4qa=tkJZocS=TcpRFtI$!?xU&?xmH>-^>A+;b0~iQ!V-NW#&Nor& z^?(L|B2XWovXKYs0K}1u>!%c^YdSXtv;eNZspDD=XauMNDu6OTZMHGM@zgizJ}UdR zKpTMiG+mQk3hM*9fDX_cAbCrGdIql@oXwOsLxAE@nNd6{2ePlGvgieQAAoNY*+%h5<^=QyD38=v zxpp=Z*VM+x0%HIdfZCEXK<$$9L1(&;#;QR8@f02n5I-Ck2GjwD0z&|jQ<&}>1-Jrq z&j^5I#5ZBDxv`LBWEaOr;W``$144mu?0G!SUVtYM2m}EBfG^+!cmsayHR%cgf&tFA zO~iEsK)NG=NkBAEmpxC#IR=;lOan;AB7p3pyetIhe#%cAumFe!C~q?WDjzB{%0HcD zfSCa4X$#B(xH6>he1Ph89xxY}1Iz}v@~3p^K01?(uDb)IgR?ar*OU$y=FZz8{8#6p z%WyBvMHd6yd~^Y>X-+y9m;=lLVgc#7sUKwA{InmgX^z?(NPR~ys5?Bpv1~vg30Mfk<*vN*HS=oA4mV$E|q}dXnaWNC&UBFI& z=4z=p>#}?coR1)U9pJ`Ty8i~S2iOgeEnNH^xZVzsE{d}c*b5v5vVh~jF@VOEG=Su! ze?M>-NC!y&K_CM-01$TwI0Kvpa)47nHgEzs30woN09Szm-~x~b(EVqDT!8L951a!o z0r|j1;4*tn@hJ_mM`%7=2jxKx>LX4cfLFjvpai%HP#-E}&-ZY?3)}&21I0iQaErYz z#rXyB94G@G0QZ3>z%$?}@ECXmJOoHiVLHDB-T<$Gcffn#H}DJi36uk00ZRW9Kz4ox zz5w5V?*Q3KJlR$OkX=83DxeZr32<{=dE~hsAP3Y1s2nH_S)6461%U3U570ftHN=_j zrE5xu%0(GrnnTlEnv<#Gn&zuyn-)*5iED~OHgR)8THDaPkJ+9knsCi|*mtAl;h`Yy>v2XZ|(GxOBGSdJC`>@wZ9IPa>QRWC2Hj!@waR z6F3MQ0QLhJKst~H>;v`!dw|`*E?_4>2gRX-;?O0zB0Pldez#HH_@DZp0J^|AZuN>#Ez-QnK@D2D5 zR02PNDu5<1B%?iwx&XzmgENso+GW< z|2OPA(sNj3;U9nVLi@F}CrSHdba4A-w3k5py3~%iyaF*Gfs!{kj0{ zNkt<}cGK|)Bp0UpNC#~j5Z?;tG7{pL3baL-_7chFGvMh=``4t36Ws9+y9E zPln4=1$erJ_MGV+3e!RPpnJLdXfG50|3fe3Ljhru)1IevxzWY}#ihMYP6z3wG^n2{ zfVW~fx`*Vn|4#Kvd?WBAqdgkZP5apt=H$xYY5$yLnz)}p@wmNnE=}6QCOgLgxcrCx zoO}Xgq=Ul5(;A7N7n+aKK{DEZHv{PY!;n#WG=5Q$arV)ilH@cOCR^xUd0f+6kHUQ2 zlqUHWvabirQM)BwTsktS%zEJK<4k%Q<4oys^{Gcvq?sFQaW5aAB^k1Ks4?n`=+t+x&2rta039^lO=uy zczV`C?VIdN!I`dUoTM;ayMU*CPs%rqkJR=_PW!t#IFlX<)0xI4vU4cV0Acc-!*NZ0 ziuO;rw8@_nM}C~*^4l+0c3hr7GyWJSMmL@LWkfvrVJbha%*h8+xpU=4K8X%~y_1N_ zkL;y0>EU>KPD64Elbq8_euwIrd^0B_p8N~f|2W$?`$7NXy>Bnv$A!Id&H1H~He$jw zTYOgRGREB6Ey@-jxwHPq^K7%fe&kMBB#OPzA~HGdR=1_HGVbOkrY2^l%oB>Z^Jc^`Gc&O>F=cl28-wYQGjMH4sENOru{ALh zc}53@L?E7RMpfeZ{B_^Jn3|Z|n3yv=eT@*uBYsi2-wwmCV604FgLq$u7^{>EZD!q4 z8Un`J#KOb^v!3ukANqCrkmh6C#ve=^2F4OrBaSQ5XoxtAL|Pg@uQ%^1VYn~1&&vOD zr`r(s4Pea7P0SF<8*$KQV;wpb>F=Lic~4fx+{D_%5>oD0PD|WPha50Ewghp^O>B@I z{KlK7cO>pee17|W)5NnYNt+E!FlTmSNZZsVoqq%_80IHosGU-|wND!v_G0_13NW^a zg8a+@L*+JgOKeciy57-DI@Xk*M~-fz>&PgWeSDtCnY>zQc&LS)mBPD4_9?w#?N-SDih4 zxg#3~7HEJW+u{y4-|64?t^*iqAz<{ukZl^lZ5+y)ETsIfOjK~7U!bp#=w)yDa`!x? zsbI_y1(71yblN_uY+Tj;ajYbcmuFxQ%oE*x*)X!~Xkmzi!Osr(2K&HYs}FIqp0_Ur z4CMzF&}xOsdfj8E$E&O_TS?-?vFS8v(Q{1eS%!zeuq`AqJS56L0G{IY@Sl$zTKAX4 znM9w2gax~d%KB;yT}*8h1x@J)TP&6IUuo8|1pR-Lb&ZVPR!)ifuic0G4^LcrJh zhG!&|st4YuDkna*^0T^{KE~*ul zoj#3zCSjr`QE$L}|NNzg@>BbL0AtEDYmtv{Sd=GP!u@fU!xmURi37v7DxW|7r{_%qi02U`cRdMHU!@)9+>-MKNvIgU@#NI z1Bno&nOWPNXjO8AVW@CKf07^J(h)9$9`(how@Aq@SXE;{KUhHi02T=M#=00h$%pJP zZ05HA)+iOkVOy0d7|fbtJCC{bbKl7U4Ve5;mHv%3;kF~3&NQS$b$Yo~)9yOwCiazB zkO-zZn25aD&kv;cugh4#oaLKA*jGNDMUz?EQ2!<^KVQtm()1GO~ ze^=YGC^Tw2R+JckEf)e$Fjq%Je0S za4iUzf$;bv97ot6{D}qb=<-dG)3B#K9_Az;rqP*gy?;_alc7xy+KhTRobEOE9ra*V zTN0RNU?xt8`8esI>m>>ECsqrWn{erwGCmqRj&gc`?sUza8z1?-xiI;S!z1#%cR%e)A)`^~9qlGiEITL!;TT@$DPOie^8O zXcNxqpS0^;Y&zS*e0nyTd3~oO9pO3^?hAR)rVXnVJB`;fa8SE1(I#A?0xcc`obZ?> z+zy1x;J<7E<}SkN2-m4_{rrgq|EY9@bNcVi&wnZ%VXOaB9w`sbfM$a~qb=XYW|#5& zPAQm{V1C8@&Rd!lSuW`%m0-w+boqRv_p20hISHc%Rpbv8>-p_-d0CkwVLF0Aw~Or< zxAXM+ZT4#_ zupsC$U<1<}JMX5cZ>g;tzyZ z;=(;E3;Cgy_`6=7#Tt>PXvd6Q|M>WNMfqdqzI2Yr@{#t%a}q{iegLohCmu=ID+|w+ zh09uaL>De=;W10tAN>SfJ& z7vWt)VQoWOi)*1YB04ACuq*9{u;u0thW2isRXun8tbaxs3|rRKE#Tq^_ibSdgtbk^ zvXyFE^H=LWr_yiI6DaJ@(ld#9V3>aT;BbRtrBAfeh^Gjapn^gs<5!vjB5jVgF^W!o zN4^TXeCQ5%ViOoK5s!v4?CtWd#H`-VFnG>nDq03@9gBk7}5$TiM z%qN8n&eIMPo~Ka@sW4>zDj>Gu?rYaN)m={|iYF;(q^4WYEvc-H(`Gkn)%i?IDp4yu zCpD|~R8d)`tC@)f%&Vcjb!D`fie5q+wRqX$u-G*{%#BDJ8ayoc3WmJ$kcCBQEk^cN z1cQ!1y@YAK#(@zD8g8D)jwk6+9Ban7D@NiL|6=E&#zjT-u-|(U5@l!+uDRhI#I5Q? z{1*rH_fu#-iu_Q66Yjw^)HYkEe$YnVfAfrz){Zmkl6PU5n#+ySsi7UPeXgdQiU;l( zq(kNQ;gjo#wOf`wBdehc+UA3ya@(959+S0Qhb&;38d?==+X}>?zMzmYDfsvL*&h%G z&yuJXgvV3i5nXuv*}___t|l(n#Tsf(sX zqvnt&+b68_N*{r8gHNQ_462Ws>I#Ly|#XjS{;I% z;w2DL*O_JRDsGVLaHCLO!t?>71Z^IhBjwJ>8u>5`^A5&PHjd(yzR~vX&3wU_iJxz~ zfuU87_UORNU$4x;3XBFbOV}0whWt)+*}&tQ6>?t@L+cg14b8?`^88Zg%tnI`5re#f zna!r-bIE*2VZ9!xAL_s458}a4FDXvQy{_D~&Ths6rWSlGj4{-C`@TQ-BDPoKMkNe` zX!xrW#G%^OoM$b+S-;MBhOsok+5&O>eM3+}&n?yF#Mz7zYokb85Qoaza8ygrO8;*t zQS>=_8Ax;xOhYh-ugWizReVwknzy1J2??YBc$n6q(Er2aw17||_7bDqyU zSpTHu7KVXGU>Ljt5h=P|Zl&cPGl={F6)DQVKPVz7&~J)paJz>c#y{RS3=H1*A?790 zq0%wjmJ+vW`yysOimC(i35+V3wH;k8Q|D%+GujxBR2TM9oGN#@ChvL_?EqtrIR)-- z#4$jNd6hjlVX@a40li$^P)56rz4;XDsOKc5>()nSfkpJbwj`v{5CqkPg z7;074cj`JuwF_>-#9?yU4U8I?b*t9C3%{vB7ML;<6wwecR10U;m9~%BI-i~u&|m^> zsu62V$&Ju0o!6<{t%dA=euC${!I#35>!7?yp+u(!WF3Xx;_{cEk z)Z{mTA=_kC)=ifWEA9k_I*^&AXcrhP(_^(QmDXNca)6n;i0kJZ7_!=ZL+P`Nz4kJ5 zBrve82n^ZwG3}h!*ELO;5fBzY`WT>eZm;gqtUP*ge(m4)>tZw7hJ+DpPDc&>6^I)jv+%sL%NB90tGjFCA@J1;tuenv- zKpe{H^sGAydU6dDC2c~n88|5JspNY>4bF>TfM*Cp-nzF8q$soTL#m?Q0bhx za&1AUg9@~!Wtr;UpJ7m+afqXaI0GtQ`F4(f%lQygUose~pB+`%#$H>#k7cwmZ6_5B z)sMR2wn6(2sbx!;a8Kq{DN)A5iX+d$l}>@NV3y88Jqxu~4sEm-FuTEmh%1%#C>`pJ z@YllmY0z0*r}N%4m^$AwhCDgz-@Jo7Cx)Ws8J|@4(<(RMp0S`#y+eXR!j16;r(bFD z^aZNoCn+eOnnpmB4l@K+ALkhF0&T+OR--3pdc8KRrgF=gyT)voPP@sB)r_NAT$G!tUAIf0>^27h#M{MN{XW&!ND zAn@)aS|U7bRA6wVt>MqB6S95njxyS4u!<+mId)>8<#x4;Nvub>bwQO29eWqpinXs-sn zl&t;%ZPc?y&f0m)E_11pBpuJLV%ySQ^{7+j*rpE~2Nnoh?GrgAlwN9lHD*Z6y9Ex< zC2?eXh|5~J|2c!3(Nnb~=`;kR0t?>f8n!%j@Ray%M^h7cWF0W%6TRM;m**_}ae$43 zc3=sH_BuzN-{d^IP@mpUq&kIdPGIO+sCJ__a&sM?@!qt!0EWES%tiZ>eUV$NP57IBB={9@H%>t0laYu2vdDlOtyYsgPSEpzP!rFxEr^c4Z^f}>v>J>zu z3V*ZMeqh1XJBABjHH{@G(fEGink#U#kbSb{>N6%k_$vXdSin#_(9BF-@$#5cDi|8) z(BAw!gFO9wgG9SCylmt)hEc0x{f=LF$V5aH$@p43?HK-ZF~gvD@9d^>axG&4)7~zCAs^D{vP$yTu){R#WcN0TSZ!&;RvR8R z>=DDnF(=z51_lRC42+0eSGw}>;Q3{y5+>X?A|z;%uc)0_>eXg1qP{T<#z4$Rp^f^2 zZx?TanMzgIX(Zdw6+~}YMyV|1VUOM$X_iKP0dXP&n3vtnJ!dI6>^Zz+B+DQ}!aJv? z{l%W|(p$NaJ=&hKmX(=-RTg=Q>TzaZRYJux4{@m64lmezv`=&>*#La-U^;?2K)C58DOXuvTl@l?TpAo+kpkl4Duw)Y_TYE-jrH_I%RBw)dJd( z&J`zdt2+9w&4m>o<>{#vbdfsyfnpCk!G2|2*v*pjV6Y~jw&NQS6&Z-ZHoE=8X47)c z2D4?2hUOcAX95#FMY$`E?epwWm)3J^xjC}hbSL%C2v_eNCUS>I%tgZVR;_w?V}hRrF`@$vNy#YV8`j$T2VxqaVsXW}qxnNq}2KTVc z&!G0A>U?TKc_K^SOz)$fH=y~7Jcli zja;XGd%#e8LkkhMO*kFlIEMy_>vZe*Nl{aNjnQFBl-XIx1)~TH=4AL@ZExpt3=Fk5 z%4XG()5Jk^A*1KIwb7o6Ogmsa-{f%5(9kLP*2elfR}7|2`iV6y-H4+GA3`k=JhMUFM>{R2EH&oZ8uG zznsM|Onx4)apbjny|JEyvi+j7e*VbZV85bd`7I#+^cf)K1tf!^O53t$WDcxoebM; zg(v4~P9UeyR)shk(6*ylq<59oQr=ulAg72UU^SSe(c<}AL%I8@cBMDOBQ4Y7g-b_3 z8_GbSjiOGgw|Fk6p57th?aEMdILAHN1FTl(8ixlG-xyv9MPHl)aVbu z;6MB&IJA+!4mq_qD<*2AWPAq%dL+ds7=H9x+BG z$zFBadaYQ({K*c+3{UYqv0bNwwv&dBJ;CG@ZKS5B6-@oW0^xFV@e*s>Bs=_f#lhiG zjBRM8f43*(>lyAH6^XyEw@-43O82|XT7b6W4sFyI3Vz)-Jdtpi<_FXc&_;#JO?bEH zKeh8S9#$*EYUA>Z;;>B3Axs%CJ2E~r5aT%L@4xN$-iSiU=)BHg5$)QO9B&|4h zRX}a0+MCQ!#2hufL(90{8sadsXp9S=kq))d{PeEJeTH?>g$4BL7yLnlCp~+?u2Jg+ zrh4B$Z)IxRoR~?UM)wrFw-LZfs#^emz_j?bf#SB)J862>>cli!&#~iN z^`|^sUx*0w5009M@w>U}#DPaUG?m182j4?hSAWJb1|FGa__C=Jl}z$t#ch-+ga=?W z!MvHj=;o2-I<$Ic{}TEu7@8xMeK_)|szo@~w2TEPR>cY8zmgkiKiel!b@)v%!!L?_wol50_a*c3(^>JIx=V5ryY9lM}3dq?FD z36sml8MR`@&G%;Bw3Rbi9Gihw)OSsHkygUeAD7K;!x{tRNN@Y z=3?nEFnB4ASsj9*oIW1=BC%&m`3f-XXf`R*m@&`gaj{~Yb^-0?v7WqoZNo59CK9eW z;hYBg`uf^fS&HTkkNP#FW$*8d)hJVQkxP(x=KWk%<h>9lnK!{QR{g&R~t3;Nuk)fxiY1-{df8<$=HhOdO^Rq@R{6%M1<^&lvo|#Vw@W z$NTRiv_2d`9C}|2=?K&|yi1MGB$znD%$5joou1$R!bmaOMj7c)>qVav_VL~k5qQ-i zIP&q(rE`~P?Cs3NVdj?mppE*1Qp}ajL8~h+f??O1e=>K;f;Q?UqfG6(c&lU@u-Z`F zd0?njo%`}7<+=MRU)BOxjdvqx!wO%icT3;qeV1AywH+`ud^>~fKf)uE@C;JeCkl^d zHNH#0v;$$Ud>uKZCpP8dcV{`S_%6;V(-H-04yEH070Pr+gH^w?)z@vK5s>N>jBq=U zj}n*l;0|lf+x7BT&c?C$yK+-S92MBMz+ds&ti3LG*f?mT0woFygiB|#ujd53*AnWz zTW#9QC@q#_;i6c-#F4M%8pTPsONxFxQiB<_t)@u>@b&(`8S5jX&*DYVU4 zWYx8g=cFKswo72NzGHu*4HqeuOX5TYhed@%`ihpe=~L?I z*5oe3Fzp}%amXth4|-|W@q-)Y2TY4cxz$)YOgs1*BTlF5f|Et2nroJ^>7eGSzo`Tv zbAVwU$mY%bJScw3$X1fsdi8xIbT=*zvmM@5qqC)Q#id=6I6`k;(R;)-J}bbtn-E7p zTay{$`J45$qX7Zm7wSmTX#<8z=Vse`$4&Y^b(S!uEEBO-;pqp%$tY1?PU&r}@C3DU zW{4oiNZOpac2QGpzR1g z!4)o@O|!)LQLAVjvgc~&k!*gT&2YB3PCM?}8hh64jVBmu@fyP#42=sro|;|p?!R!G zgb|J-%>0Qq;W*XXDC&oq*;Q|&j1NJbB2GkrXQ;2S&Vbt$tEM$!%77V9Bjzx_ArPzG z&~#VPk+u^VhIy@0_^mK#3#Gi;l&kKem?Z-0~ zykyPH`8t51(fQJd)de>SXM50|DmMOMMjw{3SneHjdPB-|Ss7bMXyp|e5)lc1B^v8_ z<>DJBdCb;rDGo|!Fz%q*mfim0qF=yKBUu@G5NU&cGX{(nn1j7r80@?;lX|fDVTC9h z3_aIuW0c};_wB);JO)G0s*58sOSV-No{})X!O-}VK6B;^RfYE$%{XmM z=8LWFJ73hl!;X=d5p#?=7|Ln!Y|Z@&H#^joF#W*LD3kbM=VgaUm-Qr!C#%ir&aNqr zLu7gRnF@w1@Lv*jGk#e>tR&7#R@?ZB5Qj<bE{qM9;+0LdlP6$BSE4#KOM6 zGE?=Zu{{ej6n!w%B8_fs4Zl9&z*v^SkQRwoXt9|ka@bV5dy7`qcQ9C?)4WRh%YDk? zXQ5!K+tzHUcstZD0(o$3#5 zG^@e*Lq8a%f;c6L9X8B-YnCeRbI4B3Wx&isR1k;yPwu1m)e{pe>LEY$)EDJey$lR+ zFTJl(y&Z7OQrw}8J60xj-<+PWd4_z54OQIV!x5NWu3qNeTGq{q?DdGrQ{U_=CNgT5k;`(XU zy3VG-DVER3Hk#SliF$yc-k7k?G2m0P-5tTeV)7K85mSP_Cj>@b+2?D%)%fHhFf=%V znTt4$5yxe6`%PBY(|?zcvXEf7KdAOe4l|ni-{$;9}ExLW+DsfBn7j?bvkFvqS9+#8D;N?Bna|SKPxmM`b{>!9*|}z$Bj77Jjn){7E)Hupk=@d9hGO_ZgL& z5_>QVWA#NaG+WQCXmK|&cH>d_QFgaT7d@Zia9?Ltmbry{8$wduyU^d8(Vxr+GexV# zKHhD>kVbwxRHI=5UOJ*$sP1hI0;Ps27q@f*ioxre91Zw!20^1jEAP)7C zrx}iG51yXen~B3{tNxx4YQc&oeJIZ$ybL7z7W?C;Uc_(*Ss8kz!~(5Dxb4(jI`qm~ zNRqg{otn9}@==e`n5lB@t>#rIHIbu;L+#-1;R*Y+rp&-wVO-zN2SY9L{^321y@#Zx zfT6c%&=+ojp&lGy<*~hEhqv@sJ~W9%t9k&2${?*I>rJbO4wyl5+NO9;q~TFy`J>?p z*H!!7!7!cCRFse`wxIu^-w*GPeK;Hp+e>`I!|@KfZ*=L)vbYkHRhU~M4&&of5QpZY zofmB>F>h6I8Vt?WVZjMjTg<(d%9p*3X)l_3ur+?&VZFF?%7a(WR#)7Pxg~0W$xpWp zV$XLf%;4Uenf=LApc&dC(lRiukxtp5m^uT8ucLiSmhleoq>Xpc)hDw|oixYZ27^9N z7F7R>UakzDK^yr4=Z98eQL#sl|q1~bnh(n&DPp-Fjfx+i+#IX|R6z@tI z`vrOWuP6yP-e}}K+MT4{2n*yliT#0Bn7)1Y290gOh(G--s=lhG!lCwNmm-d{r`5)I&|)5)9ko3&Burziz18w888)<`N6`ZWhn|r)Lk1?R7*^f2u9_s~S>@a_-xqj@>NQ)7N zdTt_TR%1TpT8e5E^ZaqLQY0(&lbb_(6bzNED`oDe==g+Mmid>I@-4M zopz>%BGSPOmg@8^7+N#A9Fmze&E9$^7@GT|Hwu+#O*7TMj3w3n9-aQaUf7dA+$JuA zz6+BZJS8FjS(aotq4@Xp=Wd%)lLpGT1l^U0Q2f2TuJ> z4Av_s>(gLpT=-o)(sWN=Ap8z}ju^^Bg)D zj3>om{;W;Z2@F{<#jj{@vFok##9(a%3kHLs(os8fV9DjiLD|GmPrxh<49&&ly|mp5 z3wmPqL|p;SMHI@$sk5umAm1$~;FZa0vMrWn?x^m5H{YTkcEia6Dz`*1RMvszZ=X8& zDsLl3{1?5O!B812IRCuf;8SZc{%~b*gk|(^eO2n_&?Q=I0j+-uz>saDg1b67bhoT8 z)9! zO&|s}hx}-PA%BqFbl0oh<{DnCHaqOhfua1Uw;LnlvMl;L*=EW3#7->p{QOgwe$Tq# zStv97K-&N?R6h&*O>g zFJLf3I>*>Jj;W))$7S5v#HNEd7r{^&?CO0#^5KO*?7wkVmw=&K*s3P)qT(ERR?IN% zn$;E+pK$Pw<0DsM;C4_3l`LcAf6xAIegsA{R1PzqHrgr9X^UMiOFyW#g!iX7R606f zD4j%iFFCKGq*KJ;g=uK(0EWi7CszYHjM))Bgcxzp>I8<$y1je2{&3Z|@5BtXkb!JE zdzP!rUq5*uo(#bPxC;C-7t1JjyPGsx;Sl2wteE%kCxW3e7-O~J_*BQKKPis57G{DW zPm!2Za4Yc(y;VuA$`)3yWVP)yPy4E_7GcVy!|Ypb1EY;NM|QXSwy59UKjEH zI>V8&|VGqTMEiDC!xOyB!Y8)YnoKi7%bU)Vtu@|u+`Ev z$9&U*u}wG~-(BK9xBZHPUS)CtcIxRh6spr{V94r}x@%S*-PkdW%7AGGHSFTBQy0-f z#G$^B9=FNF@n{+Tj)kNA!d45nH{m+{lbrrnS{2Q& zsWS+-9pQ5OlQIxaN7(8=NoU_)ao-!OJafnW`>)4Q{a_~x9ySk*3fkKxpNdw?`aD@j z-?U(+Vt-Qxy8FZ}KB&vyw8%H=pCqkU*f!-faf@#nP}e#;`e!@Dp|3Wei3pd0@El2a z?jl@2!XEZdyya@-ryBGXUVx#w zi_NovEkDScVK0EQt>&*F(aV#^geWdVda8~c*LPKV2v%2%a3qQYy6H3v(_AzAs(HJ44xZbf6$Ma zTQbWZkslbUAIHj|d0z^`WT-ca=M=);Qn*zK$H_xFR8MKSpUxd_<7&l}4zr^vtgX6j z@QI9Z!f}M>+^CaEW=x`XVzxob&0Um-iSl%hRtn5h7Vr&^g7iXHq1=_E%?&_HZD8kRKHrYkL&2S>(Dmdrcag! zrgQ6v+I_l+C``Q<9zGRB)rez$!eGD=!0&3JZoPz6= z^JJy!$@Z*qpZ7S`<9^uj*6wn2ii|#4N$k&mT5F?U&L@A`c=5(tyFbVHa^^qdD9YZXx{>sp}4jJzy~SNAu19;JO7w`aoX}+!u2E9&-H6pSu6dcisP^;;#~pGM5>k z&93ox%X#Lh_k-mR43^XGyPb~h8=q=n`c$`H#0Lw!DO zzr5?t-}~q<|Hn_`SEhaR)NHptQz#hsvW?R=C1Ut$?w9Yq?mtV<(u2?mKl$J;5cNTxg6(M}<+FeBk9_r8mft2GK-oMdd;y@bX0kzT@=zErh+VUTKBbiLPy`A^XFCTJRI z1)LjC*1vNdE8sdB_Q~1@<5Jb%a2)txvW1ROKCopw?8)07a!#{7vxz~N) z-+tw9e9gc4oQ$;Qh|P7dz5i!^mmuYeIP?4T^UZE{bGd2uGr#BfARmY zR{wR3fWQ8(k3IY5{r~*2uVrkNy)s|*&!2tmw}0xLt8XAK`$pdK;+x*{?2rG(-~EHc zCI5ea8oFzvrFb^rjF0sbAubNqGhCHUI8Uy!{iu{XOsgxgUIo`Tps@ z^|3Ggt3UV7pWG4`%j3W7Ke&8m{=J`jnYhdte&YPyKeYIs@B9|3cDK1Wea)Z!_;0`R zk3R6=1Mh#Iv9o{c&wTjNhkoK$fB1)p3;mz@x?lV7FZ}4D{t$5~|CROc{|Ddv(_eh* zBg6&&_kH0H{lNeI;&=Xqj}jNl`uBdrORwDh#n1e&pCvAK`=7l0XYYCC-hcbpza{>9 z;-C2HfBL2OKJ_cV`#%sD{=N0*uKxXN|IS}}=GTY||1RF}_doUgPrmmJw{1JV@dIC_ z?eX;Uhv#T8*Isuz?e&OF)aSdBYou>2XZ5BD;wplVs&&0z)|*>#Oty|z^F=*7G{wcT zS)Qz_#jfOpb78WZ<7G&?~`z%^}OUgid`kZ#pwc68j{1!XZ!uOdFw4GJ>|;S-PO&_mKV-$*1J=ZT&`P1 z7%SL!#=rgP%a7z(MRRLCFPpvo(OVznS&Xywa>h-#QXscGRhtHOXnLYR`?w5+*-#-T zu$V~rlK9Z<dVmPM>Q2AZKPGbIj#7_(7}y4K{hTCl3`B<>1ibe0C9oA2iR@v9hYPVF5h}8 zpz~^0(`(JQV0aOmW1pbu<;&%Mb_NY5pmo*eO2Bl{1Kmy1?yWovzAT#{qJ(i>#!jxi zKBBM|WT;S!&D$!|@GhGe8H19ub`ls;EdavQXYENk?hNPRHb5+$nI8)<5V3tKZripE zy}^c@4}DJ%oCAgETozBb*EKXC=2Mkw#C~SV>L>bPGf|79IX2oB2`*1kbwk}!3iIlN z-fViLT7@~)8LJmC#R-#egx0yEMQ72u(*0BcI3H1yN_%opFXj`z8N97e@}!1~AcRUc z!bM-a;vLIS9`^NWxj8RZOAMwmu#RFxi@M%#xWj76~(F0Ng?irh}UY~Gdv!6DlI+G`11UBO6NFFcXU36!M&3QGS)Q$$X0T?LM zeDEbr!kOY)R7NVJmO0(>>!PwvnJmuc(UPWHaNUxSsAMU8*AjA;vTww=gh;RxB}MtP zL^T3DTGP}kE*z2>vs2xj4EE@LflF*sV=LAGD59|YQOU|_u?|7prPiUiUqnC8ktM|} zZ*@&n&~TO^Msw|d#chAlqc{@AL6Uk!TTU`wXJiFGq5v#j3(E zh*iH_6Kf!UgSdn5M{*<9cU?0rDlDB<%gv7D-r~jt73@($U`P6Nd9%$;+B^BX^mabC z8orYpjiH@y#&-0jLnfUvvPVDnj;Y^haEe zNsm5JighSDm6a->oj*i^C60JC7wnu!-xEk+(eGf;UmO_n>|ffWxfaL4xh{ZZM7rCh``EiVJncaZc~@s%;Kjrr!$QSus?>L&;=;Q)5hoESq@rqOayPB8baP6P zr`6+aLd1r$Q`As04leeOWyE_ns}Gw!7)-#c(F6_Q;v5Z z_)1u?#Ivfam%8{IxC?Pe)EAXos!LEX4g@{pAL;P2@R;uKA#uKTN-JJ!xlK^uU6oX& z>DLDdf=vd{nSin>N626qpcqUqxYNZnwq?8}2|AnEZn@oWclEZ~?XQaEW+4*{zZklz zXBxY#PSk)@3p1sp;*3xfCrpwdvku!94URZrQcDe0Nmx8kQy89Kyb{J5W?3$qh-a-X zR}@VJZ&`Ss7iw5@w{$Ds%5%Q2Dp~qdKK65uFU$`EK+Et4<#SH)juB^TXu4%g_c1<5 zLEoa13-5BH=`aVuF#JKQn6nHcfd`e5eC=X6(B48;e*M%l)GD*K`Z~F>Y05&=znyTf z;(%bRnb8Ld%8UyOe2NL>F_@oX2h+9ZXJq>;YFE!Ajl)OUhSET5RnTB;4x5;7!FiV^Y&3mLq- z+pt##EH)&Ds@wpX9yenA0xf&1inc%%WyRqfYyR7+IxS~c{)1ZyLR(+p3!2j&tgO8hBgkRM@x<21T6aF;SF$I;r-{ zS()-Rc5()2Ev!eHU{8YkU`%`kyIjnbmJSc^1j00WguCkwT(Xb>Th*7ktB}ImAjRFyw|JaEHAh%%c<1kxexJ)liU}w*# z;$qZe52W2I%Gl8kV%WAtZbO)K50eR0J|ZKo-S4%kYaN;{Smtr#{1rP!`uh_V$&Mv<4x)E zfYpU3nNWrYt*Zs_I6KerxU*1n`*W%S=uwgR~)xE{kL$<=wOct4zmC$n? zD5&eCAenaG(Q?D$y7(X1!z}x5nxrW@kQ?L!sUrGW!H8Ey6nv9m2Ox~Cgbq(G#O{$=(FbQfDjc5ZSo;5_98;XB^-@qOdttG29g38U8S74_DZ? zz!XMhn401d5^dbkd_2999a)EZIur~gPimWt*o0=7@;e?! znw3o8xEG%tnDq+lLZ>t)=+>xBRCTWj?oLli^~jTd%}Db+3@=v;|yPS7r{(86is9 zpF!BwNnNjAY{+xM{)RP&FbX+6MJ-o_KCf_hu3=HUHi(0KPp#S*?X*TYvrTu!CY5@# zff2GzvR-fNjntqy;OMljJMlKRr5DY7!BYH{^7yWt&3dun@XBnp1PT`>6o5`3F6-S2 zjOD7@%o!0A!q~})XmwK5s?F)}sBpm%5`%DCO>QgiQ)}5n#DGKSOgUv_OYZ;O*(7ljWXXDsnyF zm6t`Ei7wm*+u!1(K5XVGN$%tf%QUcBWhJ{j@dY>~=88-(B-RFwp{{5digS$V7YLqy zqB2QkO0c6I#fF|8PS|jLQoW4EOprMOVOcVO3jxj>13{~RDTsN-CTI$I4tN-yWNJqO z0)i;66y!Q!pU0r-Cn_~LTwZX&;Uh{%&IQm_?_lUAO{!0F3=yQMF-A+sSsXf$H8Ng- z&PNQaR#V>#wSCiscQVTIiVh>*reJ_(I4b7lzBFBD$5^*r&d!UID=dj+nd;D{z;^6( z6toE{v+7Z5&6{nF^}uj=Xc%oRHI@8Akr}DCjEE41>@HcQ#+-q^nm2#ya)0mcVGEr+ zm&QS^gd7LCASsB!mHbvOUmCzZG6^=~8{knK4EY}H+d#n8yDtqg2{z;z&|wt#yss^4 z070OplWh=&!94HUks9DOs3qqV?)LFY*FyNA9MN=)wupti^(0a%hSxzGe%&lq%Wbh; zKCV_`N1p8J%d|UzCOjZ?&p}fggeLI_QHEeBo9f|x0xDyu@m+aEMkAc&tZ+isIyp@t zA*|QiGTUeSMGKKdJ(!;Y2Gc#8aWJ0fIfew)uG*k;;YnK6VF%KMX|oB^1*=!}i7k=P zB#9bOQ(zcK^$bYVTc5WEUVo=j9ms_tK1k3~b0d*H#0{waDnw4J2ci#L5Cb~j3#CO( zw=neD$V7g--UV>b*Cz2d?59%Upxb)NWf8k!8nnIAWk(eH&86*cVFKGncFV^|@_7{| z%WR1r+DkW1F{XwxJv~j@ULm?J7*wY|D;KoA!(7J|X>)fpEC5VRMriD<0mrs|@&W@NKihPWHwJkm_tOadz%ikL!hrU^ZcL>8>uL%)?5U zaUo3Ehy&u(I6jUOwE@Tudj@hG-I#{r4q}rysR>7z;##4{E>EHPq<=$>*&&j}$~BJm zi`4eY6j-N9U93t*PL&4~f-Z>pN+kMBBs`8GR+v17uoA=Su~jd}vZM#s;YsiNFi}?h z99w!9tW$XRvoAZr(qUe8FncB{PE|st`>(kqN9@UacN1lFvx2>wHeBLOy}H0-Ojx&I7JebMkOij}*$F-` zcG;Lh*e|u^z37tJ^PYWT9Lqv$&+vLD_ZHdn!gqzeXL|X~UFEKt0gyJAa}k!xL^E}A zf~}JRQeF-MSMUrsW<0gmDrr6+=mT7;vJLTe{MP=_vGD`0~=0N{WVW=c?QtY+_ zF>yv{i4(NNbJ7zR4URZrlI#XG5d^+ox~!L@V2C%M8A{d`%k{%$)0!wYG)eN8n=@{4 z*vkyL4QgpQFP5Glw5<$m7}aufhF~DQ!aFa^lx}AsoC)BprmX%p?GmuK^L>nUHj`lU zrPtjYI?8ilX=gb_g9S#1+Ld^$nyTK)%9L!TY3jpnR&fL?b)>;(lA1UOro8Mf5zGlu z_C*2fBf!dqGQiRsRtGLkSv4%o%!|uixm7jED(CE67sXbxnuQ~+qW#7I#TY$PSkfNs2O){^ltywI$A!xPx zBX8pC6#-P=8PZlYZos!+Ts*l13~<5@!bYz~mL2kB`Edw>X!f@+U-Ez9<@%xbpr;1u81yFKf> zz*IYC-`qzf7ipMR+7qQ^Af+m4+^WHHW51^qgg&CMIuIr(jOz@1oFFbv;Iu4ba}gNz1%SW(ZdsM5IEV#knUZfF+;&&6nN{M<=)Dg z#qC>iy5O*tJjPCvh4xdieHMpRv1nxNa3!;_1gBjd3Ugr<-&}XAxyT40`BBPp9Zgj8 zR!l(?04BeiB&duq!&i;&i45dKFy@S4h*+gVX>KELYZU_B24T-bvk!+0x<$0^6?bkt zFEVkvxc&CG$#%utH=ft44~z7HhRD36gs#yjD(H5>9kn^;#?~2_;skA=9Jc}kO%O!p zn$<-KK~mOwJr+hMiBr6F+wF-+l;{g7p1mI$n#7fo$CRN798J0FM) z5S5(9B)NOVOk98!Hu(g<-A&oI-003--Lr^Q=VX_e4rO*yw)?Xv2gczxoI>^Dx+1bZ z?D!u#@~n8V;iTJ&9pdU9PVhavgm9L@ykHXbUoalMt7(Hb=Vn#l;t*zc4Ou124)IBZXYpYC}NfkH_>UdP%pgk;shHtTiRj z`b^;T5giP2^W~r{fP#XP zqnHguVCkf2qfEpiTaY{ki9tht~dm>nUPE@v=mD0LN%JE!R3X2Cv7}XY6J3~_S znpK>)5;j+uC#dt8EKYmr`IHwDSkw@p$FhSif4*J@4zkM+^m2AH)4bY4Cdp!mS6lb9q4F!YXz7qJ8^l`9A6!G1XkCwu4fx0bufn z!aHJ2v7Hp9JU6On53wgaKoLfja*pGryQ@I7fK$3RlaJ_#39#KHEJN$hUe#Psb#_ya zIaotYhuze^o+uyKqc|dwKNuU|Mka@R)hC>2KYtsU-PC7X>YJ)!p)&zzGC-sWz;PZB z6o$(?Hy7x!tH5{9q7@57dQGJdxIHPSnmHi~`z6l-)U%FmUP$Bm=25z=Y>M z^stv6=K@P`xXaVB;~AoTW`vfrW%<9Gk0c zc({$RJnw`yxXk%Dhs8vp#ZDfA0uw9wHW0bl$=;< z<8uDWoXBZYF4$Ag0-v`_WtU9mD zMEj3GK*`7#)qScVv=DgHZVky7HUdFmBVVXl{)&}lRaI|(a33r-gaBH8Br4uEbkO#~ zelH1N$&aTkmRRznLVC2N6-6=EvPPbh6Tn?qEtQ-kgwh6Z7}f1fxo&(uKRGnw{4@d8 zLAgO-cS-);rE)1pU(hiC3SwHjTuIw{&x2OyK-v&x=5?g+mH_$)u=$p7eOo}=ehydc zzLSJhdHo=uR_oEHT@Ovb#+nBBI6-Tj<8&*JPJMyKg`px}_ZEZKlA!PrBso8>wm4eN z3x+mGE%LtD7Jfk0gK8iZtoCNNx4#WDnBITmd3Amz*xeQ~I^a;$=r=Oellw)v=P3vct*f#*aGiv6Pjjnmow`G=lasPLDbSGj46t$lB!4GyD5wljK}?}@ zZAHtvcN75+qrm4?3%r$GP=MNyDkN2D;94xXgRp*VcX5+oHyRuEMvJn}a5K`wUc<-e?S78jd6~)e{$y6$^xgV^Rfe>x{K+P-Jc#r}4TMgo`Xpuo9%nhdOqYE!t)z?hNpraC`tXJj3LJ-xEy zA&e7dhAw-*>=zp&y*=4)KeSQ4@Cp$<&8C}3qNyPlnBbl%Lvx%)Q{`_LHJCg&4V8BX z0HkXS2Fxrsh|uR28Gv&)gu1Y{Yi`nQa_f%OHVB-hloVQ8Zgn>|ZgCwm8I2icpslsesqBu z7@{~B^2*cnF4=^k;K7azfll+z!0N^e2W+-s0Gsz>tq-!052OiTDcHO1d4H0wROlnr ziT)F214|g4RQ0oFb+`afe|46hGd@j))i3HQtTD>FhvR<=yWCQ>!{AcDV(0XUS{oXM zSJc~wGschD_^a}ycz17}FWFw7uNH8EiZC0P!l?2-Cpz&3enJaIrrhPnJ7${o~fHrgltlUTlp!^&GB{v!ZB|p=k+~tY(%0zcV zB3Mu*<{m|th(O=76MEY^vNuI9RpclgYD=!w;Z8qB!0lOrJ$Yb?&u7vel9LLl#ThU4 z*a}Hd;U=hIIox8v^q7k%zT7%*yK~9$F5;uyt(~(PJq80RIzT5)3k;F9*Sa7sw%(g?8udox=1F4V0v<2hyNi#2^ zL{_y9j|IA5rBVt!TX@{=mk*4R}Mv3ee$trO`EqZWs$~-*GGvE^)QllJ%qN7h+l-$Cx1C;yObKN zUk-P9gG8i;L(JN%j0>ztFz0&BHyo8W+Y@{DqnPl)vg+j(d}2F%_kxZ3S%)IKs9xE%WySG{W{vBb_Q zxu^~Q{$^WmO%~(IOxam`XFes@6(^~&dBErL zdqvB=l#FW(>#{afuGjK}fi`CXrOyOTAJNs7dpXaq=AX+rV?%V-2YHrs=mflz;`{u( zT9sF>Mu~dF89^B*D8`%yDn$*PFJ&ZagEUya8+4lz_-+#A^Mq8+Y;n5Sm}lTI0nuc1 zXl)LcM_+zqAH(5vxp9fyRoN0Q9nhsSjf(gOD?V`I8?ggv5fP^=aoxd z?3-V5G0F?7LG_k|N+ZDLhtZJ=gEW}6Dl*QrCqU(U&8B_chXo!`@4K{jNe6M z6WNNp#S-F(F)Td~tTvm4Y#>!Tk=ArpH)}Z`vyiPg`)%{qTXHN4 zlYDn|bF*E)*xamlr_keaDRnNUn~4=s`!1ATNiVx3jp%SfyK2tNB9Nr2_gQ*$qO_}W zEnX%0ktUfiOO*q%R!z79CUM^rMu9%!4HBos@ocJ9E0r*pTj^s(yyPJd1DWeLnJaST ziMWwv;qtJSE8RwU+RFt2VPKGidGxXnS<2BFN}^n_~C)p0gJ zC8`_b0!t91zvdU?d(8k2xiQeRiAdpdoC}b(0jtFjXMIpKK~Xm=DBbg+0~mFo%}hS! zTESvDXGw0kNI&Dk5uBCmQ`cX0AE@b4Zki>=C9WfRDau@trmmd?xp78t#tDdQesNUx z!*VzNsZ`YlQ3ZM5z>szW$51kIkv}CA)E_iK3~H<}m~~vM2or3H@_{UhL(E&UE(`-P zd{04c(%Z_=xNr!o$G?i4*;9~-I)&Y9P(+f;uegSwrB%t{=c zF2C8AZrzDBmKMiYH^%eJkRaRbQr+Zi7(%Kt{6!VS+w)z?J?yA7%7LJ{Ol_kjC4i`!Ifi zKWP^voPcjW+wts1n0VOlBQ$!!FS}lXJhPR&dVSK%$(H+_9Gr|Z*9X}v8iKQ98!cUh z#Nqhb%MIW`HuY&Sb_&iQnG>uyDSS1>@DHQ%o>Lg#@TgJ{$AeVI3G&pYOcx?FYX~aY zlvr`#)|bWoZig_+Wd|W??O}^fk=z20(%FHghF>~N8dQ(+Rve#6Gy*Qn$0J7<&j%Was#t80wfapUUf7G%Psdth|GVrTIj zgZQ3V>b!4$9+;np$+fC+Wc2wCdV0Uy0G3%!@Qu~=qcNA%$&@u2!aEYglP4z_WRn`h zWQ9}NU&kRI6BbA}D};BGFsJfYFt}wC5V$ageO~WIlmi{bz0TA#mrGu6#kt9$mGQ}G zoDqa^0vIQpgf?bEmlI>mG1IpYCP81+fDR)}X07JVbJ?A3UP8D_+X}f<(nYA?eX|0X zA|gOzdXL~RArL&Uu1}xK=##90I0yjh09>0iJ2~-)WQtjeQ^f>K`{i6+LC@5Y191HX z+Rj52SwY-QqAGGBZ(5;@)lvyH4-a-3pm@!;jRb)KgUt{IMiWq1fwu1>lfX^dvXGEM z7G+f0c*Fx^=_rk{Q>}~0XQYf?HuBTo9%Zi9W&Iql3-XT zryy(}six0c`jha^)VEawg$*e^M<}__HU~=>1y%mGrhrFcS%X4;be5W101iO4(?}(x zuW1!>+q(l`IkRpz&bL7&9VL*~aRH8S@&FxS6kPdpD*-C3QZVrMSpJE1tB^eNEoEZ3 zsaUzjW@MS2cV<0u$ut+#rY)O*I-j4Sd_;66f;^dDjuf!CuvR!XumrTId2edW=;k`o zG|4w-gMqe(gz5Qqk{py^+?-_RcXHUte5PCIxSJf{SQT=k?g0$SxLo6s=BYy@;+kQ_B0H##vC zMrc4K!*qs3+XM~Vx*((`^4yS2Z{()SBlLkdrGx-}06j_#+Ig=)n;EboIHFsanY6&` zlp1iX>SJiPlXJmfgG$0Nrdi<608J26&7NDF3);fitU`(!uZEB#Dx>ZR!1dR#V!D=U z-5tQUK~NwFM^r#&mFj&0i3@|ps!R4{ia++=gK47K`eY16>Yh=S93dWr^yvM-MiFYfv49edExi*1nJ{qFBC|@o-(z55kq#`{Jwf0-HCHU$bxDpB~iX zf;Lr;3nohUl*cR+6EC~Y<&8X9j{t%EKpvOU<|HX-wUuA@07Vc3(^1x)Sy2%jy0oH% z;l~Uz?V=N Component: diff --git a/pynecone/components/datadisplay/code.py b/pynecone/components/datadisplay/code.py index c413134a8..81ced1f9b 100644 --- a/pynecone/components/datadisplay/code.py +++ b/pynecone/components/datadisplay/code.py @@ -18,7 +18,7 @@ class CodeBlock(Component): tag = "Prism" - # The theme to use. + # The theme to use ("light" or "dark"). theme: Var[str] # The language to use. diff --git a/pynecone/components/datadisplay/datatable.py b/pynecone/components/datadisplay/datatable.py index b609ee42c..2d3f4c32c 100644 --- a/pynecone/components/datadisplay/datatable.py +++ b/pynecone/components/datadisplay/datatable.py @@ -19,6 +19,7 @@ class DataTable(Gridjs): tag = "Grid" + # The dataframe to use. df: Var[Any] # The data to display. EIther a list of lists or a pandas dataframe. diff --git a/pynecone/components/datadisplay/list.py b/pynecone/components/datadisplay/list.py index 8b8c9cced..0fabd4da2 100644 --- a/pynecone/components/datadisplay/list.py +++ b/pynecone/components/datadisplay/list.py @@ -6,7 +6,7 @@ from pynecone.var import Var class List(ChakraComponent): - """List component is used to display list items. It renders a ul element by default.""" + """Display a list of items.""" tag = "List" @@ -21,18 +21,18 @@ class List(ChakraComponent): class ListItem(ChakraComponent): - """ListItem composes Box so you can pass all style and pseudo style props.""" + """A single list item.""" tag = "ListItem" class OrderedList(ChakraComponent): - """An ordered list component.""" + """An ordered list component with numbers.""" tag = "OrderedList" class UnorderedList(ChakraComponent): - """An unordered list component.""" + """An unordered list component with bullets.""" tag = "UnorderedList" diff --git a/pynecone/components/feedback/alert.py b/pynecone/components/feedback/alert.py index 45e0e6a9f..a0d1eea6e 100644 --- a/pynecone/components/feedback/alert.py +++ b/pynecone/components/feedback/alert.py @@ -5,7 +5,7 @@ from pynecone.var import Var class Alert(ChakraComponent): - """Container to stack elements with spacing.""" + """An alert feedback box.""" tag = "Alert" @@ -17,13 +17,13 @@ class Alert(ChakraComponent): class AlertIcon(ChakraComponent): - """AlertIcon composes Icon and changes the icon based on the status prop.""" + """An icon displayed in the alert.""" tag = "AlertIcon" class AlertTitle(ChakraComponent): - """AlertTitle composes the Box component.""" + """The title of the alert.""" tag = "AlertTitle" diff --git a/pynecone/components/forms/formcontrol.py b/pynecone/components/forms/formcontrol.py index adb980f69..2e000f943 100644 --- a/pynecone/components/forms/formcontrol.py +++ b/pynecone/components/forms/formcontrol.py @@ -5,7 +5,7 @@ from pynecone.var import Var class FormControl(ChakraComponent): - """FormControl provides context such as isInvalid, isDisabled, and isRequired to form elements.""" + """Provide context to form components.""" tag = "FormControl" diff --git a/pynecone/components/forms/iconbutton.py b/pynecone/components/forms/iconbutton.py index 1ff5effc9..f2b0f57c8 100644 --- a/pynecone/components/forms/iconbutton.py +++ b/pynecone/components/forms/iconbutton.py @@ -1,11 +1,11 @@ -"""A button component.""" +"""An icon button component.""" from pynecone.components.typography.text import Text from pynecone.var import Var class IconButton(Text): - """A button that can be clicked.""" + """A button with an icon.""" tag = "IconButton" diff --git a/pynecone/components/forms/rangeslider.py b/pynecone/components/forms/rangeslider.py index d2b62c40c..f486beade 100644 --- a/pynecone/components/forms/rangeslider.py +++ b/pynecone/components/forms/rangeslider.py @@ -1,4 +1,4 @@ -"""A button component.""" +"""A range slider component.""" from typing import List, Set @@ -80,20 +80,21 @@ class RangeSlider(ChakraComponent): class RangeSliderTrack(ChakraComponent): - """A button component.""" + """A range slider track.""" tag = "RangeSliderTrack" class RangeSliderFilledTrack(ChakraComponent): - """A button component.""" + """A filled range slider track.""" tag = "RangeSliderFilledTrack" class RangeSliderThumb(ChakraComponent): - """A button component.""" + """A range slider thumb.""" tag = "RangeSliderThumb" + # The position of the thumb. index: Var[int] diff --git a/pynecone/components/forms/select.py b/pynecone/components/forms/select.py index 7307eb6f5..d5038629a 100644 --- a/pynecone/components/forms/select.py +++ b/pynecone/components/forms/select.py @@ -83,7 +83,7 @@ class Select(ChakraComponent): class Option(Text): - """A button component.""" + """A select option.""" tag = "option" diff --git a/pynecone/components/layout/box.py b/pynecone/components/layout/box.py index e5a2b17ad..d8a4fe5e7 100644 --- a/pynecone/components/layout/box.py +++ b/pynecone/components/layout/box.py @@ -8,7 +8,7 @@ from pynecone.var import Var class Box(ChakraComponent): - """Renders a box component that can contain other components.""" + """A generic container component that can contain other components.""" tag = "Box" @@ -16,10 +16,10 @@ class Box(ChakraComponent): element: Var[str] # The source of the content. - src: Optional[str] = None + src: Var[str] # The alt text of the content. - alt: Optional[str] = None + alt: Var[str] def _render(self) -> Tag: return ( diff --git a/pynecone/components/layout/center.py b/pynecone/components/layout/center.py index 671d31008..f5cbfd0e3 100644 --- a/pynecone/components/layout/center.py +++ b/pynecone/components/layout/center.py @@ -4,18 +4,18 @@ from pynecone.components.libs.chakra import ChakraComponent class Center(ChakraComponent): - """Center is a layout component that centers its child within itself. It's useful for centering text, images, and other elements. All box can be used on center to style.""" + """A box that centers its contents.""" tag = "Center" class Square(ChakraComponent): - """Square centers its child given size (width and height). All box props can be used on Square.""" + """A centered square container.""" tag = "Square" class Circle(ChakraComponent): - """Circle a Square with round border-radius. All box props can be used on Circle.""" + """A square container with round border-radius.""" tag = "Circle" diff --git a/pynecone/components/layout/cond.py b/pynecone/components/layout/cond.py index eeb9443db..87d2e491d 100644 --- a/pynecone/components/layout/cond.py +++ b/pynecone/components/layout/cond.py @@ -12,7 +12,7 @@ from pynecone.var import Var class Cond(Component): - """Display a conditional render.""" + """Render one of two components based on a condition.""" # The cond to determine which component to render. cond: Var[bool] diff --git a/pynecone/components/layout/container.py b/pynecone/components/layout/container.py index 00af8f081..7496c2d53 100644 --- a/pynecone/components/layout/container.py +++ b/pynecone/components/layout/container.py @@ -5,7 +5,7 @@ from pynecone.var import Var class Container(ChakraComponent): - """Container composes Box so you can pass all Box related props in addition to this.""" + """A flexbox container that centers its children and sets a max width.""" tag = "Container" diff --git a/pynecone/components/layout/flex.py b/pynecone/components/layout/flex.py index 503126832..c43cfb805 100644 --- a/pynecone/components/layout/flex.py +++ b/pynecone/components/layout/flex.py @@ -5,7 +5,7 @@ from pynecone.var import Var class Flex(ChakraComponent): - """Flex is Box with display, flex and comes with helpful style shorthand. It renders a div element.""" + """A reflexive container component.""" tag = "Flex" diff --git a/pynecone/components/layout/foreach.py b/pynecone/components/layout/foreach.py index 5bde63cc2..a828dadf8 100644 --- a/pynecone/components/layout/foreach.py +++ b/pynecone/components/layout/foreach.py @@ -9,7 +9,7 @@ from pynecone.var import BaseVar, Var class Foreach(Component): - """Display a foreach.""" + """A component that takes in an iterable and a render function and renders a list of components.""" # The iterable to create components from. iterable: Var[List] diff --git a/pynecone/components/layout/grid.py b/pynecone/components/layout/grid.py index 9f84a17c3..e52182645 100644 --- a/pynecone/components/layout/grid.py +++ b/pynecone/components/layout/grid.py @@ -7,7 +7,7 @@ from pynecone.var import Var class Grid(ChakraComponent): - """The main wrapper of th egrid component.""" + """A grid component.""" tag = "Grid" diff --git a/pynecone/components/layout/spacer.py b/pynecone/components/layout/spacer.py index 50c6b71bf..578b13214 100644 --- a/pynecone/components/layout/spacer.py +++ b/pynecone/components/layout/spacer.py @@ -4,6 +4,6 @@ from pynecone.components.libs.chakra import ChakraComponent class Spacer(ChakraComponent): - """Display a flexible space.""" + """A flexible space component.""" tag = "Spacer" diff --git a/pynecone/components/layout/stack.py b/pynecone/components/layout/stack.py index 70654e229..b0a6fe86d 100644 --- a/pynecone/components/layout/stack.py +++ b/pynecone/components/layout/stack.py @@ -5,7 +5,7 @@ from pynecone.var import Var class Stack(ChakraComponent): - """Display a square box.""" + """Container to stack elements with spacing.""" tag = "Stack" @@ -35,12 +35,12 @@ class Stack(ChakraComponent): class Hstack(Stack): - """The HStack component is a component which is only facing the horizontal direction. Additionally you can add a divider and horizontal spacing between the items.""" + """Stack items horizontally.""" tag = "HStack" class Vstack(Stack): - """The VStack component is a component which is only facing the vertical direction. Additionally you can add a divider and vertical spacing between the items.""" + """Stack items vertically.""" tag = "VStack" diff --git a/pynecone/components/layout/wrap.py b/pynecone/components/layout/wrap.py index 53dd5e96f..c4a01592a 100644 --- a/pynecone/components/layout/wrap.py +++ b/pynecone/components/layout/wrap.py @@ -4,7 +4,7 @@ from pynecone.components.libs.chakra import ChakraComponent class Wrap(ChakraComponent): - """Layout component used to add space between elements and wraps automatically if there isn't enough space.""" + """Layout component used to add space between elements and wrap automatically if there isn't enough space.""" tag = "Wrap" diff --git a/pynecone/components/media/icon.py b/pynecone/components/media/icon.py index fd7c1a18a..507d7fd17 100644 --- a/pynecone/components/media/icon.py +++ b/pynecone/components/media/icon.py @@ -4,12 +4,12 @@ from pynecone.components.component import Component class ChakraIconComponent(Component): - """A component that wraps a chakra icon component.""" + """A component that wraps a Chakra icon component.""" library = "@chakra-ui/icons" class Icon(ChakraIconComponent): - """The Avatar component is used to represent a user, and displays the profile picture, initials or fallback icon.""" + """An image icon.""" tag = "None" diff --git a/pynecone/components/media/image.py b/pynecone/components/media/image.py index 83ab1c912..bf516d930 100644 --- a/pynecone/components/media/image.py +++ b/pynecone/components/media/image.py @@ -9,7 +9,7 @@ from pynecone.var import Var class Image(ChakraComponent): - """The Image component is used to display images. Image composes Box so you can use all the style props and add responsive styles as well.""" + """Display an image.""" tag = "Image" diff --git a/pynecone/components/navigation/link.py b/pynecone/components/navigation/link.py index b94933c61..606f1a6f5 100644 --- a/pynecone/components/navigation/link.py +++ b/pynecone/components/navigation/link.py @@ -7,7 +7,7 @@ from pynecone.var import Var class Link(ChakraComponent): - """Component the provides a link.""" + """Link to another page.""" tag = "Link" diff --git a/pynecone/components/navigation/linkoverlay.py b/pynecone/components/navigation/linkoverlay.py index 2467a656a..68a065692 100644 --- a/pynecone/components/navigation/linkoverlay.py +++ b/pynecone/components/navigation/linkoverlay.py @@ -5,7 +5,7 @@ from pynecone.var import Var class LinkOverlay(ChakraComponent): - """Wraps cild componet in a link.""" + """Wraps child component in a link.""" tag = "LinkOverlay" diff --git a/pynecone/components/navigation/nextlink.py b/pynecone/components/navigation/nextlink.py index 9fc55e0e1..a4c78f1de 100644 --- a/pynecone/components/navigation/nextlink.py +++ b/pynecone/components/navigation/nextlink.py @@ -4,15 +4,11 @@ from pynecone.components.component import Component from pynecone.var import Var -class NextLinkLib(Component): - """A component that inherits from next/link.""" +class NextLink(Component): + """Links are accessible elements used primarily for navigation. This component is styled to resemble a hyperlink and semantically renders an .""" library = "next/link" - -class NextLink(NextLinkLib): - """Links are accessible elements used primarily for navigation. This component is styled to resemble a hyperlink and semantically renders an .""" - tag = "NextLink" # The page to link to. diff --git a/pynecone/components/overlay/menu.py b/pynecone/components/overlay/menu.py index b272a5a7d..90daa70a3 100644 --- a/pynecone/components/overlay/menu.py +++ b/pynecone/components/overlay/menu.py @@ -74,8 +74,10 @@ class MenuButton(ChakraComponent): tag = "MenuButton" + # The variant of the menu button. variant: Var[str] + # The tag to use for the menu button. as_: Var[str] diff --git a/pynecone/components/transitions/__init__.py b/pynecone/components/transitions/__init__.py deleted file mode 100644 index ff585c081..000000000 --- a/pynecone/components/transitions/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Overlay components.""" diff --git a/pynecone/components/transitions/observer.py b/pynecone/components/transitions/observer.py deleted file mode 100644 index d99abe48a..000000000 --- a/pynecone/components/transitions/observer.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Container to observer element.""" - -from pynecone.components.component import Component - - -class Observer(Component): - """A component that wraps a react-visibility-sensor component.""" - - library = "react-visibility-sensor" - - -class VisibilitySensor(Observer): - """Display a square box.""" - - tag = "VisibilitySensor" diff --git a/pynecone/components/transitions/transitions.py b/pynecone/components/transitions/transitions.py deleted file mode 100644 index 9cf5d3658..000000000 --- a/pynecone/components/transitions/transitions.py +++ /dev/null @@ -1,29 +0,0 @@ -"""Container to stack elements with spacing.""" - -from pynecone.components.libs.chakra import ChakraComponent -from pynecone.components.tags import Tag -from pynecone.var import Var - - -class Fade(ChakraComponent): - """Display a square box.""" - - tag = "Fade" - - -class ScaleFade(ChakraComponent): - """Display a square box.""" - - tag = "ScaleFade" - - -class Slide(ChakraComponent): - """Display a square box.""" - - tag = "Slide" - - -class SlideFade(ChakraComponent): - """Display a square box.""" - - tag = "SlideFade" diff --git a/pynecone/components/typography/__init__.py b/pynecone/components/typography/__init__.py index 0f6bf676a..6db3cc153 100644 --- a/pynecone/components/typography/__init__.py +++ b/pynecone/components/typography/__init__.py @@ -4,20 +4,7 @@ from pynecone.components.component import Component from .heading import Heading from .markdown import Markdown +from .span import Span from .text import Text - -def span(text: str, **kwargs) -> Component: - """Create a span component. - - Args: - text: The text to display. - **kwargs: The keyword arguments to pass to the Text component. - - Returns: - The span component. - """ - return Text.create(text, as_="span", **kwargs) - - __all__ = [f for f in dir() if f[0].isupper() or f in ("span",)] # type: ignore diff --git a/pynecone/components/typography/heading.py b/pynecone/components/typography/heading.py index 76f798f5f..1952a5fb2 100644 --- a/pynecone/components/typography/heading.py +++ b/pynecone/components/typography/heading.py @@ -5,7 +5,7 @@ from pynecone.var import Var class Heading(ChakraComponent): - """Heading composes Box so you can use all the style props and add responsive styles as well. It renders an h2 tag by default.""" + """A page heading.""" tag = "Heading" diff --git a/pynecone/components/typography/markdown.py b/pynecone/components/typography/markdown.py index 8ba34130c..b9f0739a2 100644 --- a/pynecone/components/typography/markdown.py +++ b/pynecone/components/typography/markdown.py @@ -14,6 +14,7 @@ class Markdown(Component): tag = "ReactMarkdown" + # The source of the markdown. src: Var[str] def _get_imports(self): diff --git a/pynecone/components/typography/span.py b/pynecone/components/typography/span.py new file mode 100644 index 000000000..a2f83dfbb --- /dev/null +++ b/pynecone/components/typography/span.py @@ -0,0 +1,14 @@ +"""A text component.""" +from __future__ import annotations + +from pynecone.components.libs.chakra import ChakraComponent +from pynecone.var import Var + + +class Span(ChakraComponent): + """Render an inline span of text.""" + + tag = "Text" + + # Override the tag. The default tag is ``. + as_: Var[str] = "span" # type: ignore diff --git a/pynecone/components/typography/text.py b/pynecone/components/typography/text.py index 827d64231..0436ab1b8 100644 --- a/pynecone/components/typography/text.py +++ b/pynecone/components/typography/text.py @@ -2,26 +2,13 @@ from __future__ import annotations from pynecone.components.libs.chakra import ChakraComponent -from pynecone.components.tags import Tag from pynecone.var import Var class Text(ChakraComponent): - """Text component is the used to render text and paragraphs within an interface. It renders a p tag by default.""" + """Render a paragraph of text.""" tag = "Text" - # The text to display. - text: Var[str] - - # The CSS `text-align` property - text_align: Var[str] - - # The CSS `text-transform` property - casing: Var[str] - - # The CSS `text-decoration` property - decoration: Var[str] - - # Override the text element. Tpyes are b, strong, i, em, mark, small, del, ins, sub, and sup. + # Override the tag. The default tag is `

`. as_: Var[str]