From 7fe846522849aca50721df1b87fef7307c75b9ac Mon Sep 17 00:00:00 2001 From: root Date: Thu, 6 Nov 2025 21:40:58 +0100 Subject: [PATCH] bot fifth of november 2025 --- .bash_history | 20 + .bash_logout | 7 + .bashrc | 113 + ...8463833f5330de3cd7c67ddfc46b59f3d81786dd26 | Bin 0 -> 79714 bytes ...db2673665919e5556942a78290f8c59e57867a7a26 | Bin 0 -> 3593 bytes ...8069d0d031ff1b592b6ce0646c279bf59396ff2d05 | Bin 0 -> 19950 bytes ...389cfaa2f24beba9e2d02071e4624c02c288b2a440 | Bin 0 -> 74678 bytes ...815e95834c6faa15cb5c9fe16a1ee6050aabeb620b | Bin 0 -> 38613 bytes ...e5b8e0b5d8173f7d8b9ede86f6e2f3b423cb213061 | Bin 0 -> 17216 bytes ...8d2c9e3a257cad36ee2a758fc88b4cd5f0d479a5a9 | Bin 0 -> 17505 bytes ...093ec071fa044ad90152dd39f9072cdbca13dd0ab2 | Bin 0 -> 6318 bytes ...5dba7423aa175d72f390d4883736cee302491f10f1 | Bin 0 -> 11395 bytes ...b8d4293b2cfa918e3e23e0c16d4c172feb7fd8d9d0 | Bin 0 -> 59459 bytes ...464507ba55bb6d68651e7cff81ef7410783047d70d | Bin 0 -> 11650 bytes ...c7bb7231974c67fd946d71685651b47a71086ce5a2 | Bin 0 -> 71604 bytes ...f8fb38230bb8ae05bdb624c08a2414e1c535731370 | Bin 0 -> 18467 bytes ...f4abeee0d8ca6bce79b19ca2bcd5f94b543939c66c | Bin 0 -> 9275 bytes ...48d6e2106b8504eedf08543a9ac70e664c84a86c9b | Bin 0 -> 5091 bytes ...b9562bea9eb060054b09d51c3c3218e51edc93e5ec | Bin 0 -> 677204 bytes ...0da4c37b4d8022991a332c09abde75bab1f46918ac | Bin 0 -> 167564 bytes ...20501161c7a6b5266ace7516e44d3387fe8d37f0ed | Bin 0 -> 39034 bytes ...828c34c67a21d526f31355eb427680b88f84d90a4b | Bin 0 -> 97201 bytes ...918fdf354826064190a066f96cd6ad8830f1f11fdc | Bin 0 -> 14351 bytes .profile | 27 + .python_history | 0 botenre/config.json | 4 + botenre/laenredada.py | 288 + botenre/laenredada.py-backup | 276 + botenre/myenv/bin/Activate.ps1 | 247 + botenre/myenv/bin/activate | 69 + botenre/myenv/bin/activate.csh | 26 + botenre/myenv/bin/activate.fish | 69 + botenre/myenv/bin/httpx | 8 + botenre/myenv/bin/pip | 8 + botenre/myenv/bin/pip3 | 8 + botenre/myenv/bin/pip3.11 | 8 + botenre/myenv/bin/python | 1 + botenre/myenv/bin/python3 | 1 + botenre/myenv/bin/python3.11 | 1 + .../APScheduler-3.11.0.dist-info/INSTALLER | 1 + .../APScheduler-3.11.0.dist-info/LICENSE.txt | 19 + .../APScheduler-3.11.0.dist-info/METADATA | 147 + .../APScheduler-3.11.0.dist-info/RECORD | 86 + .../APScheduler-3.11.0.dist-info/REQUESTED | 0 .../APScheduler-3.11.0.dist-info/WHEEL | 5 + .../entry_points.txt | 25 + .../top_level.txt | 1 + .../__pycache__/nest_asyncio.cpython-311.pyc | Bin 0 -> 13249 bytes .../typing_extensions.cpython-311.pyc | Bin 0 -> 151468 bytes .../site-packages/_distutils_hack/__init__.py | 222 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 11154 bytes .../__pycache__/override.cpython-311.pyc | Bin 0 -> 311 bytes .../site-packages/_distutils_hack/override.py | 1 + .../anyio-4.8.0.dist-info/INSTALLER | 1 + .../anyio-4.8.0.dist-info/LICENSE | 20 + .../anyio-4.8.0.dist-info/METADATA | 104 + .../anyio-4.8.0.dist-info/RECORD | 86 + .../site-packages/anyio-4.8.0.dist-info/WHEEL | 5 + .../anyio-4.8.0.dist-info/entry_points.txt | 2 + .../anyio-4.8.0.dist-info/top_level.txt | 1 + .../site-packages/anyio/__init__.py | 77 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 4310 bytes .../__pycache__/from_thread.cpython-311.pyc | Bin 0 -> 26161 bytes .../__pycache__/lowlevel.cpython-311.pyc | Bin 0 -> 7640 bytes .../__pycache__/pytest_plugin.cpython-311.pyc | Bin 0 -> 10889 bytes .../to_interpreter.cpython-311.pyc | Bin 0 -> 10011 bytes .../__pycache__/to_process.cpython-311.pyc | Bin 0 -> 13659 bytes .../__pycache__/to_thread.cpython-311.pyc | Bin 0 -> 3182 bytes .../site-packages/anyio/_backends/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 189 bytes .../__pycache__/_asyncio.cpython-311.pyc | Bin 0 -> 145999 bytes .../__pycache__/_trio.cpython-311.pyc | Bin 0 -> 77855 bytes .../site-packages/anyio/_backends/_asyncio.py | 2807 +++++ .../site-packages/anyio/_backends/_trio.py | 1334 ++ .../site-packages/anyio/_core/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 185 bytes .../_asyncio_selector_thread.cpython-311.pyc | Bin 0 -> 9094 bytes .../__pycache__/_eventloop.cpython-311.pyc | Bin 0 -> 6920 bytes .../__pycache__/_exceptions.cpython-311.pyc | Bin 0 -> 7190 bytes .../_core/__pycache__/_fileio.cpython-311.pyc | Bin 0 -> 41425 bytes .../__pycache__/_resources.cpython-311.pyc | Bin 0 -> 1109 bytes .../__pycache__/_signals.cpython-311.pyc | Bin 0 -> 1354 bytes .../__pycache__/_sockets.cpython-311.pyc | Bin 0 -> 32430 bytes .../__pycache__/_streams.cpython-311.pyc | Bin 0 -> 2650 bytes .../__pycache__/_subprocesses.cpython-311.pyc | Bin 0 -> 9571 bytes .../_synchronization.cpython-311.pyc | Bin 0 -> 35708 bytes .../_core/__pycache__/_tasks.cpython-311.pyc | Bin 0 -> 7695 bytes .../__pycache__/_testing.cpython-311.pyc | Bin 0 -> 3865 bytes .../__pycache__/_typedattr.cpython-311.pyc | Bin 0 -> 4407 bytes .../anyio/_core/_asyncio_selector_thread.py | 167 + .../site-packages/anyio/_core/_eventloop.py | 166 + .../site-packages/anyio/_core/_exceptions.py | 126 + .../site-packages/anyio/_core/_fileio.py | 729 ++ .../site-packages/anyio/_core/_resources.py | 18 + .../site-packages/anyio/_core/_signals.py | 27 + .../site-packages/anyio/_core/_sockets.py | 787 ++ .../site-packages/anyio/_core/_streams.py | 52 + .../anyio/_core/_subprocesses.py | 196 + .../anyio/_core/_synchronization.py | 732 ++ .../site-packages/anyio/_core/_tasks.py | 158 + .../site-packages/anyio/_core/_testing.py | 78 + .../site-packages/anyio/_core/_typedattr.py | 81 + .../site-packages/anyio/abc/__init__.py | 55 + .../abc/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 2886 bytes .../__pycache__/_eventloop.cpython-311.pyc | Bin 0 -> 16416 bytes .../__pycache__/_resources.cpython-311.pyc | Bin 0 -> 1817 bytes .../abc/__pycache__/_sockets.cpython-311.pyc | Bin 0 -> 11208 bytes .../abc/__pycache__/_streams.cpython-311.pyc | Bin 0 -> 9604 bytes .../__pycache__/_subprocesses.cpython-311.pyc | Bin 0 -> 3664 bytes .../abc/__pycache__/_tasks.cpython-311.pyc | Bin 0 -> 4988 bytes .../abc/__pycache__/_testing.cpython-311.pyc | Bin 0 -> 3025 bytes .../site-packages/anyio/abc/_eventloop.py | 376 + .../site-packages/anyio/abc/_resources.py | 33 + .../site-packages/anyio/abc/_sockets.py | 194 + .../site-packages/anyio/abc/_streams.py | 203 + .../site-packages/anyio/abc/_subprocesses.py | 79 + .../site-packages/anyio/abc/_tasks.py | 101 + .../site-packages/anyio/abc/_testing.py | 65 + .../site-packages/anyio/from_thread.py | 527 + .../site-packages/anyio/lowlevel.py | 161 + .../python3.11/site-packages/anyio/py.typed | 0 .../site-packages/anyio/pytest_plugin.py | 191 + .../site-packages/anyio/streams/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 187 bytes .../__pycache__/buffered.cpython-311.pyc | Bin 0 -> 6487 bytes .../streams/__pycache__/file.cpython-311.pyc | Bin 0 -> 8128 bytes .../__pycache__/memory.cpython-311.pyc | Bin 0 -> 15961 bytes .../__pycache__/stapled.cpython-311.pyc | Bin 0 -> 8254 bytes .../streams/__pycache__/text.cpython-311.pyc | Bin 0 -> 9009 bytes .../streams/__pycache__/tls.cpython-311.pyc | Bin 0 -> 18116 bytes .../site-packages/anyio/streams/buffered.py | 119 + .../site-packages/anyio/streams/file.py | 148 + .../site-packages/anyio/streams/memory.py | 317 + .../site-packages/anyio/streams/stapled.py | 141 + .../site-packages/anyio/streams/text.py | 147 + .../site-packages/anyio/streams/tls.py | 337 + .../site-packages/anyio/to_interpreter.py | 218 + .../site-packages/anyio/to_process.py | 258 + .../site-packages/anyio/to_thread.py | 69 + .../site-packages/apscheduler/__init__.py | 11 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 1306 bytes .../__pycache__/events.cpython-311.pyc | Bin 0 -> 4909 bytes .../__pycache__/job.cpython-311.pyc | Bin 0 -> 13722 bytes .../__pycache__/util.cpython-311.pyc | Bin 0 -> 18311 bytes .../site-packages/apscheduler/events.py | 134 + .../apscheduler/executors/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 195 bytes .../__pycache__/asyncio.cpython-311.pyc | Bin 0 -> 3452 bytes .../__pycache__/base.cpython-311.pyc | Bin 0 -> 10253 bytes .../__pycache__/debug.cpython-311.pyc | Bin 0 -> 1419 bytes .../__pycache__/gevent.cpython-311.pyc | Bin 0 -> 1918 bytes .../__pycache__/pool.cpython-311.pyc | Bin 0 -> 5664 bytes .../__pycache__/tornado.cpython-311.pyc | Bin 0 -> 3269 bytes .../__pycache__/twisted.cpython-311.pyc | Bin 0 -> 1942 bytes .../apscheduler/executors/asyncio.py | 52 + .../apscheduler/executors/base.py | 205 + .../apscheduler/executors/debug.py | 20 + .../apscheduler/executors/gevent.py | 29 + .../apscheduler/executors/pool.py | 82 + .../apscheduler/executors/tornado.py | 49 + .../apscheduler/executors/twisted.py | 24 + .../site-packages/apscheduler/job.py | 330 + .../apscheduler/jobstores/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 195 bytes .../__pycache__/base.cpython-311.pyc | Bin 0 -> 7566 bytes .../__pycache__/etcd.cpython-311.pyc | Bin 0 -> 10174 bytes .../__pycache__/memory.cpython-311.pyc | Bin 0 -> 5779 bytes .../__pycache__/mongodb.cpython-311.pyc | Bin 0 -> 9125 bytes .../__pycache__/redis.cpython-311.pyc | Bin 0 -> 10498 bytes .../__pycache__/rethinkdb.cpython-311.pyc | Bin 0 -> 12023 bytes .../__pycache__/sqlalchemy.cpython-311.pyc | Bin 0 -> 12885 bytes .../__pycache__/zookeeper.cpython-311.pyc | Bin 0 -> 11484 bytes .../apscheduler/jobstores/base.py | 141 + .../apscheduler/jobstores/etcd.py | 170 + .../apscheduler/jobstores/memory.py | 106 + .../apscheduler/jobstores/mongodb.py | 158 + .../apscheduler/jobstores/redis.py | 160 + .../apscheduler/jobstores/rethinkdb.py | 173 + .../apscheduler/jobstores/sqlalchemy.py | 194 + .../apscheduler/jobstores/zookeeper.py | 197 + .../apscheduler/schedulers/__init__.py | 12 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 1204 bytes .../__pycache__/asyncio.cpython-311.pyc | Bin 0 -> 4283 bytes .../__pycache__/background.cpython-311.pyc | Bin 0 -> 2862 bytes .../__pycache__/base.cpython-311.pyc | Bin 0 -> 61390 bytes .../__pycache__/blocking.cpython-311.pyc | Bin 0 -> 2435 bytes .../__pycache__/gevent.cpython-311.pyc | Bin 0 -> 2302 bytes .../schedulers/__pycache__/qt.cpython-311.pyc | Bin 0 -> 2961 bytes .../__pycache__/tornado.cpython-311.pyc | Bin 0 -> 4166 bytes .../__pycache__/twisted.cpython-311.pyc | Bin 0 -> 4023 bytes .../apscheduler/schedulers/asyncio.py | 67 + .../apscheduler/schedulers/background.py | 42 + .../apscheduler/schedulers/base.py | 1264 ++ .../apscheduler/schedulers/blocking.py | 33 + .../apscheduler/schedulers/gevent.py | 34 + .../apscheduler/schedulers/qt.py | 44 + .../apscheduler/schedulers/tornado.py | 65 + .../apscheduler/schedulers/twisted.py | 62 + .../apscheduler/triggers/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 194 bytes .../triggers/__pycache__/base.cpython-311.pyc | Bin 0 -> 2087 bytes .../calendarinterval.cpython-311.pyc | Bin 0 -> 9560 bytes .../__pycache__/combining.cpython-311.pyc | Bin 0 -> 7437 bytes .../triggers/__pycache__/date.cpython-311.pyc | Bin 0 -> 3047 bytes .../__pycache__/interval.cpython-311.pyc | Bin 0 -> 6599 bytes .../apscheduler/triggers/base.py | 35 + .../apscheduler/triggers/calendarinterval.py | 186 + .../apscheduler/triggers/combining.py | 114 + .../apscheduler/triggers/cron/__init__.py | 289 + .../cron/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 12580 bytes .../__pycache__/expressions.cpython-311.pyc | Bin 0 -> 16390 bytes .../cron/__pycache__/fields.cpython-311.pyc | Bin 0 -> 6809 bytes .../apscheduler/triggers/cron/expressions.py | 285 + .../apscheduler/triggers/cron/fields.py | 149 + .../apscheduler/triggers/date.py | 51 + .../apscheduler/triggers/interval.py | 138 + .../site-packages/apscheduler/util.py | 461 + .../certifi-2025.1.31.dist-info/INSTALLER | 1 + .../certifi-2025.1.31.dist-info/LICENSE | 20 + .../certifi-2025.1.31.dist-info/METADATA | 77 + .../certifi-2025.1.31.dist-info/RECORD | 14 + .../certifi-2025.1.31.dist-info/WHEEL | 5 + .../certifi-2025.1.31.dist-info/top_level.txt | 1 + .../site-packages/certifi/__init__.py | 4 + .../site-packages/certifi/__main__.py | 12 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 323 bytes .../__pycache__/__main__.cpython-311.pyc | Bin 0 -> 712 bytes .../certifi/__pycache__/core.cpython-311.pyc | Bin 0 -> 3753 bytes .../site-packages/certifi/cacert.pem | 4897 ++++++++ .../python3.11/site-packages/certifi/core.py | 114 + .../python3.11/site-packages/certifi/py.typed | 0 .../site-packages/distutils-precedence.pth | 1 + .../h11-0.14.0.dist-info/INSTALLER | 1 + .../h11-0.14.0.dist-info/LICENSE.txt | 22 + .../h11-0.14.0.dist-info/METADATA | 193 + .../site-packages/h11-0.14.0.dist-info/RECORD | 52 + .../site-packages/h11-0.14.0.dist-info/WHEEL | 5 + .../h11-0.14.0.dist-info/top_level.txt | 1 + .../python3.11/site-packages/h11/__init__.py | 62 + .../h11/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 1310 bytes .../h11/__pycache__/_abnf.cpython-311.pyc | Bin 0 -> 1815 bytes .../__pycache__/_connection.cpython-311.pyc | Bin 0 -> 24301 bytes .../h11/__pycache__/_events.cpython-311.pyc | Bin 0 -> 15189 bytes .../h11/__pycache__/_headers.cpython-311.pyc | Bin 0 -> 9106 bytes .../h11/__pycache__/_readers.cpython-311.pyc | Bin 0 -> 10783 bytes .../_receivebuffer.cpython-311.pyc | Bin 0 -> 5142 bytes .../h11/__pycache__/_state.cpython-311.pyc | Bin 0 -> 9778 bytes .../h11/__pycache__/_util.cpython-311.pyc | Bin 0 -> 5363 bytes .../h11/__pycache__/_version.cpython-311.pyc | Bin 0 -> 200 bytes .../h11/__pycache__/_writers.cpython-311.pyc | Bin 0 -> 7300 bytes .../lib/python3.11/site-packages/h11/_abnf.py | 132 + .../site-packages/h11/_connection.py | 633 + .../python3.11/site-packages/h11/_events.py | 369 + .../python3.11/site-packages/h11/_headers.py | 278 + .../python3.11/site-packages/h11/_readers.py | 247 + .../site-packages/h11/_receivebuffer.py | 153 + .../python3.11/site-packages/h11/_state.py | 367 + .../lib/python3.11/site-packages/h11/_util.py | 135 + .../python3.11/site-packages/h11/_version.py | 16 + .../python3.11/site-packages/h11/_writers.py | 145 + .../lib/python3.11/site-packages/h11/py.typed | 1 + .../site-packages/h11/tests/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 183 bytes .../tests/__pycache__/helpers.cpython-311.pyc | Bin 0 -> 5103 bytes .../test_against_stdlib_http.cpython-311.pyc | Bin 0 -> 8267 bytes .../test_connection.cpython-311.pyc | Bin 0 -> 68019 bytes .../__pycache__/test_events.cpython-311.pyc | Bin 0 -> 6819 bytes .../__pycache__/test_headers.cpython-311.pyc | Bin 0 -> 9596 bytes .../__pycache__/test_helpers.cpython-311.pyc | Bin 0 -> 1519 bytes .../tests/__pycache__/test_io.cpython-311.pyc | Bin 0 -> 25532 bytes .../test_receivebuffer.cpython-311.pyc | Bin 0 -> 4598 bytes .../__pycache__/test_state.cpython-311.pyc | Bin 0 -> 15200 bytes .../__pycache__/test_util.cpython-311.pyc | Bin 0 -> 7806 bytes .../site-packages/h11/tests/data/test-file | 1 + .../site-packages/h11/tests/helpers.py | 101 + .../h11/tests/test_against_stdlib_http.py | 115 + .../h11/tests/test_connection.py | 1122 ++ .../site-packages/h11/tests/test_events.py | 150 + .../site-packages/h11/tests/test_headers.py | 157 + .../site-packages/h11/tests/test_helpers.py | 32 + .../site-packages/h11/tests/test_io.py | 572 + .../h11/tests/test_receivebuffer.py | 135 + .../site-packages/h11/tests/test_state.py | 271 + .../site-packages/h11/tests/test_util.py | 112 + .../httpcore-1.0.7.dist-info/INSTALLER | 1 + .../httpcore-1.0.7.dist-info/METADATA | 616 + .../httpcore-1.0.7.dist-info/RECORD | 68 + .../httpcore-1.0.7.dist-info/WHEEL | 4 + .../licenses/LICENSE.md | 27 + .../site-packages/httpcore/__init__.py | 140 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 3913 bytes .../httpcore/__pycache__/_api.cpython-311.pyc | Bin 0 -> 4084 bytes .../__pycache__/_exceptions.cpython-311.pyc | Bin 0 -> 3800 bytes .../__pycache__/_models.cpython-311.pyc | Bin 0 -> 24534 bytes .../httpcore/__pycache__/_ssl.cpython-311.pyc | Bin 0 -> 628 bytes .../_synchronization.cpython-311.pyc | Bin 0 -> 15818 bytes .../__pycache__/_trace.cpython-311.pyc | Bin 0 -> 5888 bytes .../__pycache__/_utils.cpython-311.pyc | Bin 0 -> 1410 bytes .../python3.11/site-packages/httpcore/_api.py | 94 + .../site-packages/httpcore/_async/__init__.py | 39 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 1914 bytes .../__pycache__/connection.cpython-311.pyc | Bin 0 -> 12309 bytes .../connection_pool.cpython-311.pyc | Bin 0 -> 21610 bytes .../_async/__pycache__/http11.cpython-311.pyc | Bin 0 -> 21490 bytes .../_async/__pycache__/http2.cpython-311.pyc | Bin 0 -> 32646 bytes .../__pycache__/http_proxy.cpython-311.pyc | Bin 0 -> 18741 bytes .../__pycache__/interfaces.cpython-311.pyc | Bin 0 -> 6312 bytes .../__pycache__/socks_proxy.cpython-311.pyc | Bin 0 -> 17295 bytes .../httpcore/_async/connection.py | 222 + .../httpcore/_async/connection_pool.py | 420 + .../site-packages/httpcore/_async/http11.py | 379 + .../site-packages/httpcore/_async/http2.py | 583 + .../httpcore/_async/http_proxy.py | 367 + .../httpcore/_async/interfaces.py | 137 + .../httpcore/_async/socks_proxy.py | 341 + .../httpcore/_backends/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 192 bytes .../__pycache__/anyio.cpython-311.pyc | Bin 0 -> 9562 bytes .../__pycache__/auto.cpython-311.pyc | Bin 0 -> 2870 bytes .../__pycache__/base.cpython-311.pyc | Bin 0 -> 5308 bytes .../__pycache__/mock.cpython-311.pyc | Bin 0 -> 8017 bytes .../__pycache__/sync.cpython-311.pyc | Bin 0 -> 12710 bytes .../__pycache__/trio.cpython-311.pyc | Bin 0 -> 10082 bytes .../site-packages/httpcore/_backends/anyio.py | 146 + .../site-packages/httpcore/_backends/auto.py | 52 + .../site-packages/httpcore/_backends/base.py | 101 + .../site-packages/httpcore/_backends/mock.py | 143 + .../site-packages/httpcore/_backends/sync.py | 241 + .../site-packages/httpcore/_backends/trio.py | 159 + .../site-packages/httpcore/_exceptions.py | 81 + .../site-packages/httpcore/_models.py | 516 + .../python3.11/site-packages/httpcore/_ssl.py | 9 + .../site-packages/httpcore/_sync/__init__.py | 39 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 1868 bytes .../__pycache__/connection.cpython-311.pyc | Bin 0 -> 11110 bytes .../connection_pool.cpython-311.pyc | Bin 0 -> 20918 bytes .../_sync/__pycache__/http11.cpython-311.pyc | Bin 0 -> 19426 bytes .../_sync/__pycache__/http2.cpython-311.pyc | Bin 0 -> 29305 bytes .../__pycache__/http_proxy.cpython-311.pyc | Bin 0 -> 18035 bytes .../__pycache__/interfaces.cpython-311.pyc | Bin 0 -> 5970 bytes .../__pycache__/socks_proxy.cpython-311.pyc | Bin 0 -> 16272 bytes .../httpcore/_sync/connection.py | 222 + .../httpcore/_sync/connection_pool.py | 420 + .../site-packages/httpcore/_sync/http11.py | 379 + .../site-packages/httpcore/_sync/http2.py | 583 + .../httpcore/_sync/http_proxy.py | 367 + .../httpcore/_sync/interfaces.py | 137 + .../httpcore/_sync/socks_proxy.py | 341 + .../httpcore/_synchronization.py | 318 + .../site-packages/httpcore/_trace.py | 107 + .../site-packages/httpcore/_utils.py | 37 + .../site-packages/httpcore/py.typed | 0 .../httpx-0.28.1.dist-info/INSTALLER | 1 + .../httpx-0.28.1.dist-info/METADATA | 203 + .../httpx-0.28.1.dist-info/RECORD | 54 + .../httpx-0.28.1.dist-info/WHEEL | 4 + .../httpx-0.28.1.dist-info/entry_points.txt | 2 + .../licenses/LICENSE.md | 12 + .../site-packages/httpx/__init__.py | 105 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 2370 bytes .../__pycache__/__version__.cpython-311.pyc | Bin 0 -> 302 bytes .../httpx/__pycache__/_api.cpython-311.pyc | Bin 0 -> 9700 bytes .../httpx/__pycache__/_auth.cpython-311.pyc | Bin 0 -> 17042 bytes .../httpx/__pycache__/_client.cpython-311.pyc | Bin 0 -> 65525 bytes .../httpx/__pycache__/_config.cpython-311.pyc | Bin 0 -> 11499 bytes .../__pycache__/_content.cpython-311.pyc | Bin 0 -> 11936 bytes .../__pycache__/_decoders.cpython-311.pyc | Bin 0 -> 18900 bytes .../__pycache__/_exceptions.cpython-311.pyc | Bin 0 -> 14474 bytes .../httpx/__pycache__/_main.cpython-311.pyc | Bin 0 -> 23044 bytes .../httpx/__pycache__/_models.cpython-311.pyc | Bin 0 -> 66365 bytes .../__pycache__/_multipart.cpython-311.pyc | Bin 0 -> 15611 bytes .../__pycache__/_status_codes.cpython-311.pyc | Bin 0 -> 7545 bytes .../httpx/__pycache__/_types.cpython-311.pyc | Bin 0 -> 4649 bytes .../__pycache__/_urlparse.cpython-311.pyc | Bin 0 -> 20273 bytes .../httpx/__pycache__/_urls.cpython-311.pyc | Bin 0 -> 30744 bytes .../httpx/__pycache__/_utils.cpython-311.pyc | Bin 0 -> 10371 bytes .../site-packages/httpx/__version__.py | 3 + .../python3.11/site-packages/httpx/_api.py | 438 + .../python3.11/site-packages/httpx/_auth.py | 348 + .../python3.11/site-packages/httpx/_client.py | 2019 +++ .../python3.11/site-packages/httpx/_config.py | 248 + .../site-packages/httpx/_content.py | 240 + .../site-packages/httpx/_decoders.py | 393 + .../site-packages/httpx/_exceptions.py | 379 + .../python3.11/site-packages/httpx/_main.py | 506 + .../python3.11/site-packages/httpx/_models.py | 1277 ++ .../site-packages/httpx/_multipart.py | 300 + .../site-packages/httpx/_status_codes.py | 162 + .../httpx/_transports/__init__.py | 15 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 476 bytes .../__pycache__/asgi.cpython-311.pyc | Bin 0 -> 8119 bytes .../__pycache__/base.cpython-311.pyc | Bin 0 -> 4203 bytes .../__pycache__/default.cpython-311.pyc | Bin 0 -> 17500 bytes .../__pycache__/mock.cpython-311.pyc | Bin 0 -> 2122 bytes .../__pycache__/wsgi.cpython-311.pyc | Bin 0 -> 7386 bytes .../site-packages/httpx/_transports/asgi.py | 187 + .../site-packages/httpx/_transports/base.py | 86 + .../httpx/_transports/default.py | 406 + .../site-packages/httpx/_transports/mock.py | 43 + .../site-packages/httpx/_transports/wsgi.py | 149 + .../python3.11/site-packages/httpx/_types.py | 114 + .../site-packages/httpx/_urlparse.py | 527 + .../python3.11/site-packages/httpx/_urls.py | 641 + .../python3.11/site-packages/httpx/_utils.py | 242 + .../python3.11/site-packages/httpx/py.typed | 0 .../idna-3.10.dist-info/INSTALLER | 1 + .../idna-3.10.dist-info/LICENSE.md | 31 + .../idna-3.10.dist-info/METADATA | 250 + .../site-packages/idna-3.10.dist-info/RECORD | 22 + .../site-packages/idna-3.10.dist-info/WHEEL | 4 + .../python3.11/site-packages/idna/__init__.py | 45 + .../idna/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 1085 bytes .../idna/__pycache__/codec.cpython-311.pyc | Bin 0 -> 5767 bytes .../idna/__pycache__/compat.cpython-311.pyc | Bin 0 -> 1007 bytes .../idna/__pycache__/core.cpython-311.pyc | Bin 0 -> 19254 bytes .../idna/__pycache__/idnadata.cpython-311.pyc | Bin 0 -> 101526 bytes .../__pycache__/intranges.cpython-311.pyc | Bin 0 -> 2965 bytes .../__pycache__/package_data.cpython-311.pyc | Bin 0 -> 201 bytes .../__pycache__/uts46data.cpython-311.pyc | Bin 0 -> 163156 bytes .../python3.11/site-packages/idna/codec.py | 122 + .../python3.11/site-packages/idna/compat.py | 15 + .../lib/python3.11/site-packages/idna/core.py | 437 + .../python3.11/site-packages/idna/idnadata.py | 4243 +++++++ .../site-packages/idna/intranges.py | 57 + .../site-packages/idna/package_data.py | 1 + .../python3.11/site-packages/idna/py.typed | 0 .../site-packages/idna/uts46data.py | 8681 +++++++++++++ .../nest_asyncio-1.6.0.dist-info/INSTALLER | 1 + .../nest_asyncio-1.6.0.dist-info/LICENSE | 25 + .../nest_asyncio-1.6.0.dist-info/METADATA | 87 + .../nest_asyncio-1.6.0.dist-info/RECORD | 9 + .../nest_asyncio-1.6.0.dist-info/REQUESTED | 0 .../nest_asyncio-1.6.0.dist-info/WHEEL | 5 + .../top_level.txt | 1 + .../python3.11/site-packages/nest_asyncio.py | 219 + .../pip-23.0.1.dist-info/INSTALLER | 1 + .../pip-23.0.1.dist-info/LICENSE.txt | 20 + .../pip-23.0.1.dist-info/METADATA | 88 + .../site-packages/pip-23.0.1.dist-info/RECORD | 996 ++ .../pip-23.0.1.dist-info/REQUESTED | 0 .../site-packages/pip-23.0.1.dist-info/WHEEL | 5 + .../pip-23.0.1.dist-info/entry_points.txt | 4 + .../pip-23.0.1.dist-info/top_level.txt | 1 + .../python3.11/site-packages/pip/__init__.py | 13 + .../python3.11/site-packages/pip/__main__.py | 31 + .../site-packages/pip/__pip-runner__.py | 50 + .../pip/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 766 bytes .../pip/__pycache__/__main__.cpython-311.pyc | Bin 0 -> 1075 bytes .../__pip-runner__.cpython-311.pyc | Bin 0 -> 2503 bytes .../site-packages/pip/_internal/__init__.py | 19 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 949 bytes .../__pycache__/build_env.cpython-311.pyc | Bin 0 -> 16069 bytes .../__pycache__/cache.cpython-311.pyc | Bin 0 -> 14694 bytes .../__pycache__/configuration.cpython-311.pyc | Bin 0 -> 19225 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 0 -> 38354 bytes .../__pycache__/main.cpython-311.pyc | Bin 0 -> 749 bytes .../__pycache__/pyproject.cpython-311.pyc | Bin 0 -> 5517 bytes .../self_outdated_check.cpython-311.pyc | Bin 0 -> 11319 bytes .../__pycache__/wheel_builder.cpython-311.pyc | Bin 0 -> 15989 bytes .../site-packages/pip/_internal/build_env.py | 311 + .../site-packages/pip/_internal/cache.py | 293 + .../pip/_internal/cli/__init__.py | 4 + .../cli/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 284 bytes .../autocompletion.cpython-311.pyc | Bin 0 -> 10074 bytes .../__pycache__/base_command.cpython-311.pyc | Bin 0 -> 11072 bytes .../__pycache__/cmdoptions.cpython-311.pyc | Bin 0 -> 32971 bytes .../command_context.cpython-311.pyc | Bin 0 -> 2106 bytes .../cli/__pycache__/main.cpython-311.pyc | Bin 0 -> 2361 bytes .../__pycache__/main_parser.cpython-311.pyc | Bin 0 -> 5520 bytes .../cli/__pycache__/parser.cpython-311.pyc | Bin 0 -> 17021 bytes .../__pycache__/progress_bars.cpython-311.pyc | Bin 0 -> 3168 bytes .../__pycache__/req_command.cpython-311.pyc | Bin 0 -> 20133 bytes .../cli/__pycache__/spinners.cpython-311.pyc | Bin 0 -> 8833 bytes .../__pycache__/status_codes.cpython-311.pyc | Bin 0 -> 372 bytes .../pip/_internal/cli/autocompletion.py | 171 + .../pip/_internal/cli/base_command.py | 216 + .../pip/_internal/cli/cmdoptions.py | 1055 ++ .../pip/_internal/cli/command_context.py | 27 + .../site-packages/pip/_internal/cli/main.py | 70 + .../pip/_internal/cli/main_parser.py | 134 + .../site-packages/pip/_internal/cli/parser.py | 294 + .../pip/_internal/cli/progress_bars.py | 68 + .../pip/_internal/cli/req_command.py | 502 + .../pip/_internal/cli/spinners.py | 159 + .../pip/_internal/cli/status_codes.py | 6 + .../pip/_internal/commands/__init__.py | 132 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 4452 bytes .../__pycache__/cache.cpython-311.pyc | Bin 0 -> 10551 bytes .../__pycache__/check.cpython-311.pyc | Bin 0 -> 2302 bytes .../__pycache__/completion.cpython-311.pyc | Bin 0 -> 5464 bytes .../__pycache__/configuration.cpython-311.pyc | Bin 0 -> 14893 bytes .../__pycache__/debug.cpython-311.pyc | Bin 0 -> 12001 bytes .../__pycache__/download.cpython-311.pyc | Bin 0 -> 7808 bytes .../__pycache__/freeze.cpython-311.pyc | Bin 0 -> 4153 bytes .../commands/__pycache__/hash.cpython-311.pyc | Bin 0 -> 3354 bytes .../commands/__pycache__/help.cpython-311.pyc | Bin 0 -> 1966 bytes .../__pycache__/index.cpython-311.pyc | Bin 0 -> 7789 bytes .../__pycache__/inspect.cpython-311.pyc | Bin 0 -> 4442 bytes .../__pycache__/install.cpython-311.pyc | Bin 0 -> 35371 bytes .../commands/__pycache__/list.cpython-311.pyc | Bin 0 -> 17503 bytes .../__pycache__/search.cpython-311.pyc | Bin 0 -> 8948 bytes .../commands/__pycache__/show.cpython-311.pyc | Bin 0 -> 11291 bytes .../__pycache__/uninstall.cpython-311.pyc | Bin 0 -> 5142 bytes .../__pycache__/wheel.cpython-311.pyc | Bin 0 -> 9948 bytes .../pip/_internal/commands/cache.py | 223 + .../pip/_internal/commands/check.py | 53 + .../pip/_internal/commands/completion.py | 126 + .../pip/_internal/commands/configuration.py | 282 + .../pip/_internal/commands/debug.py | 199 + .../pip/_internal/commands/download.py | 149 + .../pip/_internal/commands/freeze.py | 97 + .../pip/_internal/commands/hash.py | 59 + .../pip/_internal/commands/help.py | 41 + .../pip/_internal/commands/index.py | 139 + .../pip/_internal/commands/inspect.py | 92 + .../pip/_internal/commands/install.py | 873 ++ .../pip/_internal/commands/list.py | 367 + .../pip/_internal/commands/search.py | 174 + .../pip/_internal/commands/show.py | 189 + .../pip/_internal/commands/uninstall.py | 113 + .../pip/_internal/commands/wheel.py | 203 + .../pip/_internal/configuration.py | 374 + .../pip/_internal/distributions/__init__.py | 21 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 1034 bytes .../__pycache__/base.cpython-311.pyc | Bin 0 -> 2406 bytes .../__pycache__/installed.cpython-311.pyc | Bin 0 -> 1543 bytes .../__pycache__/sdist.cpython-311.pyc | Bin 0 -> 8945 bytes .../__pycache__/wheel.cpython-311.pyc | Bin 0 -> 2137 bytes .../pip/_internal/distributions/base.py | 39 + .../pip/_internal/distributions/installed.py | 23 + .../pip/_internal/distributions/sdist.py | 150 + .../pip/_internal/distributions/wheel.py | 34 + .../site-packages/pip/_internal/exceptions.py | 747 ++ .../pip/_internal/index/__init__.py | 2 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 238 bytes .../__pycache__/collector.cpython-311.pyc | Bin 0 -> 24544 bytes .../package_finder.cpython-311.pyc | Bin 0 -> 44216 bytes .../index/__pycache__/sources.cpython-311.pyc | Bin 0 -> 11020 bytes .../pip/_internal/index/collector.py | 505 + .../pip/_internal/index/package_finder.py | 1029 ++ .../pip/_internal/index/sources.py | 224 + .../pip/_internal/locations/__init__.py | 467 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 18176 bytes .../__pycache__/_distutils.cpython-311.pyc | Bin 0 -> 7585 bytes .../__pycache__/_sysconfig.cpython-311.pyc | Bin 0 -> 8880 bytes .../__pycache__/base.cpython-311.pyc | Bin 0 -> 4001 bytes .../pip/_internal/locations/_distutils.py | 173 + .../pip/_internal/locations/_sysconfig.py | 213 + .../pip/_internal/locations/base.py | 81 + .../site-packages/pip/_internal/main.py | 12 + .../pip/_internal/metadata/__init__.py | 127 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 6409 bytes .../__pycache__/_json.cpython-311.pyc | Bin 0 -> 3563 bytes .../metadata/__pycache__/base.cpython-311.pyc | Bin 0 -> 38008 bytes .../__pycache__/pkg_resources.cpython-311.pyc | Bin 0 -> 16856 bytes .../pip/_internal/metadata/_json.py | 84 + .../pip/_internal/metadata/base.py | 688 + .../_internal/metadata/importlib/__init__.py | 4 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 355 bytes .../__pycache__/_compat.cpython-311.pyc | Bin 0 -> 3562 bytes .../__pycache__/_dists.cpython-311.pyc | Bin 0 -> 14578 bytes .../__pycache__/_envs.cpython-311.pyc | Bin 0 -> 12416 bytes .../_internal/metadata/importlib/_compat.py | 55 + .../_internal/metadata/importlib/_dists.py | 224 + .../pip/_internal/metadata/importlib/_envs.py | 188 + .../pip/_internal/metadata/pkg_resources.py | 270 + .../pip/_internal/models/__init__.py | 2 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 272 bytes .../__pycache__/candidate.cpython-311.pyc | Bin 0 -> 2091 bytes .../__pycache__/direct_url.cpython-311.pyc | Bin 0 -> 12254 bytes .../format_control.cpython-311.pyc | Bin 0 -> 4655 bytes .../models/__pycache__/index.cpython-311.pyc | Bin 0 -> 1897 bytes .../installation_report.cpython-311.pyc | Bin 0 -> 2611 bytes .../models/__pycache__/link.cpython-311.pyc | Bin 0 -> 26443 bytes .../models/__pycache__/scheme.cpython-311.pyc | Bin 0 -> 1263 bytes .../__pycache__/search_scope.cpython-311.pyc | Bin 0 -> 5826 bytes .../selection_prefs.cpython-311.pyc | Bin 0 -> 1994 bytes .../__pycache__/target_python.cpython-311.pyc | Bin 0 -> 4756 bytes .../models/__pycache__/wheel.cpython-311.pyc | Bin 0 -> 6419 bytes .../pip/_internal/models/candidate.py | 34 + .../pip/_internal/models/direct_url.py | 228 + .../pip/_internal/models/format_control.py | 80 + .../pip/_internal/models/index.py | 28 + .../_internal/models/installation_report.py | 53 + .../pip/_internal/models/link.py | 524 + .../pip/_internal/models/scheme.py | 31 + .../pip/_internal/models/search_scope.py | 133 + .../pip/_internal/models/selection_prefs.py | 51 + .../pip/_internal/models/target_python.py | 110 + .../pip/_internal/models/wheel.py | 92 + .../pip/_internal/network/__init__.py | 2 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 260 bytes .../network/__pycache__/auth.cpython-311.pyc | Bin 0 -> 19064 bytes .../network/__pycache__/cache.cpython-311.pyc | Bin 0 -> 5183 bytes .../__pycache__/download.cpython-311.pyc | Bin 0 -> 9575 bytes .../__pycache__/lazy_wheel.cpython-311.pyc | Bin 0 -> 13021 bytes .../__pycache__/session.cpython-311.pyc | Bin 0 -> 21288 bytes .../network/__pycache__/utils.cpython-311.pyc | Bin 0 -> 2409 bytes .../__pycache__/xmlrpc.cpython-311.pyc | Bin 0 -> 3188 bytes .../pip/_internal/network/auth.py | 446 + .../pip/_internal/network/cache.py | 69 + .../pip/_internal/network/download.py | 186 + .../pip/_internal/network/lazy_wheel.py | 210 + .../pip/_internal/network/session.py | 518 + .../pip/_internal/network/utils.py | 96 + .../pip/_internal/network/xmlrpc.py | 60 + .../pip/_internal/operations/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 198 bytes .../__pycache__/check.cpython-311.pyc | Bin 0 -> 6631 bytes .../__pycache__/freeze.cpython-311.pyc | Bin 0 -> 11594 bytes .../__pycache__/prepare.cpython-311.pyc | Bin 0 -> 26378 bytes .../_internal/operations/build/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 204 bytes .../__pycache__/build_tracker.cpython-311.pyc | Bin 0 -> 8127 bytes .../__pycache__/metadata.cpython-311.pyc | Bin 0 -> 2275 bytes .../metadata_editable.cpython-311.pyc | Bin 0 -> 2311 bytes .../metadata_legacy.cpython-311.pyc | Bin 0 -> 3711 bytes .../build/__pycache__/wheel.cpython-311.pyc | Bin 0 -> 1941 bytes .../wheel_editable.cpython-311.pyc | Bin 0 -> 2385 bytes .../__pycache__/wheel_legacy.cpython-311.pyc | Bin 0 -> 4492 bytes .../operations/build/build_tracker.py | 124 + .../_internal/operations/build/metadata.py | 39 + .../operations/build/metadata_editable.py | 41 + .../operations/build/metadata_legacy.py | 74 + .../pip/_internal/operations/build/wheel.py | 37 + .../operations/build/wheel_editable.py | 46 + .../operations/build/wheel_legacy.py | 102 + .../pip/_internal/operations/check.py | 149 + .../pip/_internal/operations/freeze.py | 254 + .../_internal/operations/install/__init__.py | 2 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 272 bytes .../editable_legacy.cpython-311.pyc | Bin 0 -> 2268 bytes .../__pycache__/legacy.cpython-311.pyc | Bin 0 -> 6108 bytes .../install/__pycache__/wheel.cpython-311.pyc | Bin 0 -> 39994 bytes .../operations/install/editable_legacy.py | 47 + .../_internal/operations/install/legacy.py | 120 + .../pip/_internal/operations/install/wheel.py | 738 ++ .../pip/_internal/operations/prepare.py | 667 + .../site-packages/pip/_internal/pyproject.py | 174 + .../pip/_internal/req/__init__.py | 94 + .../req/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 4444 bytes .../__pycache__/constructors.cpython-311.pyc | Bin 0 -> 20703 bytes .../req/__pycache__/req_file.cpython-311.pyc | Bin 0 -> 22432 bytes .../__pycache__/req_install.cpython-311.pyc | Bin 0 -> 40344 bytes .../req/__pycache__/req_set.cpython-311.pyc | Bin 0 -> 6000 bytes .../__pycache__/req_uninstall.cpython-311.pyc | Bin 0 -> 36998 bytes .../pip/_internal/req/constructors.py | 501 + .../pip/_internal/req/req_file.py | 544 + .../pip/_internal/req/req_install.py | 946 ++ .../pip/_internal/req/req_set.py | 82 + .../pip/_internal/req/req_uninstall.py | 640 + .../pip/_internal/resolution/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 198 bytes .../__pycache__/base.cpython-311.pyc | Bin 0 -> 1369 bytes .../pip/_internal/resolution/base.py | 20 + .../_internal/resolution/legacy/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 205 bytes .../__pycache__/resolver.cpython-311.pyc | Bin 0 -> 23791 bytes .../_internal/resolution/legacy/resolver.py | 600 + .../resolution/resolvelib/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 209 bytes .../__pycache__/base.cpython-311.pyc | Bin 0 -> 9622 bytes .../__pycache__/candidates.cpython-311.pyc | Bin 0 -> 28832 bytes .../__pycache__/factory.cpython-311.pyc | Bin 0 -> 31976 bytes .../found_candidates.cpython-311.pyc | Bin 0 -> 6757 bytes .../__pycache__/provider.cpython-311.pyc | Bin 0 -> 11051 bytes .../__pycache__/reporter.cpython-311.pyc | Bin 0 -> 4654 bytes .../__pycache__/requirements.cpython-311.pyc | Bin 0 -> 11119 bytes .../__pycache__/resolver.cpython-311.pyc | Bin 0 -> 12306 bytes .../_internal/resolution/resolvelib/base.py | 141 + .../resolution/resolvelib/candidates.py | 556 + .../resolution/resolvelib/factory.py | 731 ++ .../resolution/resolvelib/found_candidates.py | 155 + .../resolution/resolvelib/provider.py | 248 + .../resolution/resolvelib/reporter.py | 68 + .../resolution/resolvelib/requirements.py | 166 + .../resolution/resolvelib/resolver.py | 296 + .../pip/_internal/self_outdated_check.py | 242 + .../pip/_internal/utils/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 193 bytes .../utils/__pycache__/_log.cpython-311.pyc | Bin 0 -> 2014 bytes .../utils/__pycache__/appdirs.cpython-311.pyc | Bin 0 -> 2552 bytes .../utils/__pycache__/compat.cpython-311.pyc | Bin 0 -> 2260 bytes .../compatibility_tags.cpython-311.pyc | Bin 0 -> 6752 bytes .../__pycache__/datetime.cpython-311.pyc | Bin 0 -> 710 bytes .../__pycache__/deprecation.cpython-311.pyc | Bin 0 -> 7083 bytes .../direct_url_helpers.cpython-311.pyc | Bin 0 -> 3716 bytes .../distutils_args.cpython-311.pyc | Bin 0 -> 1460 bytes .../__pycache__/egg_link.cpython-311.pyc | Bin 0 -> 3231 bytes .../__pycache__/encoding.cpython-311.pyc | Bin 0 -> 2316 bytes .../__pycache__/entrypoints.cpython-311.pyc | Bin 0 -> 4238 bytes .../__pycache__/filesystem.cpython-311.pyc | Bin 0 -> 8223 bytes .../__pycache__/filetypes.cpython-311.pyc | Bin 0 -> 1309 bytes .../utils/__pycache__/glibc.cpython-311.pyc | Bin 0 -> 2552 bytes .../utils/__pycache__/hashes.cpython-311.pyc | Bin 0 -> 8330 bytes .../inject_securetransport.cpython-311.pyc | Bin 0 -> 1327 bytes .../utils/__pycache__/logging.cpython-311.pyc | Bin 0 -> 15452 bytes .../utils/__pycache__/misc.cpython-311.pyc | Bin 0 -> 37694 bytes .../utils/__pycache__/models.cpython-311.pyc | Bin 0 -> 2933 bytes .../__pycache__/packaging.cpython-311.pyc | Bin 0 -> 2800 bytes .../setuptools_build.cpython-311.pyc | Bin 0 -> 6097 bytes .../__pycache__/subprocess.cpython-311.pyc | Bin 0 -> 9887 bytes .../__pycache__/temp_dir.cpython-311.pyc | Bin 0 -> 11414 bytes .../__pycache__/unpacking.cpython-311.pyc | Bin 0 -> 12889 bytes .../utils/__pycache__/urls.cpython-311.pyc | Bin 0 -> 2686 bytes .../__pycache__/virtualenv.cpython-311.pyc | Bin 0 -> 4933 bytes .../utils/__pycache__/wheel.cpython-311.pyc | Bin 0 -> 7103 bytes .../site-packages/pip/_internal/utils/_log.py | 38 + .../pip/_internal/utils/appdirs.py | 52 + .../pip/_internal/utils/compat.py | 63 + .../pip/_internal/utils/compatibility_tags.py | 165 + .../pip/_internal/utils/datetime.py | 11 + .../pip/_internal/utils/deprecation.py | 188 + .../pip/_internal/utils/direct_url_helpers.py | 87 + .../pip/_internal/utils/distutils_args.py | 43 + .../pip/_internal/utils/egg_link.py | 72 + .../pip/_internal/utils/encoding.py | 36 + .../pip/_internal/utils/entrypoints.py | 84 + .../pip/_internal/utils/filesystem.py | 153 + .../pip/_internal/utils/filetypes.py | 27 + .../pip/_internal/utils/glibc.py | 88 + .../pip/_internal/utils/hashes.py | 144 + .../_internal/utils/inject_securetransport.py | 35 + .../pip/_internal/utils/logging.py | 348 + .../site-packages/pip/_internal/utils/misc.py | 763 ++ .../pip/_internal/utils/models.py | 39 + .../pip/_internal/utils/packaging.py | 57 + .../pip/_internal/utils/setuptools_build.py | 195 + .../pip/_internal/utils/subprocess.py | 260 + .../pip/_internal/utils/temp_dir.py | 246 + .../pip/_internal/utils/unpacking.py | 257 + .../site-packages/pip/_internal/utils/urls.py | 62 + .../pip/_internal/utils/virtualenv.py | 104 + .../pip/_internal/utils/wheel.py | 136 + .../pip/_internal/vcs/__init__.py | 15 + .../vcs/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 628 bytes .../vcs/__pycache__/bazaar.cpython-311.pyc | Bin 0 -> 5853 bytes .../vcs/__pycache__/git.cpython-311.pyc | Bin 0 -> 21517 bytes .../vcs/__pycache__/mercurial.cpython-311.pyc | Bin 0 -> 8699 bytes .../__pycache__/subversion.cpython-311.pyc | Bin 0 -> 14596 bytes .../versioncontrol.cpython-311.pyc | Bin 0 -> 31865 bytes .../site-packages/pip/_internal/vcs/bazaar.py | 112 + .../site-packages/pip/_internal/vcs/git.py | 526 + .../pip/_internal/vcs/mercurial.py | 163 + .../pip/_internal/vcs/subversion.py | 324 + .../pip/_internal/vcs/versioncontrol.py | 705 ++ .../pip/_internal/wheel_builder.py | 382 + .../site-packages/pip/_vendor/__init__.py | 120 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 5606 bytes .../_vendor/__pycache__/six.cpython-311.pyc | Bin 0 -> 46408 bytes .../typing_extensions.cpython-311.pyc | Bin 0 -> 97438 bytes .../pip/_vendor/cachecontrol/__init__.py | 18 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 835 bytes .../__pycache__/_cmd.cpython-311.pyc | Bin 0 -> 2690 bytes .../__pycache__/adapter.cpython-311.pyc | Bin 0 -> 5497 bytes .../__pycache__/cache.cpython-311.pyc | Bin 0 -> 3771 bytes .../__pycache__/compat.cpython-311.pyc | Bin 0 -> 1128 bytes .../__pycache__/controller.cpython-311.pyc | Bin 0 -> 16443 bytes .../__pycache__/filewrapper.cpython-311.pyc | Bin 0 -> 4230 bytes .../__pycache__/heuristics.cpython-311.pyc | Bin 0 -> 6675 bytes .../__pycache__/serialize.cpython-311.pyc | Bin 0 -> 8390 bytes .../__pycache__/wrapper.cpython-311.pyc | Bin 0 -> 956 bytes .../pip/_vendor/cachecontrol/_cmd.py | 61 + .../pip/_vendor/cachecontrol/adapter.py | 137 + .../pip/_vendor/cachecontrol/cache.py | 65 + .../_vendor/cachecontrol/caches/__init__.py | 9 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 410 bytes .../__pycache__/file_cache.cpython-311.pyc | Bin 0 -> 8393 bytes .../__pycache__/redis_cache.cpython-311.pyc | Bin 0 -> 2490 bytes .../_vendor/cachecontrol/caches/file_cache.py | 188 + .../cachecontrol/caches/redis_cache.py | 39 + .../pip/_vendor/cachecontrol/compat.py | 32 + .../pip/_vendor/cachecontrol/controller.py | 439 + .../pip/_vendor/cachecontrol/filewrapper.py | 111 + .../pip/_vendor/cachecontrol/heuristics.py | 139 + .../pip/_vendor/cachecontrol/serialize.py | 190 + .../pip/_vendor/cachecontrol/wrapper.py | 33 + .../pip/_vendor/certifi/__init__.py | 4 + .../pip/_vendor/certifi/__main__.py | 12 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 335 bytes .../__pycache__/__main__.cpython-311.pyc | Bin 0 -> 736 bytes .../certifi/__pycache__/core.cpython-311.pyc | Bin 0 -> 3978 bytes .../pip/_vendor/certifi/cacert.pem | 4527 +++++++ .../site-packages/pip/_vendor/certifi/core.py | 119 + .../pip/_vendor/chardet/__init__.py | 115 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 5067 bytes .../__pycache__/big5freq.cpython-311.pyc | Bin 0 -> 27197 bytes .../__pycache__/big5prober.cpython-311.pyc | Bin 0 -> 1672 bytes .../chardistribution.cpython-311.pyc | Bin 0 -> 11264 bytes .../charsetgroupprober.cpython-311.pyc | Bin 0 -> 4294 bytes .../__pycache__/charsetprober.cpython-311.pyc | Bin 0 -> 5540 bytes .../codingstatemachine.cpython-311.pyc | Bin 0 -> 3991 bytes .../codingstatemachinedict.cpython-311.pyc | Bin 0 -> 947 bytes .../__pycache__/cp949prober.cpython-311.pyc | Bin 0 -> 1681 bytes .../chardet/__pycache__/enums.cpython-311.pyc | Bin 0 -> 3382 bytes .../__pycache__/escprober.cpython-311.pyc | Bin 0 -> 4898 bytes .../chardet/__pycache__/escsm.cpython-311.pyc | Bin 0 -> 12637 bytes .../__pycache__/eucjpprober.cpython-311.pyc | Bin 0 -> 4724 bytes .../__pycache__/euckrfreq.cpython-311.pyc | Bin 0 -> 12080 bytes .../__pycache__/euckrprober.cpython-311.pyc | Bin 0 -> 1673 bytes .../__pycache__/euctwfreq.cpython-311.pyc | Bin 0 -> 27202 bytes .../__pycache__/euctwprober.cpython-311.pyc | Bin 0 -> 1673 bytes .../__pycache__/gb2312freq.cpython-311.pyc | Bin 0 -> 19124 bytes .../__pycache__/gb2312prober.cpython-311.pyc | Bin 0 -> 1688 bytes .../__pycache__/hebrewprober.cpython-311.pyc | Bin 0 -> 5677 bytes .../__pycache__/jisfreq.cpython-311.pyc | Bin 0 -> 22153 bytes .../__pycache__/johabfreq.cpython-311.pyc | Bin 0 -> 84657 bytes .../__pycache__/johabprober.cpython-311.pyc | Bin 0 -> 1679 bytes .../__pycache__/jpcntx.cpython-311.pyc | Bin 0 -> 40161 bytes .../langbulgarianmodel.cpython-311.pyc | Bin 0 -> 85831 bytes .../langgreekmodel.cpython-311.pyc | Bin 0 -> 79253 bytes .../langhebrewmodel.cpython-311.pyc | Bin 0 -> 80015 bytes .../langhungarianmodel.cpython-311.pyc | Bin 0 -> 85785 bytes .../langrussianmodel.cpython-311.pyc | Bin 0 -> 108732 bytes .../__pycache__/langthaimodel.cpython-311.pyc | Bin 0 -> 80193 bytes .../langturkishmodel.cpython-311.pyc | Bin 0 -> 80032 bytes .../__pycache__/latin1prober.cpython-311.pyc | Bin 0 -> 7328 bytes .../macromanprober.cpython-311.pyc | Bin 0 -> 7495 bytes .../mbcharsetprober.cpython-311.pyc | Bin 0 -> 4116 bytes .../mbcsgroupprober.cpython-311.pyc | Bin 0 -> 1986 bytes .../__pycache__/mbcssm.cpython-311.pyc | Bin 0 -> 31726 bytes .../__pycache__/resultdict.cpython-311.pyc | Bin 0 -> 765 bytes .../sbcharsetprober.cpython-311.pyc | Bin 0 -> 6391 bytes .../sbcsgroupprober.cpython-311.pyc | Bin 0 -> 2936 bytes .../__pycache__/sjisprober.cpython-311.pyc | Bin 0 -> 4829 bytes .../universaldetector.cpython-311.pyc | Bin 0 -> 12457 bytes .../__pycache__/utf1632prober.cpython-311.pyc | Bin 0 -> 10577 bytes .../__pycache__/utf8prober.cpython-311.pyc | Bin 0 -> 3464 bytes .../__pycache__/version.cpython-311.pyc | Bin 0 -> 500 bytes .../pip/_vendor/chardet/big5freq.py | 386 + .../pip/_vendor/chardet/big5prober.py | 47 + .../pip/_vendor/chardet/chardistribution.py | 261 + .../pip/_vendor/chardet/charsetgroupprober.py | 106 + .../pip/_vendor/chardet/charsetprober.py | 147 + .../pip/_vendor/chardet/cli/__init__.py | 0 .../cli/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 197 bytes .../__pycache__/chardetect.cpython-311.pyc | Bin 0 -> 4336 bytes .../pip/_vendor/chardet/cli/chardetect.py | 112 + .../pip/_vendor/chardet/codingstatemachine.py | 90 + .../_vendor/chardet/codingstatemachinedict.py | 19 + .../pip/_vendor/chardet/cp949prober.py | 49 + .../pip/_vendor/chardet/enums.py | 85 + .../pip/_vendor/chardet/escprober.py | 102 + .../pip/_vendor/chardet/escsm.py | 261 + .../pip/_vendor/chardet/eucjpprober.py | 102 + .../pip/_vendor/chardet/euckrfreq.py | 196 + .../pip/_vendor/chardet/euckrprober.py | 47 + .../pip/_vendor/chardet/euctwfreq.py | 388 + .../pip/_vendor/chardet/euctwprober.py | 47 + .../pip/_vendor/chardet/gb2312freq.py | 284 + .../pip/_vendor/chardet/gb2312prober.py | 47 + .../pip/_vendor/chardet/hebrewprober.py | 316 + .../pip/_vendor/chardet/jisfreq.py | 325 + .../pip/_vendor/chardet/johabfreq.py | 2382 ++++ .../pip/_vendor/chardet/johabprober.py | 47 + .../pip/_vendor/chardet/jpcntx.py | 238 + .../pip/_vendor/chardet/langbulgarianmodel.py | 4649 +++++++ .../pip/_vendor/chardet/langgreekmodel.py | 4397 +++++++ .../pip/_vendor/chardet/langhebrewmodel.py | 4380 +++++++ .../pip/_vendor/chardet/langhungarianmodel.py | 4649 +++++++ .../pip/_vendor/chardet/langrussianmodel.py | 5725 +++++++++ .../pip/_vendor/chardet/langthaimodel.py | 4380 +++++++ .../pip/_vendor/chardet/langturkishmodel.py | 4380 +++++++ .../pip/_vendor/chardet/latin1prober.py | 147 + .../pip/_vendor/chardet/macromanprober.py | 162 + .../pip/_vendor/chardet/mbcharsetprober.py | 95 + .../pip/_vendor/chardet/mbcsgroupprober.py | 57 + .../pip/_vendor/chardet/mbcssm.py | 661 + .../pip/_vendor/chardet/metadata/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 202 bytes .../__pycache__/languages.cpython-311.pyc | Bin 0 -> 10802 bytes .../pip/_vendor/chardet/metadata/languages.py | 352 + .../pip/_vendor/chardet/resultdict.py | 16 + .../pip/_vendor/chardet/sbcharsetprober.py | 162 + .../pip/_vendor/chardet/sbcsgroupprober.py | 88 + .../pip/_vendor/chardet/sjisprober.py | 105 + .../pip/_vendor/chardet/universaldetector.py | 362 + .../pip/_vendor/chardet/utf1632prober.py | 225 + .../pip/_vendor/chardet/utf8prober.py | 82 + .../pip/_vendor/chardet/version.py | 9 + .../pip/_vendor/colorama/__init__.py | 7 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 569 bytes .../colorama/__pycache__/ansi.cpython-311.pyc | Bin 0 -> 4567 bytes .../__pycache__/ansitowin32.cpython-311.pyc | Bin 0 -> 16213 bytes .../__pycache__/initialise.cpython-311.pyc | Bin 0 -> 3930 bytes .../__pycache__/win32.cpython-311.pyc | Bin 0 -> 7918 bytes .../__pycache__/winterm.cpython-311.pyc | Bin 0 -> 9144 bytes .../pip/_vendor/colorama/ansi.py | 102 + .../pip/_vendor/colorama/ansitowin32.py | 277 + .../pip/_vendor/colorama/initialise.py | 121 + .../pip/_vendor/colorama/tests/__init__.py | 1 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 200 bytes .../__pycache__/ansi_test.cpython-311.pyc | Bin 0 -> 5845 bytes .../ansitowin32_test.cpython-311.pyc | Bin 0 -> 21512 bytes .../initialise_test.cpython-311.pyc | Bin 0 -> 14139 bytes .../__pycache__/isatty_test.cpython-311.pyc | Bin 0 -> 6704 bytes .../tests/__pycache__/utils.cpython-311.pyc | Bin 0 -> 2879 bytes .../__pycache__/winterm_test.cpython-311.pyc | Bin 0 -> 7232 bytes .../pip/_vendor/colorama/tests/ansi_test.py | 76 + .../colorama/tests/ansitowin32_test.py | 294 + .../_vendor/colorama/tests/initialise_test.py | 189 + .../pip/_vendor/colorama/tests/isatty_test.py | 57 + .../pip/_vendor/colorama/tests/utils.py | 49 + .../_vendor/colorama/tests/winterm_test.py | 131 + .../pip/_vendor/colorama/win32.py | 180 + .../pip/_vendor/colorama/winterm.py | 195 + .../pip/_vendor/distlib/__init__.py | 23 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 1438 bytes .../__pycache__/compat.cpython-311.pyc | Bin 0 -> 52304 bytes .../__pycache__/database.cpython-311.pyc | Bin 0 -> 72092 bytes .../distlib/__pycache__/index.cpython-311.pyc | Bin 0 -> 26681 bytes .../__pycache__/locators.cpython-311.pyc | Bin 0 -> 65857 bytes .../__pycache__/manifest.cpython-311.pyc | Bin 0 -> 17024 bytes .../__pycache__/markers.cpython-311.pyc | Bin 0 -> 8160 bytes .../__pycache__/metadata.cpython-311.pyc | Bin 0 -> 47108 bytes .../__pycache__/resources.cpython-311.pyc | Bin 0 -> 18987 bytes .../__pycache__/scripts.cpython-311.pyc | Bin 0 -> 21263 bytes .../distlib/__pycache__/util.cpython-311.pyc | Bin 0 -> 97442 bytes .../__pycache__/version.cpython-311.pyc | Bin 0 -> 34569 bytes .../distlib/__pycache__/wheel.cpython-311.pyc | Bin 0 -> 60373 bytes .../pip/_vendor/distlib/compat.py | 1116 ++ .../pip/_vendor/distlib/database.py | 1350 ++ .../pip/_vendor/distlib/index.py | 508 + .../pip/_vendor/distlib/locators.py | 1300 ++ .../pip/_vendor/distlib/manifest.py | 393 + .../pip/_vendor/distlib/markers.py | 152 + .../pip/_vendor/distlib/metadata.py | 1076 ++ .../pip/_vendor/distlib/resources.py | 358 + .../pip/_vendor/distlib/scripts.py | 437 + .../site-packages/pip/_vendor/distlib/util.py | 1932 +++ .../pip/_vendor/distlib/version.py | 739 ++ .../pip/_vendor/distlib/wheel.py | 1082 ++ .../pip/_vendor/distro/__init__.py | 54 + .../pip/_vendor/distro/__main__.py | 4 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 1191 bytes .../__pycache__/__main__.cpython-311.pyc | Bin 0 -> 325 bytes .../distro/__pycache__/distro.cpython-311.pyc | Bin 0 -> 57724 bytes .../pip/_vendor/distro/distro.py | 1399 +++ .../pip/_vendor/idna/__init__.py | 44 + .../idna/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 1092 bytes .../idna/__pycache__/codec.cpython-311.pyc | Bin 0 -> 5383 bytes .../idna/__pycache__/compat.cpython-311.pyc | Bin 0 -> 1009 bytes .../idna/__pycache__/core.cpython-311.pyc | Bin 0 -> 19444 bytes .../idna/__pycache__/idnadata.cpython-311.pyc | Bin 0 -> 38968 bytes .../__pycache__/intranges.cpython-311.pyc | Bin 0 -> 2977 bytes .../__pycache__/package_data.cpython-311.pyc | Bin 0 -> 212 bytes .../__pycache__/uts46data.cpython-311.pyc | Bin 0 -> 163192 bytes .../site-packages/pip/_vendor/idna/codec.py | 112 + .../site-packages/pip/_vendor/idna/compat.py | 13 + .../site-packages/pip/_vendor/idna/core.py | 400 + .../pip/_vendor/idna/idnadata.py | 2151 ++++ .../pip/_vendor/idna/intranges.py | 54 + .../pip/_vendor/idna/package_data.py | 2 + .../pip/_vendor/idna/uts46data.py | 8600 +++++++++++++ .../pip/_vendor/msgpack/__init__.py | 57 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 2071 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 0 -> 2372 bytes .../msgpack/__pycache__/ext.cpython-311.pyc | Bin 0 -> 9158 bytes .../__pycache__/fallback.cpython-311.pyc | Bin 0 -> 47185 bytes .../pip/_vendor/msgpack/exceptions.py | 48 + .../site-packages/pip/_vendor/msgpack/ext.py | 193 + .../pip/_vendor/msgpack/fallback.py | 1010 ++ .../pip/_vendor/packaging/__about__.py | 26 + .../pip/_vendor/packaging/__init__.py | 25 + .../__pycache__/__about__.cpython-311.pyc | Bin 0 -> 636 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 557 bytes .../__pycache__/_manylinux.cpython-311.pyc | Bin 0 -> 13223 bytes .../__pycache__/_musllinux.cpython-311.pyc | Bin 0 -> 7991 bytes .../__pycache__/_structures.cpython-311.pyc | Bin 0 -> 3679 bytes .../__pycache__/markers.cpython-311.pyc | Bin 0 -> 16519 bytes .../__pycache__/requirements.cpython-311.pyc | Bin 0 -> 7634 bytes .../__pycache__/specifiers.cpython-311.pyc | Bin 0 -> 34357 bytes .../__pycache__/tags.cpython-311.pyc | Bin 0 -> 21342 bytes .../__pycache__/utils.cpython-311.pyc | Bin 0 -> 6677 bytes .../__pycache__/version.cpython-311.pyc | Bin 0 -> 21869 bytes .../pip/_vendor/packaging/_manylinux.py | 301 + .../pip/_vendor/packaging/_musllinux.py | 136 + .../pip/_vendor/packaging/_structures.py | 61 + .../pip/_vendor/packaging/markers.py | 304 + .../pip/_vendor/packaging/requirements.py | 146 + .../pip/_vendor/packaging/specifiers.py | 802 ++ .../pip/_vendor/packaging/tags.py | 487 + .../pip/_vendor/packaging/utils.py | 136 + .../pip/_vendor/packaging/version.py | 504 + .../pip/_vendor/pkg_resources/__init__.py | 3296 +++++ .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 158225 bytes .../__pycache__/py31compat.cpython-311.pyc | Bin 0 -> 978 bytes .../pip/_vendor/pkg_resources/py31compat.py | 23 + .../pip/_vendor/platformdirs/__init__.py | 342 + .../pip/_vendor/platformdirs/__main__.py | 46 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 12924 bytes .../__pycache__/__main__.cpython-311.pyc | Bin 0 -> 2121 bytes .../__pycache__/android.cpython-311.pyc | Bin 0 -> 6351 bytes .../__pycache__/api.cpython-311.pyc | Bin 0 -> 7178 bytes .../__pycache__/macos.cpython-311.pyc | Bin 0 -> 4588 bytes .../__pycache__/unix.cpython-311.pyc | Bin 0 -> 11020 bytes .../__pycache__/version.cpython-311.pyc | Bin 0 -> 307 bytes .../__pycache__/windows.cpython-311.pyc | Bin 0 -> 9956 bytes .../pip/_vendor/platformdirs/android.py | 120 + .../pip/_vendor/platformdirs/api.py | 156 + .../pip/_vendor/platformdirs/macos.py | 64 + .../pip/_vendor/platformdirs/unix.py | 181 + .../pip/_vendor/platformdirs/version.py | 4 + .../pip/_vendor/platformdirs/windows.py | 184 + .../pip/_vendor/pygments/__init__.py | 82 + .../pip/_vendor/pygments/__main__.py | 17 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 3839 bytes .../__pycache__/__main__.cpython-311.pyc | Bin 0 -> 775 bytes .../__pycache__/cmdline.cpython-311.pyc | Bin 0 -> 30286 bytes .../__pycache__/console.cpython-311.pyc | Bin 0 -> 3038 bytes .../__pycache__/filter.cpython-311.pyc | Bin 0 -> 3499 bytes .../__pycache__/formatter.cpython-311.pyc | Bin 0 -> 3865 bytes .../__pycache__/lexer.cpython-311.pyc | Bin 0 -> 40393 bytes .../__pycache__/modeline.cpython-311.pyc | Bin 0 -> 1718 bytes .../__pycache__/plugin.cpython-311.pyc | Bin 0 -> 3731 bytes .../__pycache__/regexopt.cpython-311.pyc | Bin 0 -> 5025 bytes .../__pycache__/scanner.cpython-311.pyc | Bin 0 -> 4880 bytes .../__pycache__/sphinxext.cpython-311.pyc | Bin 0 -> 8311 bytes .../__pycache__/style.cpython-311.pyc | Bin 0 -> 7419 bytes .../__pycache__/token.cpython-311.pyc | Bin 0 -> 7459 bytes .../__pycache__/unistring.cpython-311.pyc | Bin 0 -> 33793 bytes .../pygments/__pycache__/util.cpython-311.pyc | Bin 0 -> 14586 bytes .../pip/_vendor/pygments/cmdline.py | 668 + .../pip/_vendor/pygments/console.py | 70 + .../pip/_vendor/pygments/filter.py | 71 + .../pip/_vendor/pygments/filters/__init__.py | 940 ++ .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 40099 bytes .../pip/_vendor/pygments/formatter.py | 94 + .../_vendor/pygments/formatters/__init__.py | 143 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 6865 bytes .../__pycache__/_mapping.cpython-311.pyc | Bin 0 -> 4147 bytes .../__pycache__/bbcode.cpython-311.pyc | Bin 0 -> 4473 bytes .../__pycache__/groff.cpython-311.pyc | Bin 0 -> 7806 bytes .../__pycache__/html.cpython-311.pyc | Bin 0 -> 42591 bytes .../__pycache__/img.cpython-311.pyc | Bin 0 -> 28563 bytes .../__pycache__/irc.cpython-311.pyc | Bin 0 -> 7666 bytes .../__pycache__/latex.cpython-311.pyc | Bin 0 -> 21799 bytes .../__pycache__/other.cpython-311.pyc | Bin 0 -> 7627 bytes .../__pycache__/pangomarkup.cpython-311.pyc | Bin 0 -> 3171 bytes .../__pycache__/rtf.cpython-311.pyc | Bin 0 -> 6838 bytes .../__pycache__/svg.cpython-311.pyc | Bin 0 -> 9658 bytes .../__pycache__/terminal.cpython-311.pyc | Bin 0 -> 6037 bytes .../__pycache__/terminal256.cpython-311.pyc | Bin 0 -> 16403 bytes .../_vendor/pygments/formatters/_mapping.py | 23 + .../pip/_vendor/pygments/formatters/bbcode.py | 108 + .../pip/_vendor/pygments/formatters/groff.py | 170 + .../pip/_vendor/pygments/formatters/html.py | 989 ++ .../pip/_vendor/pygments/formatters/img.py | 645 + .../pip/_vendor/pygments/formatters/irc.py | 179 + .../pip/_vendor/pygments/formatters/latex.py | 521 + .../pip/_vendor/pygments/formatters/other.py | 161 + .../pygments/formatters/pangomarkup.py | 83 + .../pip/_vendor/pygments/formatters/rtf.py | 146 + .../pip/_vendor/pygments/formatters/svg.py | 188 + .../_vendor/pygments/formatters/terminal.py | 127 + .../pygments/formatters/terminal256.py | 338 + .../pip/_vendor/pygments/lexer.py | 882 ++ .../pip/_vendor/pygments/lexers/__init__.py | 335 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 15142 bytes .../__pycache__/_mapping.cpython-311.pyc | Bin 0 -> 62773 bytes .../lexers/__pycache__/python.cpython-311.pyc | Bin 0 -> 43974 bytes .../pip/_vendor/pygments/lexers/_mapping.py | 541 + .../pip/_vendor/pygments/lexers/python.py | 1204 ++ .../pip/_vendor/pygments/modeline.py | 43 + .../pip/_vendor/pygments/plugin.py | 88 + .../pip/_vendor/pygments/regexopt.py | 91 + .../pip/_vendor/pygments/scanner.py | 104 + .../pip/_vendor/pygments/sphinxext.py | 155 + .../pip/_vendor/pygments/style.py | 197 + .../pip/_vendor/pygments/styles/__init__.py | 97 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 4452 bytes .../pip/_vendor/pygments/token.py | 213 + .../pip/_vendor/pygments/unistring.py | 153 + .../pip/_vendor/pygments/util.py | 308 + .../pip/_vendor/pyparsing/__init__.py | 331 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 8342 bytes .../__pycache__/actions.cpython-311.pyc | Bin 0 -> 8456 bytes .../__pycache__/common.cpython-311.pyc | Bin 0 -> 14778 bytes .../__pycache__/core.cpython-311.pyc | Bin 0 -> 277664 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 0 -> 12920 bytes .../__pycache__/helpers.cpython-311.pyc | Bin 0 -> 53621 bytes .../__pycache__/results.cpython-311.pyc | Bin 0 -> 36304 bytes .../__pycache__/testing.cpython-311.pyc | Bin 0 -> 19500 bytes .../__pycache__/unicode.cpython-311.pyc | Bin 0 -> 15358 bytes .../__pycache__/util.cpython-311.pyc | Bin 0 -> 14257 bytes .../pip/_vendor/pyparsing/actions.py | 207 + .../pip/_vendor/pyparsing/common.py | 424 + .../pip/_vendor/pyparsing/core.py | 5814 +++++++++ .../pip/_vendor/pyparsing/diagram/__init__.py | 642 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 28023 bytes .../pip/_vendor/pyparsing/exceptions.py | 267 + .../pip/_vendor/pyparsing/helpers.py | 1088 ++ .../pip/_vendor/pyparsing/results.py | 760 ++ .../pip/_vendor/pyparsing/testing.py | 331 + .../pip/_vendor/pyparsing/unicode.py | 352 + .../pip/_vendor/pyparsing/util.py | 235 + .../pip/_vendor/pyproject_hooks/__init__.py | 23 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 700 bytes .../__pycache__/_compat.cpython-311.pyc | Bin 0 -> 398 bytes .../__pycache__/_impl.cpython-311.pyc | Bin 0 -> 16664 bytes .../pip/_vendor/pyproject_hooks/_compat.py | 8 + .../pip/_vendor/pyproject_hooks/_impl.py | 330 + .../pyproject_hooks/_in_process/__init__.py | 18 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 1160 bytes .../__pycache__/_in_process.cpython-311.pyc | Bin 0 -> 16482 bytes .../_in_process/_in_process.py | 353 + .../pip/_vendor/requests/__init__.py | 182 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 6444 bytes .../__pycache__/__version__.cpython-311.pyc | Bin 0 -> 581 bytes .../_internal_utils.cpython-311.pyc | Bin 0 -> 2078 bytes .../__pycache__/adapters.cpython-311.pyc | Bin 0 -> 24881 bytes .../requests/__pycache__/api.cpython-311.pyc | Bin 0 -> 7426 bytes .../requests/__pycache__/auth.cpython-311.pyc | Bin 0 -> 14625 bytes .../__pycache__/certs.cpython-311.pyc | Bin 0 -> 977 bytes .../__pycache__/compat.cpython-311.pyc | Bin 0 -> 1803 bytes .../__pycache__/cookies.cpython-311.pyc | Bin 0 -> 27105 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 0 -> 8520 bytes .../requests/__pycache__/help.cpython-311.pyc | Bin 0 -> 4515 bytes .../__pycache__/hooks.cpython-311.pyc | Bin 0 -> 1245 bytes .../__pycache__/models.cpython-311.pyc | Bin 0 -> 38776 bytes .../__pycache__/packages.cpython-311.pyc | Bin 0 -> 825 bytes .../__pycache__/sessions.cpython-311.pyc | Bin 0 -> 29614 bytes .../__pycache__/status_codes.cpython-311.pyc | Bin 0 -> 6232 bytes .../__pycache__/structures.cpython-311.pyc | Bin 0 -> 6217 bytes .../__pycache__/utils.cpython-311.pyc | Bin 0 -> 40131 bytes .../pip/_vendor/requests/__version__.py | 14 + .../pip/_vendor/requests/_internal_utils.py | 48 + .../pip/_vendor/requests/adapters.py | 584 + .../site-packages/pip/_vendor/requests/api.py | 157 + .../pip/_vendor/requests/auth.py | 315 + .../pip/_vendor/requests/certs.py | 24 + .../pip/_vendor/requests/compat.py | 67 + .../pip/_vendor/requests/cookies.py | 561 + .../pip/_vendor/requests/exceptions.py | 141 + .../pip/_vendor/requests/help.py | 131 + .../pip/_vendor/requests/hooks.py | 33 + .../pip/_vendor/requests/models.py | 1034 ++ .../pip/_vendor/requests/packages.py | 16 + .../pip/_vendor/requests/sessions.py | 831 ++ .../pip/_vendor/requests/status_codes.py | 128 + .../pip/_vendor/requests/structures.py | 99 + .../pip/_vendor/requests/utils.py | 1086 ++ .../pip/_vendor/resolvelib/__init__.py | 26 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 748 bytes .../__pycache__/providers.cpython-311.pyc | Bin 0 -> 7067 bytes .../__pycache__/reporters.cpython-311.pyc | Bin 0 -> 2797 bytes .../__pycache__/resolvers.cpython-311.pyc | Bin 0 -> 25243 bytes .../__pycache__/structs.cpython-311.pyc | Bin 0 -> 11325 bytes .../pip/_vendor/resolvelib/compat/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 203 bytes .../collections_abc.cpython-311.pyc | Bin 0 -> 478 bytes .../resolvelib/compat/collections_abc.py | 6 + .../pip/_vendor/resolvelib/providers.py | 133 + .../pip/_vendor/resolvelib/reporters.py | 43 + .../pip/_vendor/resolvelib/resolvers.py | 482 + .../pip/_vendor/resolvelib/structs.py | 165 + .../pip/_vendor/rich/__init__.py | 177 + .../pip/_vendor/rich/__main__.py | 274 + .../rich/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 7491 bytes .../rich/__pycache__/__main__.cpython-311.pyc | Bin 0 -> 11569 bytes .../__pycache__/_cell_widths.cpython-311.pyc | Bin 0 -> 7830 bytes .../__pycache__/_emoji_codes.cpython-311.pyc | Bin 0 -> 208517 bytes .../_emoji_replace.cpython-311.pyc | Bin 0 -> 1929 bytes .../_export_format.cpython-311.pyc | Bin 0 -> 2334 bytes .../__pycache__/_extension.cpython-311.pyc | Bin 0 -> 630 bytes .../rich/__pycache__/_inspect.cpython-311.pyc | Bin 0 -> 14182 bytes .../__pycache__/_log_render.cpython-311.pyc | Bin 0 -> 4764 bytes .../rich/__pycache__/_loop.cpython-311.pyc | Bin 0 -> 2110 bytes .../__pycache__/_null_file.cpython-311.pyc | Bin 0 -> 4675 bytes .../__pycache__/_palettes.cpython-311.pyc | Bin 0 -> 5246 bytes .../rich/__pycache__/_pick.cpython-311.pyc | Bin 0 -> 791 bytes .../rich/__pycache__/_ratio.cpython-311.pyc | Bin 0 -> 7929 bytes .../__pycache__/_spinners.cpython-311.pyc | Bin 0 -> 13679 bytes .../rich/__pycache__/_stack.cpython-311.pyc | Bin 0 -> 1125 bytes .../rich/__pycache__/_timer.cpython-311.pyc | Bin 0 -> 978 bytes .../_win32_console.cpython-311.pyc | Bin 0 -> 30166 bytes .../rich/__pycache__/_windows.cpython-311.pyc | Bin 0 -> 2825 bytes .../_windows_renderer.cpython-311.pyc | Bin 0 -> 4016 bytes .../rich/__pycache__/_wrap.cpython-311.pyc | Bin 0 -> 2781 bytes .../rich/__pycache__/abc.cpython-311.pyc | Bin 0 -> 1922 bytes .../rich/__pycache__/align.cpython-311.pyc | Bin 0 -> 13471 bytes .../rich/__pycache__/ansi.cpython-311.pyc | Bin 0 -> 10447 bytes .../rich/__pycache__/bar.cpython-311.pyc | Bin 0 -> 4544 bytes .../rich/__pycache__/box.cpython-311.pyc | Bin 0 -> 12986 bytes .../rich/__pycache__/cells.cpython-311.pyc | Bin 0 -> 6436 bytes .../rich/__pycache__/color.cpython-311.pyc | Bin 0 -> 27567 bytes .../__pycache__/color_triplet.cpython-311.pyc | Bin 0 -> 1870 bytes .../rich/__pycache__/columns.cpython-311.pyc | Bin 0 -> 10641 bytes .../rich/__pycache__/console.cpython-311.pyc | Bin 0 -> 123157 bytes .../__pycache__/constrain.cpython-311.pyc | Bin 0 -> 2462 bytes .../__pycache__/containers.cpython-311.pyc | Bin 0 -> 10803 bytes .../rich/__pycache__/control.cpython-311.pyc | Bin 0 -> 11894 bytes .../default_styles.cpython-311.pyc | Bin 0 -> 12494 bytes .../rich/__pycache__/diagnose.cpython-311.pyc | Bin 0 -> 1817 bytes .../rich/__pycache__/emoji.cpython-311.pyc | Bin 0 -> 4795 bytes .../rich/__pycache__/errors.cpython-311.pyc | Bin 0 -> 2326 bytes .../__pycache__/file_proxy.cpython-311.pyc | Bin 0 -> 3774 bytes .../rich/__pycache__/filesize.cpython-311.pyc | Bin 0 -> 3298 bytes .../__pycache__/highlighter.cpython-311.pyc | Bin 0 -> 10985 bytes .../rich/__pycache__/json.cpython-311.pyc | Bin 0 -> 6678 bytes .../rich/__pycache__/jupyter.cpython-311.pyc | Bin 0 -> 6401 bytes .../rich/__pycache__/layout.cpython-311.pyc | Bin 0 -> 23308 bytes .../rich/__pycache__/live.cpython-311.pyc | Bin 0 -> 21129 bytes .../__pycache__/live_render.cpython-311.pyc | Bin 0 -> 5142 bytes .../rich/__pycache__/logging.cpython-311.pyc | Bin 0 -> 14513 bytes .../rich/__pycache__/markup.cpython-311.pyc | Bin 0 -> 10435 bytes .../rich/__pycache__/measure.cpython-311.pyc | Bin 0 -> 7268 bytes .../rich/__pycache__/padding.cpython-311.pyc | Bin 0 -> 7484 bytes .../rich/__pycache__/pager.cpython-311.pyc | Bin 0 -> 2242 bytes .../rich/__pycache__/palette.cpython-311.pyc | Bin 0 -> 5975 bytes .../rich/__pycache__/panel.cpython-311.pyc | Bin 0 -> 12731 bytes .../rich/__pycache__/pretty.cpython-311.pyc | Bin 0 -> 44824 bytes .../rich/__pycache__/progress.cpython-311.pyc | Bin 0 -> 82703 bytes .../__pycache__/progress_bar.cpython-311.pyc | Bin 0 -> 11009 bytes .../rich/__pycache__/prompt.cpython-311.pyc | Bin 0 -> 16375 bytes .../rich/__pycache__/protocol.cpython-311.pyc | Bin 0 -> 2093 bytes .../rich/__pycache__/region.cpython-311.pyc | Bin 0 -> 656 bytes .../rich/__pycache__/repr.cpython-311.pyc | Bin 0 -> 7655 bytes .../rich/__pycache__/rule.cpython-311.pyc | Bin 0 -> 7694 bytes .../rich/__pycache__/scope.cpython-311.pyc | Bin 0 -> 4348 bytes .../rich/__pycache__/screen.cpython-311.pyc | Bin 0 -> 2771 bytes .../rich/__pycache__/segment.cpython-311.pyc | Bin 0 -> 31538 bytes .../rich/__pycache__/spinner.cpython-311.pyc | Bin 0 -> 6887 bytes .../rich/__pycache__/status.cpython-311.pyc | Bin 0 -> 6755 bytes .../rich/__pycache__/style.cpython-311.pyc | Bin 0 -> 34328 bytes .../rich/__pycache__/styled.cpython-311.pyc | Bin 0 -> 2436 bytes .../rich/__pycache__/syntax.cpython-311.pyc | Bin 0 -> 42530 bytes .../rich/__pycache__/table.cpython-311.pyc | Bin 0 -> 48797 bytes .../terminal_theme.cpython-311.pyc | Bin 0 -> 3702 bytes .../rich/__pycache__/text.cpython-311.pyc | Bin 0 -> 65213 bytes .../rich/__pycache__/theme.cpython-311.pyc | Bin 0 -> 7140 bytes .../rich/__pycache__/themes.cpython-311.pyc | Bin 0 -> 352 bytes .../__pycache__/traceback.cpython-311.pyc | Bin 0 -> 31666 bytes .../rich/__pycache__/tree.cpython-311.pyc | Bin 0 -> 12523 bytes .../pip/_vendor/rich/_cell_widths.py | 451 + .../pip/_vendor/rich/_emoji_codes.py | 3610 ++++++ .../pip/_vendor/rich/_emoji_replace.py | 32 + .../pip/_vendor/rich/_export_format.py | 78 + .../pip/_vendor/rich/_extension.py | 10 + .../pip/_vendor/rich/_inspect.py | 270 + .../pip/_vendor/rich/_log_render.py | 94 + .../site-packages/pip/_vendor/rich/_loop.py | 43 + .../pip/_vendor/rich/_null_file.py | 83 + .../pip/_vendor/rich/_palettes.py | 309 + .../site-packages/pip/_vendor/rich/_pick.py | 17 + .../site-packages/pip/_vendor/rich/_ratio.py | 160 + .../pip/_vendor/rich/_spinners.py | 482 + .../site-packages/pip/_vendor/rich/_stack.py | 16 + .../site-packages/pip/_vendor/rich/_timer.py | 19 + .../pip/_vendor/rich/_win32_console.py | 662 + .../pip/_vendor/rich/_windows.py | 72 + .../pip/_vendor/rich/_windows_renderer.py | 56 + .../site-packages/pip/_vendor/rich/_wrap.py | 56 + .../site-packages/pip/_vendor/rich/abc.py | 33 + .../site-packages/pip/_vendor/rich/align.py | 311 + .../site-packages/pip/_vendor/rich/ansi.py | 237 + .../site-packages/pip/_vendor/rich/bar.py | 94 + .../site-packages/pip/_vendor/rich/box.py | 517 + .../site-packages/pip/_vendor/rich/cells.py | 154 + .../site-packages/pip/_vendor/rich/color.py | 618 + .../pip/_vendor/rich/color_triplet.py | 38 + .../site-packages/pip/_vendor/rich/columns.py | 187 + .../site-packages/pip/_vendor/rich/console.py | 2612 ++++ .../pip/_vendor/rich/constrain.py | 37 + .../pip/_vendor/rich/containers.py | 167 + .../site-packages/pip/_vendor/rich/control.py | 225 + .../pip/_vendor/rich/default_styles.py | 188 + .../pip/_vendor/rich/diagnose.py | 37 + .../site-packages/pip/_vendor/rich/emoji.py | 96 + .../site-packages/pip/_vendor/rich/errors.py | 34 + .../pip/_vendor/rich/file_proxy.py | 54 + .../pip/_vendor/rich/filesize.py | 89 + .../pip/_vendor/rich/highlighter.py | 232 + .../site-packages/pip/_vendor/rich/json.py | 140 + .../site-packages/pip/_vendor/rich/jupyter.py | 101 + .../site-packages/pip/_vendor/rich/layout.py | 443 + .../site-packages/pip/_vendor/rich/live.py | 373 + .../pip/_vendor/rich/live_render.py | 113 + .../site-packages/pip/_vendor/rich/logging.py | 289 + .../site-packages/pip/_vendor/rich/markup.py | 246 + .../site-packages/pip/_vendor/rich/measure.py | 151 + .../site-packages/pip/_vendor/rich/padding.py | 141 + .../site-packages/pip/_vendor/rich/pager.py | 34 + .../site-packages/pip/_vendor/rich/palette.py | 100 + .../site-packages/pip/_vendor/rich/panel.py | 308 + .../site-packages/pip/_vendor/rich/pretty.py | 1029 ++ .../pip/_vendor/rich/progress.py | 1707 +++ .../pip/_vendor/rich/progress_bar.py | 224 + .../site-packages/pip/_vendor/rich/prompt.py | 376 + .../pip/_vendor/rich/protocol.py | 42 + .../site-packages/pip/_vendor/rich/region.py | 10 + .../site-packages/pip/_vendor/rich/repr.py | 149 + .../site-packages/pip/_vendor/rich/rule.py | 134 + .../site-packages/pip/_vendor/rich/scope.py | 86 + .../site-packages/pip/_vendor/rich/screen.py | 54 + .../site-packages/pip/_vendor/rich/segment.py | 739 ++ .../site-packages/pip/_vendor/rich/spinner.py | 136 + .../site-packages/pip/_vendor/rich/status.py | 132 + .../site-packages/pip/_vendor/rich/style.py | 773 ++ .../site-packages/pip/_vendor/rich/styled.py | 42 + .../site-packages/pip/_vendor/rich/syntax.py | 945 ++ .../site-packages/pip/_vendor/rich/table.py | 1002 ++ .../pip/_vendor/rich/terminal_theme.py | 153 + .../site-packages/pip/_vendor/rich/text.py | 1311 ++ .../site-packages/pip/_vendor/rich/theme.py | 112 + .../site-packages/pip/_vendor/rich/themes.py | 5 + .../pip/_vendor/rich/traceback.py | 677 + .../site-packages/pip/_vendor/rich/tree.py | 251 + .../site-packages/pip/_vendor/six.py | 998 ++ .../pip/_vendor/tenacity/__init__.py | 519 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 27790 bytes .../__pycache__/_asyncio.cpython-311.pyc | Bin 0 -> 4797 bytes .../__pycache__/_utils.cpython-311.pyc | Bin 0 -> 2062 bytes .../__pycache__/after.cpython-311.pyc | Bin 0 -> 1689 bytes .../__pycache__/before.cpython-311.pyc | Bin 0 -> 1523 bytes .../__pycache__/before_sleep.cpython-311.pyc | Bin 0 -> 2100 bytes .../tenacity/__pycache__/nap.cpython-311.pyc | Bin 0 -> 1562 bytes .../__pycache__/retry.cpython-311.pyc | Bin 0 -> 15036 bytes .../tenacity/__pycache__/stop.cpython-311.pyc | Bin 0 -> 5890 bytes .../__pycache__/tornadoweb.cpython-311.pyc | Bin 0 -> 2908 bytes .../tenacity/__pycache__/wait.cpython-311.pyc | Bin 0 -> 13362 bytes .../pip/_vendor/tenacity/_asyncio.py | 92 + .../pip/_vendor/tenacity/_utils.py | 68 + .../pip/_vendor/tenacity/after.py | 46 + .../pip/_vendor/tenacity/before.py | 41 + .../pip/_vendor/tenacity/before_sleep.py | 58 + .../site-packages/pip/_vendor/tenacity/nap.py | 43 + .../pip/_vendor/tenacity/retry.py | 240 + .../pip/_vendor/tenacity/stop.py | 96 + .../pip/_vendor/tenacity/tornadoweb.py | 59 + .../pip/_vendor/tenacity/wait.py | 232 + .../pip/_vendor/tomli/__init__.py | 11 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 407 bytes .../tomli/__pycache__/_parser.cpython-311.pyc | Bin 0 -> 30846 bytes .../tomli/__pycache__/_re.cpython-311.pyc | Bin 0 -> 4486 bytes .../tomli/__pycache__/_types.cpython-311.pyc | Bin 0 -> 399 bytes .../pip/_vendor/tomli/_parser.py | 691 + .../site-packages/pip/_vendor/tomli/_re.py | 107 + .../site-packages/pip/_vendor/tomli/_types.py | 10 + .../pip/_vendor/typing_extensions.py | 2209 ++++ .../pip/_vendor/urllib3/__init__.py | 102 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 3705 bytes .../__pycache__/_collections.cpython-311.pyc | Bin 0 -> 18293 bytes .../__pycache__/_version.cpython-311.pyc | Bin 0 -> 215 bytes .../__pycache__/connection.cpython-311.pyc | Bin 0 -> 21889 bytes .../connectionpool.cpython-311.pyc | Bin 0 -> 37632 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 0 -> 16119 bytes .../__pycache__/fields.cpython-311.pyc | Bin 0 -> 11412 bytes .../__pycache__/filepost.cpython-311.pyc | Bin 0 -> 4493 bytes .../__pycache__/poolmanager.cpython-311.pyc | Bin 0 -> 21816 bytes .../__pycache__/request.cpython-311.pyc | Bin 0 -> 6656 bytes .../__pycache__/response.cpython-311.pyc | Bin 0 -> 36539 bytes .../pip/_vendor/urllib3/_collections.py | 337 + .../pip/_vendor/urllib3/_version.py | 2 + .../pip/_vendor/urllib3/connection.py | 567 + .../pip/_vendor/urllib3/connectionpool.py | 1110 ++ .../pip/_vendor/urllib3/contrib/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 201 bytes .../_appengine_environ.cpython-311.pyc | Bin 0 -> 1940 bytes .../__pycache__/appengine.cpython-311.pyc | Bin 0 -> 12147 bytes .../__pycache__/ntlmpool.cpython-311.pyc | Bin 0 -> 6224 bytes .../__pycache__/pyopenssl.cpython-311.pyc | Bin 0 -> 25733 bytes .../securetransport.cpython-311.pyc | Bin 0 -> 36840 bytes .../contrib/__pycache__/socks.cpython-311.pyc | Bin 0 -> 8085 bytes .../urllib3/contrib/_appengine_environ.py | 36 + .../contrib/_securetransport/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 218 bytes .../__pycache__/bindings.cpython-311.pyc | Bin 0 -> 16965 bytes .../__pycache__/low_level.cpython-311.pyc | Bin 0 -> 15602 bytes .../contrib/_securetransport/bindings.py | 519 + .../contrib/_securetransport/low_level.py | 397 + .../pip/_vendor/urllib3/contrib/appengine.py | 314 + .../pip/_vendor/urllib3/contrib/ntlmpool.py | 130 + .../pip/_vendor/urllib3/contrib/pyopenssl.py | 518 + .../urllib3/contrib/securetransport.py | 921 ++ .../pip/_vendor/urllib3/contrib/socks.py | 216 + .../pip/_vendor/urllib3/exceptions.py | 323 + .../pip/_vendor/urllib3/fields.py | 274 + .../pip/_vendor/urllib3/filepost.py | 98 + .../pip/_vendor/urllib3/packages/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 202 bytes .../packages/__pycache__/six.cpython-311.pyc | Bin 0 -> 46444 bytes .../urllib3/packages/backports/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 212 bytes .../__pycache__/makefile.cpython-311.pyc | Bin 0 -> 1959 bytes .../urllib3/packages/backports/makefile.py | 51 + .../pip/_vendor/urllib3/packages/six.py | 1076 ++ .../pip/_vendor/urllib3/poolmanager.py | 537 + .../pip/_vendor/urllib3/request.py | 170 + .../pip/_vendor/urllib3/response.py | 879 ++ .../pip/_vendor/urllib3/util/__init__.py | 49 + .../util/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 1404 bytes .../__pycache__/connection.cpython-311.pyc | Bin 0 -> 5131 bytes .../util/__pycache__/proxy.cpython-311.pyc | Bin 0 -> 1713 bytes .../util/__pycache__/queue.cpython-311.pyc | Bin 0 -> 1496 bytes .../util/__pycache__/request.cpython-311.pyc | Bin 0 -> 4616 bytes .../util/__pycache__/response.cpython-311.pyc | Bin 0 -> 3485 bytes .../util/__pycache__/retry.cpython-311.pyc | Bin 0 -> 22753 bytes .../util/__pycache__/ssl_.cpython-311.pyc | Bin 0 -> 16816 bytes .../ssl_match_hostname.cpython-311.pyc | Bin 0 -> 5795 bytes .../__pycache__/ssltransport.cpython-311.pyc | Bin 0 -> 11624 bytes .../util/__pycache__/timeout.cpython-311.pyc | Bin 0 -> 11032 bytes .../util/__pycache__/url.cpython-311.pyc | Bin 0 -> 17556 bytes .../util/__pycache__/wait.cpython-311.pyc | Bin 0 -> 4998 bytes .../pip/_vendor/urllib3/util/connection.py | 149 + .../pip/_vendor/urllib3/util/proxy.py | 57 + .../pip/_vendor/urllib3/util/queue.py | 22 + .../pip/_vendor/urllib3/util/request.py | 137 + .../pip/_vendor/urllib3/util/response.py | 107 + .../pip/_vendor/urllib3/util/retry.py | 620 + .../pip/_vendor/urllib3/util/ssl_.py | 495 + .../urllib3/util/ssl_match_hostname.py | 159 + .../pip/_vendor/urllib3/util/ssltransport.py | 221 + .../pip/_vendor/urllib3/util/timeout.py | 268 + .../pip/_vendor/urllib3/util/url.py | 435 + .../pip/_vendor/urllib3/util/wait.py | 152 + .../site-packages/pip/_vendor/vendor.txt | 23 + .../pip/_vendor/webencodings/__init__.py | 342 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 12878 bytes .../__pycache__/labels.cpython-311.pyc | Bin 0 -> 7278 bytes .../__pycache__/mklabels.cpython-311.pyc | Bin 0 -> 3206 bytes .../__pycache__/tests.cpython-311.pyc | Bin 0 -> 11184 bytes .../x_user_defined.cpython-311.pyc | Bin 0 -> 3558 bytes .../pip/_vendor/webencodings/labels.py | 231 + .../pip/_vendor/webencodings/mklabels.py | 59 + .../pip/_vendor/webencodings/tests.py | 153 + .../_vendor/webencodings/x_user_defined.py | 325 + .../lib/python3.11/site-packages/pip/py.typed | 4 + .../site-packages/pkg_resources/__init__.py | 3282 +++++ .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 156109 bytes .../pkg_resources/_vendor/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 195 bytes .../typing_extensions.cpython-311.pyc | Bin 0 -> 97412 bytes .../_vendor/__pycache__/zipp.cpython-311.pyc | Bin 0 -> 15988 bytes .../_vendor/importlib_resources/__init__.py | 36 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 829 bytes .../__pycache__/_adapters.cpython-311.pyc | Bin 0 -> 10746 bytes .../__pycache__/_common.cpython-311.pyc | Bin 0 -> 4273 bytes .../__pycache__/_compat.cpython-311.pyc | Bin 0 -> 5558 bytes .../__pycache__/_itertools.cpython-311.pyc | Bin 0 -> 1391 bytes .../__pycache__/_legacy.cpython-311.pyc | Bin 0 -> 6489 bytes .../__pycache__/abc.cpython-311.pyc | Bin 0 -> 7490 bytes .../__pycache__/readers.cpython-311.pyc | Bin 0 -> 8364 bytes .../__pycache__/simple.cpython-311.pyc | Bin 0 -> 6386 bytes .../_vendor/importlib_resources/_adapters.py | 170 + .../_vendor/importlib_resources/_common.py | 104 + .../_vendor/importlib_resources/_compat.py | 98 + .../_vendor/importlib_resources/_itertools.py | 35 + .../_vendor/importlib_resources/_legacy.py | 121 + .../_vendor/importlib_resources/abc.py | 137 + .../_vendor/importlib_resources/readers.py | 122 + .../_vendor/importlib_resources/simple.py | 116 + .../pkg_resources/_vendor/jaraco/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 202 bytes .../__pycache__/context.cpython-311.pyc | Bin 0 -> 10977 bytes .../__pycache__/functools.cpython-311.pyc | Bin 0 -> 20288 bytes .../pkg_resources/_vendor/jaraco/context.py | 253 + .../pkg_resources/_vendor/jaraco/functools.py | 525 + .../_vendor/jaraco/text/__init__.py | 599 + .../text/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 26605 bytes .../_vendor/more_itertools/__init__.py | 6 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 374 bytes .../__pycache__/more.cpython-311.pyc | Bin 0 -> 169496 bytes .../__pycache__/recipes.cpython-311.pyc | Bin 0 -> 33516 bytes .../_vendor/more_itertools/more.py | 4346 +++++++ .../_vendor/more_itertools/recipes.py | 841 ++ .../_vendor/packaging/__about__.py | 26 + .../_vendor/packaging/__init__.py | 25 + .../__pycache__/__about__.cpython-311.pyc | Bin 0 -> 646 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 567 bytes .../__pycache__/_manylinux.cpython-311.pyc | Bin 0 -> 13233 bytes .../__pycache__/_musllinux.cpython-311.pyc | Bin 0 -> 8001 bytes .../__pycache__/_structures.cpython-311.pyc | Bin 0 -> 3689 bytes .../__pycache__/markers.cpython-311.pyc | Bin 0 -> 16538 bytes .../__pycache__/requirements.cpython-311.pyc | Bin 0 -> 7653 bytes .../__pycache__/specifiers.cpython-311.pyc | Bin 0 -> 34367 bytes .../__pycache__/tags.cpython-311.pyc | Bin 0 -> 21352 bytes .../__pycache__/utils.cpython-311.pyc | Bin 0 -> 6687 bytes .../__pycache__/version.cpython-311.pyc | Bin 0 -> 21879 bytes .../_vendor/packaging/_manylinux.py | 301 + .../_vendor/packaging/_musllinux.py | 136 + .../_vendor/packaging/_structures.py | 61 + .../_vendor/packaging/markers.py | 304 + .../_vendor/packaging/requirements.py | 146 + .../_vendor/packaging/specifiers.py | 802 ++ .../pkg_resources/_vendor/packaging/tags.py | 487 + .../pkg_resources/_vendor/packaging/utils.py | 136 + .../_vendor/packaging/version.py | 504 + .../_vendor/platformdirs/__init__.py | 342 + .../_vendor/platformdirs/__main__.py | 46 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 12827 bytes .../__pycache__/__main__.cpython-311.pyc | Bin 0 -> 2119 bytes .../__pycache__/android.cpython-311.pyc | Bin 0 -> 6361 bytes .../__pycache__/api.cpython-311.pyc | Bin 0 -> 7188 bytes .../__pycache__/macos.cpython-311.pyc | Bin 0 -> 4598 bytes .../__pycache__/unix.cpython-311.pyc | Bin 0 -> 11030 bytes .../__pycache__/version.cpython-311.pyc | Bin 0 -> 317 bytes .../__pycache__/windows.cpython-311.pyc | Bin 0 -> 9966 bytes .../_vendor/platformdirs/android.py | 120 + .../pkg_resources/_vendor/platformdirs/api.py | 156 + .../_vendor/platformdirs/macos.py | 64 + .../_vendor/platformdirs/unix.py | 181 + .../_vendor/platformdirs/version.py | 4 + .../_vendor/platformdirs/windows.py | 184 + .../_vendor/pyparsing/__init__.py | 331 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 8340 bytes .../__pycache__/actions.cpython-311.pyc | Bin 0 -> 8466 bytes .../__pycache__/common.cpython-311.pyc | Bin 0 -> 14788 bytes .../__pycache__/core.cpython-311.pyc | Bin 0 -> 277640 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 0 -> 12930 bytes .../__pycache__/helpers.cpython-311.pyc | Bin 0 -> 53631 bytes .../__pycache__/results.cpython-311.pyc | Bin 0 -> 36314 bytes .../__pycache__/testing.cpython-311.pyc | Bin 0 -> 19510 bytes .../__pycache__/unicode.cpython-311.pyc | Bin 0 -> 15368 bytes .../__pycache__/util.cpython-311.pyc | Bin 0 -> 14267 bytes .../_vendor/pyparsing/actions.py | 207 + .../pkg_resources/_vendor/pyparsing/common.py | 424 + .../pkg_resources/_vendor/pyparsing/core.py | 5814 +++++++++ .../_vendor/pyparsing/diagram/__init__.py | 642 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 28003 bytes .../_vendor/pyparsing/exceptions.py | 267 + .../_vendor/pyparsing/helpers.py | 1088 ++ .../_vendor/pyparsing/results.py | 760 ++ .../_vendor/pyparsing/testing.py | 331 + .../_vendor/pyparsing/unicode.py | 352 + .../pkg_resources/_vendor/pyparsing/util.py | 235 + .../_vendor/typing_extensions.py | 2209 ++++ .../pkg_resources/_vendor/zipp.py | 329 + .../pkg_resources/extern/__init__.py | 81 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 4318 bytes .../INSTALLER | 1 + .../METADATA | 299 + .../RECORD | 429 + .../REQUESTED | 0 .../WHEEL | 4 + .../licenses/LICENSE | 619 + .../licenses/LICENSE.dual | 792 ++ .../licenses/LICENSE.lesser | 165 + .../pytz-2025.2.dist-info/INSTALLER | 1 + .../pytz-2025.2.dist-info/LICENSE.txt | 19 + .../pytz-2025.2.dist-info/METADATA | 648 + .../pytz-2025.2.dist-info/RECORD | 624 + .../pytz-2025.2.dist-info/REQUESTED | 0 .../site-packages/pytz-2025.2.dist-info/WHEEL | 6 + .../pytz-2025.2.dist-info/top_level.txt | 1 + .../pytz-2025.2.dist-info/zip-safe | 1 + .../python3.11/site-packages/pytz/__init__.py | 1556 +++ .../pytz/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 32259 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 0 -> 2609 bytes .../pytz/__pycache__/lazy.cpython-311.pyc | Bin 0 -> 8960 bytes .../__pycache__/reference.cpython-311.pyc | Bin 0 -> 6007 bytes .../pytz/__pycache__/tzfile.cpython-311.pyc | Bin 0 -> 6423 bytes .../pytz/__pycache__/tzinfo.cpython-311.pyc | Bin 0 -> 20235 bytes .../site-packages/pytz/exceptions.py | 59 + .../lib/python3.11/site-packages/pytz/lazy.py | 172 + .../site-packages/pytz/reference.py | 140 + .../python3.11/site-packages/pytz/tzfile.py | 133 + .../python3.11/site-packages/pytz/tzinfo.py | 580 + .../pytz/zoneinfo/Africa/Abidjan | Bin 0 -> 148 bytes .../site-packages/pytz/zoneinfo/Africa/Accra | Bin 0 -> 148 bytes .../pytz/zoneinfo/Africa/Addis_Ababa | Bin 0 -> 265 bytes .../pytz/zoneinfo/Africa/Algiers | Bin 0 -> 735 bytes .../site-packages/pytz/zoneinfo/Africa/Asmara | Bin 0 -> 265 bytes .../site-packages/pytz/zoneinfo/Africa/Asmera | Bin 0 -> 265 bytes .../site-packages/pytz/zoneinfo/Africa/Bamako | Bin 0 -> 148 bytes .../site-packages/pytz/zoneinfo/Africa/Bangui | Bin 0 -> 235 bytes .../site-packages/pytz/zoneinfo/Africa/Banjul | Bin 0 -> 148 bytes .../site-packages/pytz/zoneinfo/Africa/Bissau | Bin 0 -> 194 bytes .../pytz/zoneinfo/Africa/Blantyre | Bin 0 -> 149 bytes .../pytz/zoneinfo/Africa/Brazzaville | Bin 0 -> 235 bytes .../pytz/zoneinfo/Africa/Bujumbura | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Cairo | Bin 0 -> 2399 bytes .../pytz/zoneinfo/Africa/Casablanca | Bin 0 -> 2429 bytes .../site-packages/pytz/zoneinfo/Africa/Ceuta | Bin 0 -> 2052 bytes .../pytz/zoneinfo/Africa/Conakry | Bin 0 -> 148 bytes .../site-packages/pytz/zoneinfo/Africa/Dakar | Bin 0 -> 148 bytes .../pytz/zoneinfo/Africa/Dar_es_Salaam | Bin 0 -> 265 bytes .../pytz/zoneinfo/Africa/Djibouti | Bin 0 -> 265 bytes .../site-packages/pytz/zoneinfo/Africa/Douala | Bin 0 -> 235 bytes .../pytz/zoneinfo/Africa/El_Aaiun | Bin 0 -> 2295 bytes .../pytz/zoneinfo/Africa/Freetown | Bin 0 -> 148 bytes .../pytz/zoneinfo/Africa/Gaborone | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Harare | Bin 0 -> 149 bytes .../pytz/zoneinfo/Africa/Johannesburg | Bin 0 -> 246 bytes .../site-packages/pytz/zoneinfo/Africa/Juba | Bin 0 -> 679 bytes .../pytz/zoneinfo/Africa/Kampala | Bin 0 -> 265 bytes .../pytz/zoneinfo/Africa/Khartoum | Bin 0 -> 679 bytes .../site-packages/pytz/zoneinfo/Africa/Kigali | Bin 0 -> 149 bytes .../pytz/zoneinfo/Africa/Kinshasa | Bin 0 -> 235 bytes .../site-packages/pytz/zoneinfo/Africa/Lagos | Bin 0 -> 235 bytes .../pytz/zoneinfo/Africa/Libreville | Bin 0 -> 235 bytes .../site-packages/pytz/zoneinfo/Africa/Lome | Bin 0 -> 148 bytes .../site-packages/pytz/zoneinfo/Africa/Luanda | Bin 0 -> 235 bytes .../pytz/zoneinfo/Africa/Lubumbashi | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Lusaka | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Malabo | Bin 0 -> 235 bytes .../site-packages/pytz/zoneinfo/Africa/Maputo | Bin 0 -> 149 bytes .../site-packages/pytz/zoneinfo/Africa/Maseru | Bin 0 -> 246 bytes .../pytz/zoneinfo/Africa/Mbabane | Bin 0 -> 246 bytes .../pytz/zoneinfo/Africa/Mogadishu | Bin 0 -> 265 bytes .../pytz/zoneinfo/Africa/Monrovia | Bin 0 -> 208 bytes .../pytz/zoneinfo/Africa/Nairobi | Bin 0 -> 265 bytes .../pytz/zoneinfo/Africa/Ndjamena | Bin 0 -> 199 bytes .../site-packages/pytz/zoneinfo/Africa/Niamey | Bin 0 -> 235 bytes .../pytz/zoneinfo/Africa/Nouakchott | Bin 0 -> 148 bytes .../pytz/zoneinfo/Africa/Ouagadougou | Bin 0 -> 148 bytes .../pytz/zoneinfo/Africa/Porto-Novo | Bin 0 -> 235 bytes .../pytz/zoneinfo/Africa/Sao_Tome | Bin 0 -> 254 bytes .../pytz/zoneinfo/Africa/Timbuktu | Bin 0 -> 148 bytes .../pytz/zoneinfo/Africa/Tripoli | Bin 0 -> 625 bytes .../site-packages/pytz/zoneinfo/Africa/Tunis | Bin 0 -> 689 bytes .../pytz/zoneinfo/Africa/Windhoek | Bin 0 -> 955 bytes .../site-packages/pytz/zoneinfo/America/Adak | Bin 0 -> 2356 bytes .../pytz/zoneinfo/America/Anchorage | Bin 0 -> 2371 bytes .../pytz/zoneinfo/America/Anguilla | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Antigua | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Araguaina | Bin 0 -> 870 bytes .../zoneinfo/America/Argentina/Buenos_Aires | Bin 0 -> 1062 bytes .../pytz/zoneinfo/America/Argentina/Catamarca | Bin 0 -> 1062 bytes .../zoneinfo/America/Argentina/ComodRivadavia | Bin 0 -> 1062 bytes .../pytz/zoneinfo/America/Argentina/Cordoba | Bin 0 -> 1062 bytes .../pytz/zoneinfo/America/Argentina/Jujuy | Bin 0 -> 1034 bytes .../pytz/zoneinfo/America/Argentina/La_Rioja | Bin 0 -> 1076 bytes .../pytz/zoneinfo/America/Argentina/Mendoza | Bin 0 -> 1062 bytes .../zoneinfo/America/Argentina/Rio_Gallegos | Bin 0 -> 1062 bytes .../pytz/zoneinfo/America/Argentina/Salta | Bin 0 -> 1034 bytes .../pytz/zoneinfo/America/Argentina/San_Juan | Bin 0 -> 1076 bytes .../pytz/zoneinfo/America/Argentina/San_Luis | Bin 0 -> 1088 bytes .../pytz/zoneinfo/America/Argentina/Tucuman | Bin 0 -> 1090 bytes .../pytz/zoneinfo/America/Argentina/Ushuaia | Bin 0 -> 1062 bytes .../site-packages/pytz/zoneinfo/America/Aruba | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Asuncion | Bin 0 -> 1644 bytes .../pytz/zoneinfo/America/Atikokan | Bin 0 -> 182 bytes .../site-packages/pytz/zoneinfo/America/Atka | Bin 0 -> 2356 bytes .../site-packages/pytz/zoneinfo/America/Bahia | Bin 0 -> 1010 bytes .../pytz/zoneinfo/America/Bahia_Banderas | Bin 0 -> 1100 bytes .../pytz/zoneinfo/America/Barbados | Bin 0 -> 436 bytes .../site-packages/pytz/zoneinfo/America/Belem | Bin 0 -> 562 bytes .../pytz/zoneinfo/America/Belize | Bin 0 -> 1614 bytes .../pytz/zoneinfo/America/Blanc-Sablon | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Boa_Vista | Bin 0 -> 618 bytes .../pytz/zoneinfo/America/Bogota | Bin 0 -> 232 bytes .../site-packages/pytz/zoneinfo/America/Boise | Bin 0 -> 2410 bytes .../pytz/zoneinfo/America/Buenos_Aires | Bin 0 -> 1062 bytes .../pytz/zoneinfo/America/Cambridge_Bay | Bin 0 -> 2254 bytes .../pytz/zoneinfo/America/Campo_Grande | Bin 0 -> 1430 bytes .../pytz/zoneinfo/America/Cancun | Bin 0 -> 864 bytes .../pytz/zoneinfo/America/Caracas | Bin 0 -> 250 bytes .../pytz/zoneinfo/America/Catamarca | Bin 0 -> 1062 bytes .../pytz/zoneinfo/America/Cayenne | Bin 0 -> 184 bytes .../pytz/zoneinfo/America/Cayman | Bin 0 -> 182 bytes .../pytz/zoneinfo/America/Chicago | Bin 0 -> 3592 bytes .../pytz/zoneinfo/America/Chihuahua | Bin 0 -> 1102 bytes .../pytz/zoneinfo/America/Ciudad_Juarez | Bin 0 -> 1538 bytes .../pytz/zoneinfo/America/Coral_Harbour | Bin 0 -> 182 bytes .../pytz/zoneinfo/America/Cordoba | Bin 0 -> 1062 bytes .../pytz/zoneinfo/America/Costa_Rica | Bin 0 -> 316 bytes .../pytz/zoneinfo/America/Coyhaique | Bin 0 -> 2126 bytes .../pytz/zoneinfo/America/Creston | Bin 0 -> 360 bytes .../pytz/zoneinfo/America/Cuiaba | Bin 0 -> 1402 bytes .../pytz/zoneinfo/America/Curacao | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Danmarkshavn | Bin 0 -> 698 bytes .../pytz/zoneinfo/America/Dawson | Bin 0 -> 1614 bytes .../pytz/zoneinfo/America/Dawson_Creek | Bin 0 -> 1050 bytes .../pytz/zoneinfo/America/Denver | Bin 0 -> 2460 bytes .../pytz/zoneinfo/America/Detroit | Bin 0 -> 2230 bytes .../pytz/zoneinfo/America/Dominica | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Edmonton | Bin 0 -> 2332 bytes .../pytz/zoneinfo/America/Eirunepe | Bin 0 -> 642 bytes .../pytz/zoneinfo/America/El_Salvador | Bin 0 -> 224 bytes .../pytz/zoneinfo/America/Ensenada | Bin 0 -> 2458 bytes .../pytz/zoneinfo/America/Fort_Nelson | Bin 0 -> 2240 bytes .../pytz/zoneinfo/America/Fort_Wayne | Bin 0 -> 1682 bytes .../pytz/zoneinfo/America/Fortaleza | Bin 0 -> 702 bytes .../pytz/zoneinfo/America/Glace_Bay | Bin 0 -> 2192 bytes .../pytz/zoneinfo/America/Godthab | Bin 0 -> 1889 bytes .../pytz/zoneinfo/America/Goose_Bay | Bin 0 -> 3210 bytes .../pytz/zoneinfo/America/Grand_Turk | Bin 0 -> 1834 bytes .../pytz/zoneinfo/America/Grenada | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Guadeloupe | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Guatemala | Bin 0 -> 280 bytes .../pytz/zoneinfo/America/Guayaquil | Bin 0 -> 232 bytes .../pytz/zoneinfo/America/Guyana | Bin 0 -> 248 bytes .../pytz/zoneinfo/America/Halifax | Bin 0 -> 3424 bytes .../pytz/zoneinfo/America/Havana | Bin 0 -> 2416 bytes .../pytz/zoneinfo/America/Hermosillo | Bin 0 -> 388 bytes .../zoneinfo/America/Indiana/Indianapolis | Bin 0 -> 1682 bytes .../pytz/zoneinfo/America/Indiana/Knox | Bin 0 -> 2444 bytes .../pytz/zoneinfo/America/Indiana/Marengo | Bin 0 -> 1738 bytes .../pytz/zoneinfo/America/Indiana/Petersburg | Bin 0 -> 1920 bytes .../pytz/zoneinfo/America/Indiana/Tell_City | Bin 0 -> 1700 bytes .../pytz/zoneinfo/America/Indiana/Vevay | Bin 0 -> 1430 bytes .../pytz/zoneinfo/America/Indiana/Vincennes | Bin 0 -> 1710 bytes .../pytz/zoneinfo/America/Indiana/Winamac | Bin 0 -> 1794 bytes .../pytz/zoneinfo/America/Indianapolis | Bin 0 -> 1682 bytes .../pytz/zoneinfo/America/Inuvik | Bin 0 -> 2074 bytes .../pytz/zoneinfo/America/Iqaluit | Bin 0 -> 2202 bytes .../pytz/zoneinfo/America/Jamaica | Bin 0 -> 482 bytes .../site-packages/pytz/zoneinfo/America/Jujuy | Bin 0 -> 1034 bytes .../pytz/zoneinfo/America/Juneau | Bin 0 -> 2353 bytes .../pytz/zoneinfo/America/Kentucky/Louisville | Bin 0 -> 2788 bytes .../pytz/zoneinfo/America/Kentucky/Monticello | Bin 0 -> 2368 bytes .../pytz/zoneinfo/America/Knox_IN | Bin 0 -> 2444 bytes .../pytz/zoneinfo/America/Kralendijk | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/La_Paz | Bin 0 -> 218 bytes .../site-packages/pytz/zoneinfo/America/Lima | Bin 0 -> 392 bytes .../pytz/zoneinfo/America/Los_Angeles | Bin 0 -> 2852 bytes .../pytz/zoneinfo/America/Louisville | Bin 0 -> 2788 bytes .../pytz/zoneinfo/America/Lower_Princes | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Maceio | Bin 0 -> 730 bytes .../pytz/zoneinfo/America/Managua | Bin 0 -> 430 bytes .../pytz/zoneinfo/America/Manaus | Bin 0 -> 590 bytes .../pytz/zoneinfo/America/Marigot | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Martinique | Bin 0 -> 232 bytes .../pytz/zoneinfo/America/Matamoros | Bin 0 -> 1418 bytes .../pytz/zoneinfo/America/Mazatlan | Bin 0 -> 1060 bytes .../pytz/zoneinfo/America/Mendoza | Bin 0 -> 1062 bytes .../pytz/zoneinfo/America/Menominee | Bin 0 -> 2274 bytes .../pytz/zoneinfo/America/Merida | Bin 0 -> 1004 bytes .../pytz/zoneinfo/America/Metlakatla | Bin 0 -> 1423 bytes .../pytz/zoneinfo/America/Mexico_City | Bin 0 -> 1222 bytes .../pytz/zoneinfo/America/Miquelon | Bin 0 -> 1652 bytes .../pytz/zoneinfo/America/Moncton | Bin 0 -> 3154 bytes .../pytz/zoneinfo/America/Monterrey | Bin 0 -> 1114 bytes .../pytz/zoneinfo/America/Montevideo | Bin 0 -> 1496 bytes .../pytz/zoneinfo/America/Montreal | Bin 0 -> 3494 bytes .../pytz/zoneinfo/America/Montserrat | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Nassau | Bin 0 -> 3494 bytes .../pytz/zoneinfo/America/New_York | Bin 0 -> 3552 bytes .../pytz/zoneinfo/America/Nipigon | Bin 0 -> 3494 bytes .../site-packages/pytz/zoneinfo/America/Nome | Bin 0 -> 2367 bytes .../pytz/zoneinfo/America/Noronha | Bin 0 -> 702 bytes .../pytz/zoneinfo/America/North_Dakota/Beulah | Bin 0 -> 2396 bytes .../pytz/zoneinfo/America/North_Dakota/Center | Bin 0 -> 2396 bytes .../zoneinfo/America/North_Dakota/New_Salem | Bin 0 -> 2396 bytes .../site-packages/pytz/zoneinfo/America/Nuuk | Bin 0 -> 1889 bytes .../pytz/zoneinfo/America/Ojinaga | Bin 0 -> 1524 bytes .../pytz/zoneinfo/America/Panama | Bin 0 -> 182 bytes .../pytz/zoneinfo/America/Pangnirtung | Bin 0 -> 2202 bytes .../pytz/zoneinfo/America/Paramaribo | Bin 0 -> 248 bytes .../pytz/zoneinfo/America/Phoenix | Bin 0 -> 360 bytes .../pytz/zoneinfo/America/Port-au-Prince | Bin 0 -> 1434 bytes .../pytz/zoneinfo/America/Port_of_Spain | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Porto_Acre | Bin 0 -> 614 bytes .../pytz/zoneinfo/America/Porto_Velho | Bin 0 -> 562 bytes .../pytz/zoneinfo/America/Puerto_Rico | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Punta_Arenas | Bin 0 -> 1902 bytes .../pytz/zoneinfo/America/Rainy_River | Bin 0 -> 2868 bytes .../pytz/zoneinfo/America/Rankin_Inlet | Bin 0 -> 2066 bytes .../pytz/zoneinfo/America/Recife | Bin 0 -> 702 bytes .../pytz/zoneinfo/America/Regina | Bin 0 -> 980 bytes .../pytz/zoneinfo/America/Resolute | Bin 0 -> 2066 bytes .../pytz/zoneinfo/America/Rio_Branco | Bin 0 -> 614 bytes .../pytz/zoneinfo/America/Rosario | Bin 0 -> 1062 bytes .../pytz/zoneinfo/America/Santa_Isabel | Bin 0 -> 2458 bytes .../pytz/zoneinfo/America/Santarem | Bin 0 -> 588 bytes .../pytz/zoneinfo/America/Santiago | Bin 0 -> 2515 bytes .../pytz/zoneinfo/America/Santo_Domingo | Bin 0 -> 458 bytes .../pytz/zoneinfo/America/Sao_Paulo | Bin 0 -> 1430 bytes .../pytz/zoneinfo/America/Scoresbysund | Bin 0 -> 1935 bytes .../pytz/zoneinfo/America/Shiprock | Bin 0 -> 2460 bytes .../site-packages/pytz/zoneinfo/America/Sitka | Bin 0 -> 2329 bytes .../pytz/zoneinfo/America/St_Barthelemy | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/St_Johns | Bin 0 -> 3655 bytes .../pytz/zoneinfo/America/St_Kitts | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/St_Lucia | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/St_Thomas | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/St_Vincent | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Swift_Current | Bin 0 -> 560 bytes .../pytz/zoneinfo/America/Tegucigalpa | Bin 0 -> 252 bytes .../site-packages/pytz/zoneinfo/America/Thule | Bin 0 -> 1502 bytes .../pytz/zoneinfo/America/Thunder_Bay | Bin 0 -> 3494 bytes .../pytz/zoneinfo/America/Tijuana | Bin 0 -> 2458 bytes .../pytz/zoneinfo/America/Toronto | Bin 0 -> 3494 bytes .../pytz/zoneinfo/America/Tortola | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Vancouver | Bin 0 -> 2892 bytes .../pytz/zoneinfo/America/Virgin | Bin 0 -> 246 bytes .../pytz/zoneinfo/America/Whitehorse | Bin 0 -> 1614 bytes .../pytz/zoneinfo/America/Winnipeg | Bin 0 -> 2868 bytes .../pytz/zoneinfo/America/Yakutat | Bin 0 -> 2305 bytes .../pytz/zoneinfo/America/Yellowknife | Bin 0 -> 2332 bytes .../pytz/zoneinfo/Antarctica/Casey | Bin 0 -> 423 bytes .../pytz/zoneinfo/Antarctica/Davis | Bin 0 -> 283 bytes .../pytz/zoneinfo/Antarctica/DumontDUrville | Bin 0 -> 172 bytes .../pytz/zoneinfo/Antarctica/Macquarie | Bin 0 -> 2260 bytes .../pytz/zoneinfo/Antarctica/Mawson | Bin 0 -> 185 bytes .../pytz/zoneinfo/Antarctica/McMurdo | Bin 0 -> 2437 bytes .../pytz/zoneinfo/Antarctica/Palmer | Bin 0 -> 1404 bytes .../pytz/zoneinfo/Antarctica/Rothera | Bin 0 -> 150 bytes .../pytz/zoneinfo/Antarctica/South_Pole | Bin 0 -> 2437 bytes .../pytz/zoneinfo/Antarctica/Syowa | Bin 0 -> 151 bytes .../pytz/zoneinfo/Antarctica/Troll | Bin 0 -> 1148 bytes .../pytz/zoneinfo/Antarctica/Vostok | Bin 0 -> 213 bytes .../pytz/zoneinfo/Arctic/Longyearbyen | Bin 0 -> 2298 bytes .../site-packages/pytz/zoneinfo/Asia/Aden | Bin 0 -> 151 bytes .../site-packages/pytz/zoneinfo/Asia/Almaty | Bin 0 -> 983 bytes .../site-packages/pytz/zoneinfo/Asia/Amman | Bin 0 -> 1433 bytes .../site-packages/pytz/zoneinfo/Asia/Anadyr | Bin 0 -> 1174 bytes .../site-packages/pytz/zoneinfo/Asia/Aqtau | Bin 0 -> 969 bytes .../site-packages/pytz/zoneinfo/Asia/Aqtobe | Bin 0 -> 997 bytes .../site-packages/pytz/zoneinfo/Asia/Ashgabat | Bin 0 -> 605 bytes .../pytz/zoneinfo/Asia/Ashkhabad | Bin 0 -> 605 bytes .../site-packages/pytz/zoneinfo/Asia/Atyrau | Bin 0 -> 977 bytes .../site-packages/pytz/zoneinfo/Asia/Baghdad | Bin 0 -> 969 bytes .../site-packages/pytz/zoneinfo/Asia/Bahrain | Bin 0 -> 185 bytes .../site-packages/pytz/zoneinfo/Asia/Baku | Bin 0 -> 1213 bytes .../site-packages/pytz/zoneinfo/Asia/Bangkok | Bin 0 -> 185 bytes .../site-packages/pytz/zoneinfo/Asia/Barnaul | Bin 0 -> 1207 bytes .../site-packages/pytz/zoneinfo/Asia/Beirut | Bin 0 -> 2154 bytes .../site-packages/pytz/zoneinfo/Asia/Bishkek | Bin 0 -> 969 bytes .../site-packages/pytz/zoneinfo/Asia/Brunei | Bin 0 -> 469 bytes .../site-packages/pytz/zoneinfo/Asia/Calcutta | Bin 0 -> 285 bytes .../site-packages/pytz/zoneinfo/Asia/Chita | Bin 0 -> 1207 bytes .../pytz/zoneinfo/Asia/Choibalsan | Bin 0 -> 877 bytes .../pytz/zoneinfo/Asia/Chongqing | Bin 0 -> 561 bytes .../pytz/zoneinfo/Asia/Chungking | Bin 0 -> 561 bytes .../site-packages/pytz/zoneinfo/Asia/Colombo | Bin 0 -> 358 bytes .../site-packages/pytz/zoneinfo/Asia/Dacca | Bin 0 -> 323 bytes .../site-packages/pytz/zoneinfo/Asia/Damascus | Bin 0 -> 1873 bytes .../site-packages/pytz/zoneinfo/Asia/Dhaka | Bin 0 -> 323 bytes .../site-packages/pytz/zoneinfo/Asia/Dili | Bin 0 -> 257 bytes .../site-packages/pytz/zoneinfo/Asia/Dubai | Bin 0 -> 151 bytes .../site-packages/pytz/zoneinfo/Asia/Dushanbe | Bin 0 -> 577 bytes .../pytz/zoneinfo/Asia/Famagusta | Bin 0 -> 2028 bytes .../site-packages/pytz/zoneinfo/Asia/Gaza | Bin 0 -> 3844 bytes .../site-packages/pytz/zoneinfo/Asia/Harbin | Bin 0 -> 561 bytes .../site-packages/pytz/zoneinfo/Asia/Hebron | Bin 0 -> 3872 bytes .../pytz/zoneinfo/Asia/Ho_Chi_Minh | Bin 0 -> 337 bytes .../pytz/zoneinfo/Asia/Hong_Kong | Bin 0 -> 1233 bytes .../site-packages/pytz/zoneinfo/Asia/Hovd | Bin 0 -> 877 bytes .../site-packages/pytz/zoneinfo/Asia/Irkutsk | Bin 0 -> 1229 bytes .../site-packages/pytz/zoneinfo/Asia/Istanbul | Bin 0 -> 1933 bytes .../site-packages/pytz/zoneinfo/Asia/Jakarta | Bin 0 -> 383 bytes .../site-packages/pytz/zoneinfo/Asia/Jayapura | Bin 0 -> 221 bytes .../pytz/zoneinfo/Asia/Jerusalem | Bin 0 -> 2388 bytes .../site-packages/pytz/zoneinfo/Asia/Kabul | Bin 0 -> 194 bytes .../pytz/zoneinfo/Asia/Kamchatka | Bin 0 -> 1152 bytes .../site-packages/pytz/zoneinfo/Asia/Karachi | Bin 0 -> 379 bytes .../site-packages/pytz/zoneinfo/Asia/Kashgar | Bin 0 -> 151 bytes .../pytz/zoneinfo/Asia/Kathmandu | Bin 0 -> 198 bytes .../site-packages/pytz/zoneinfo/Asia/Katmandu | Bin 0 -> 198 bytes .../site-packages/pytz/zoneinfo/Asia/Khandyga | Bin 0 -> 1257 bytes .../site-packages/pytz/zoneinfo/Asia/Kolkata | Bin 0 -> 285 bytes .../pytz/zoneinfo/Asia/Krasnoyarsk | Bin 0 -> 1193 bytes .../pytz/zoneinfo/Asia/Kuala_Lumpur | Bin 0 -> 401 bytes .../site-packages/pytz/zoneinfo/Asia/Kuching | Bin 0 -> 469 bytes .../site-packages/pytz/zoneinfo/Asia/Kuwait | Bin 0 -> 151 bytes .../site-packages/pytz/zoneinfo/Asia/Macao | Bin 0 -> 1227 bytes .../site-packages/pytz/zoneinfo/Asia/Macau | Bin 0 -> 1227 bytes .../site-packages/pytz/zoneinfo/Asia/Magadan | Bin 0 -> 1208 bytes .../site-packages/pytz/zoneinfo/Asia/Makassar | Bin 0 -> 254 bytes .../site-packages/pytz/zoneinfo/Asia/Manila | Bin 0 -> 422 bytes .../site-packages/pytz/zoneinfo/Asia/Muscat | Bin 0 -> 151 bytes .../site-packages/pytz/zoneinfo/Asia/Nicosia | Bin 0 -> 2002 bytes .../pytz/zoneinfo/Asia/Novokuznetsk | Bin 0 -> 1151 bytes .../pytz/zoneinfo/Asia/Novosibirsk | Bin 0 -> 1207 bytes .../site-packages/pytz/zoneinfo/Asia/Omsk | Bin 0 -> 1193 bytes .../site-packages/pytz/zoneinfo/Asia/Oral | Bin 0 -> 991 bytes .../pytz/zoneinfo/Asia/Phnom_Penh | Bin 0 -> 185 bytes .../pytz/zoneinfo/Asia/Pontianak | Bin 0 -> 353 bytes .../pytz/zoneinfo/Asia/Pyongyang | Bin 0 -> 237 bytes .../site-packages/pytz/zoneinfo/Asia/Qatar | Bin 0 -> 185 bytes .../site-packages/pytz/zoneinfo/Asia/Qostanay | Bin 0 -> 1025 bytes .../pytz/zoneinfo/Asia/Qyzylorda | Bin 0 -> 1011 bytes .../site-packages/pytz/zoneinfo/Asia/Rangoon | Bin 0 -> 254 bytes .../site-packages/pytz/zoneinfo/Asia/Riyadh | Bin 0 -> 151 bytes .../site-packages/pytz/zoneinfo/Asia/Saigon | Bin 0 -> 337 bytes .../site-packages/pytz/zoneinfo/Asia/Sakhalin | Bin 0 -> 1188 bytes .../pytz/zoneinfo/Asia/Samarkand | Bin 0 -> 563 bytes .../site-packages/pytz/zoneinfo/Asia/Seoul | Bin 0 -> 617 bytes .../site-packages/pytz/zoneinfo/Asia/Shanghai | Bin 0 -> 561 bytes .../pytz/zoneinfo/Asia/Singapore | Bin 0 -> 401 bytes .../pytz/zoneinfo/Asia/Srednekolymsk | Bin 0 -> 1194 bytes .../site-packages/pytz/zoneinfo/Asia/Taipei | Bin 0 -> 761 bytes .../site-packages/pytz/zoneinfo/Asia/Tashkent | Bin 0 -> 577 bytes .../site-packages/pytz/zoneinfo/Asia/Tbilisi | Bin 0 -> 1021 bytes .../site-packages/pytz/zoneinfo/Asia/Tehran | Bin 0 -> 1248 bytes .../site-packages/pytz/zoneinfo/Asia/Tel_Aviv | Bin 0 -> 2388 bytes .../site-packages/pytz/zoneinfo/Asia/Thimbu | Bin 0 -> 189 bytes .../site-packages/pytz/zoneinfo/Asia/Thimphu | Bin 0 -> 189 bytes .../site-packages/pytz/zoneinfo/Asia/Tokyo | Bin 0 -> 309 bytes .../site-packages/pytz/zoneinfo/Asia/Tomsk | Bin 0 -> 1207 bytes .../pytz/zoneinfo/Asia/Ujung_Pandang | Bin 0 -> 254 bytes .../pytz/zoneinfo/Asia/Ulaanbaatar | Bin 0 -> 877 bytes .../pytz/zoneinfo/Asia/Ulan_Bator | Bin 0 -> 877 bytes .../site-packages/pytz/zoneinfo/Asia/Urumqi | Bin 0 -> 151 bytes .../site-packages/pytz/zoneinfo/Asia/Ust-Nera | Bin 0 -> 1238 bytes .../pytz/zoneinfo/Asia/Vientiane | Bin 0 -> 185 bytes .../pytz/zoneinfo/Asia/Vladivostok | Bin 0 -> 1194 bytes .../site-packages/pytz/zoneinfo/Asia/Yakutsk | Bin 0 -> 1193 bytes .../site-packages/pytz/zoneinfo/Asia/Yangon | Bin 0 -> 254 bytes .../pytz/zoneinfo/Asia/Yekaterinburg | Bin 0 -> 1229 bytes .../site-packages/pytz/zoneinfo/Asia/Yerevan | Bin 0 -> 1137 bytes .../pytz/zoneinfo/Atlantic/Azores | Bin 0 -> 3442 bytes .../pytz/zoneinfo/Atlantic/Bermuda | Bin 0 -> 2396 bytes .../pytz/zoneinfo/Atlantic/Canary | Bin 0 -> 1897 bytes .../pytz/zoneinfo/Atlantic/Cape_Verde | Bin 0 -> 256 bytes .../pytz/zoneinfo/Atlantic/Faeroe | Bin 0 -> 1815 bytes .../pytz/zoneinfo/Atlantic/Faroe | Bin 0 -> 1815 bytes .../pytz/zoneinfo/Atlantic/Jan_Mayen | Bin 0 -> 2298 bytes .../pytz/zoneinfo/Atlantic/Madeira | Bin 0 -> 3377 bytes .../pytz/zoneinfo/Atlantic/Reykjavik | Bin 0 -> 148 bytes .../pytz/zoneinfo/Atlantic/South_Georgia | Bin 0 -> 150 bytes .../pytz/zoneinfo/Atlantic/St_Helena | Bin 0 -> 148 bytes .../pytz/zoneinfo/Atlantic/Stanley | Bin 0 -> 1200 bytes .../site-packages/pytz/zoneinfo/Australia/ACT | Bin 0 -> 2190 bytes .../pytz/zoneinfo/Australia/Adelaide | Bin 0 -> 2208 bytes .../pytz/zoneinfo/Australia/Brisbane | Bin 0 -> 419 bytes .../pytz/zoneinfo/Australia/Broken_Hill | Bin 0 -> 2229 bytes .../pytz/zoneinfo/Australia/Canberra | Bin 0 -> 2190 bytes .../pytz/zoneinfo/Australia/Currie | Bin 0 -> 2358 bytes .../pytz/zoneinfo/Australia/Darwin | Bin 0 -> 325 bytes .../pytz/zoneinfo/Australia/Eucla | Bin 0 -> 456 bytes .../pytz/zoneinfo/Australia/Hobart | Bin 0 -> 2358 bytes .../site-packages/pytz/zoneinfo/Australia/LHI | Bin 0 -> 1846 bytes .../pytz/zoneinfo/Australia/Lindeman | Bin 0 -> 475 bytes .../pytz/zoneinfo/Australia/Lord_Howe | Bin 0 -> 1846 bytes .../pytz/zoneinfo/Australia/Melbourne | Bin 0 -> 2190 bytes .../site-packages/pytz/zoneinfo/Australia/NSW | Bin 0 -> 2190 bytes .../pytz/zoneinfo/Australia/North | Bin 0 -> 325 bytes .../pytz/zoneinfo/Australia/Perth | Bin 0 -> 446 bytes .../pytz/zoneinfo/Australia/Queensland | Bin 0 -> 419 bytes .../pytz/zoneinfo/Australia/South | Bin 0 -> 2208 bytes .../pytz/zoneinfo/Australia/Sydney | Bin 0 -> 2190 bytes .../pytz/zoneinfo/Australia/Tasmania | Bin 0 -> 2358 bytes .../pytz/zoneinfo/Australia/Victoria | Bin 0 -> 2190 bytes .../pytz/zoneinfo/Australia/West | Bin 0 -> 446 bytes .../pytz/zoneinfo/Australia/Yancowinna | Bin 0 -> 2229 bytes .../site-packages/pytz/zoneinfo/Brazil/Acre | Bin 0 -> 614 bytes .../pytz/zoneinfo/Brazil/DeNoronha | Bin 0 -> 702 bytes .../site-packages/pytz/zoneinfo/Brazil/East | Bin 0 -> 1430 bytes .../site-packages/pytz/zoneinfo/Brazil/West | Bin 0 -> 590 bytes .../site-packages/pytz/zoneinfo/CET | Bin 0 -> 2933 bytes .../site-packages/pytz/zoneinfo/CST6CDT | Bin 0 -> 3592 bytes .../pytz/zoneinfo/Canada/Atlantic | Bin 0 -> 3424 bytes .../pytz/zoneinfo/Canada/Central | Bin 0 -> 2868 bytes .../pytz/zoneinfo/Canada/Eastern | Bin 0 -> 3494 bytes .../pytz/zoneinfo/Canada/Mountain | Bin 0 -> 2332 bytes .../pytz/zoneinfo/Canada/Newfoundland | Bin 0 -> 3655 bytes .../pytz/zoneinfo/Canada/Pacific | Bin 0 -> 2892 bytes .../pytz/zoneinfo/Canada/Saskatchewan | Bin 0 -> 980 bytes .../site-packages/pytz/zoneinfo/Canada/Yukon | Bin 0 -> 1614 bytes .../pytz/zoneinfo/Chile/Continental | Bin 0 -> 2515 bytes .../pytz/zoneinfo/Chile/EasterIsland | Bin 0 -> 2219 bytes .../site-packages/pytz/zoneinfo/Cuba | Bin 0 -> 2416 bytes .../site-packages/pytz/zoneinfo/EET | Bin 0 -> 2262 bytes .../site-packages/pytz/zoneinfo/EST | Bin 0 -> 182 bytes .../site-packages/pytz/zoneinfo/EST5EDT | Bin 0 -> 3552 bytes .../site-packages/pytz/zoneinfo/Egypt | Bin 0 -> 2399 bytes .../site-packages/pytz/zoneinfo/Eire | Bin 0 -> 3492 bytes .../site-packages/pytz/zoneinfo/Etc/GMT | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+0 | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+1 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+10 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+11 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+12 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+2 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+3 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+4 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+5 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+6 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+7 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+8 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT+9 | Bin 0 -> 116 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-0 | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-1 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-10 | Bin 0 -> 118 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-11 | Bin 0 -> 118 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-12 | Bin 0 -> 118 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-13 | Bin 0 -> 118 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-14 | Bin 0 -> 118 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-2 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-3 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-4 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-5 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-6 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-7 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-8 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT-9 | Bin 0 -> 117 bytes .../site-packages/pytz/zoneinfo/Etc/GMT0 | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/Greenwich | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/UCT | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/UTC | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/Universal | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Etc/Zulu | Bin 0 -> 114 bytes .../pytz/zoneinfo/Europe/Amsterdam | Bin 0 -> 2933 bytes .../pytz/zoneinfo/Europe/Andorra | Bin 0 -> 1742 bytes .../pytz/zoneinfo/Europe/Astrakhan | Bin 0 -> 1151 bytes .../site-packages/pytz/zoneinfo/Europe/Athens | Bin 0 -> 2262 bytes .../pytz/zoneinfo/Europe/Belfast | Bin 0 -> 3664 bytes .../pytz/zoneinfo/Europe/Belgrade | Bin 0 -> 1920 bytes .../site-packages/pytz/zoneinfo/Europe/Berlin | Bin 0 -> 2298 bytes .../pytz/zoneinfo/Europe/Bratislava | Bin 0 -> 2301 bytes .../pytz/zoneinfo/Europe/Brussels | Bin 0 -> 2933 bytes .../pytz/zoneinfo/Europe/Bucharest | Bin 0 -> 2184 bytes .../pytz/zoneinfo/Europe/Budapest | Bin 0 -> 2368 bytes .../pytz/zoneinfo/Europe/Busingen | Bin 0 -> 1909 bytes .../pytz/zoneinfo/Europe/Chisinau | Bin 0 -> 2390 bytes .../pytz/zoneinfo/Europe/Copenhagen | Bin 0 -> 2298 bytes .../site-packages/pytz/zoneinfo/Europe/Dublin | Bin 0 -> 3492 bytes .../pytz/zoneinfo/Europe/Gibraltar | Bin 0 -> 3068 bytes .../pytz/zoneinfo/Europe/Guernsey | Bin 0 -> 3664 bytes .../pytz/zoneinfo/Europe/Helsinki | Bin 0 -> 1900 bytes .../pytz/zoneinfo/Europe/Isle_of_Man | Bin 0 -> 3664 bytes .../pytz/zoneinfo/Europe/Istanbul | Bin 0 -> 1933 bytes .../site-packages/pytz/zoneinfo/Europe/Jersey | Bin 0 -> 3664 bytes .../pytz/zoneinfo/Europe/Kaliningrad | Bin 0 -> 1493 bytes .../site-packages/pytz/zoneinfo/Europe/Kiev | Bin 0 -> 2120 bytes .../site-packages/pytz/zoneinfo/Europe/Kirov | Bin 0 -> 1185 bytes .../site-packages/pytz/zoneinfo/Europe/Kyiv | Bin 0 -> 2120 bytes .../site-packages/pytz/zoneinfo/Europe/Lisbon | Bin 0 -> 3527 bytes .../pytz/zoneinfo/Europe/Ljubljana | Bin 0 -> 1920 bytes .../site-packages/pytz/zoneinfo/Europe/London | Bin 0 -> 3664 bytes .../pytz/zoneinfo/Europe/Luxembourg | Bin 0 -> 2933 bytes .../site-packages/pytz/zoneinfo/Europe/Madrid | Bin 0 -> 2614 bytes .../site-packages/pytz/zoneinfo/Europe/Malta | Bin 0 -> 2620 bytes .../pytz/zoneinfo/Europe/Mariehamn | Bin 0 -> 1900 bytes .../site-packages/pytz/zoneinfo/Europe/Minsk | Bin 0 -> 1307 bytes .../site-packages/pytz/zoneinfo/Europe/Monaco | Bin 0 -> 2962 bytes .../site-packages/pytz/zoneinfo/Europe/Moscow | Bin 0 -> 1535 bytes .../pytz/zoneinfo/Europe/Nicosia | Bin 0 -> 2002 bytes .../site-packages/pytz/zoneinfo/Europe/Oslo | Bin 0 -> 2298 bytes .../site-packages/pytz/zoneinfo/Europe/Paris | Bin 0 -> 2962 bytes .../pytz/zoneinfo/Europe/Podgorica | Bin 0 -> 1920 bytes .../site-packages/pytz/zoneinfo/Europe/Prague | Bin 0 -> 2301 bytes .../site-packages/pytz/zoneinfo/Europe/Riga | Bin 0 -> 2198 bytes .../site-packages/pytz/zoneinfo/Europe/Rome | Bin 0 -> 2641 bytes .../site-packages/pytz/zoneinfo/Europe/Samara | Bin 0 -> 1201 bytes .../pytz/zoneinfo/Europe/San_Marino | Bin 0 -> 2641 bytes .../pytz/zoneinfo/Europe/Sarajevo | Bin 0 -> 1920 bytes .../pytz/zoneinfo/Europe/Saratov | Bin 0 -> 1169 bytes .../pytz/zoneinfo/Europe/Simferopol | Bin 0 -> 1469 bytes .../site-packages/pytz/zoneinfo/Europe/Skopje | Bin 0 -> 1920 bytes .../site-packages/pytz/zoneinfo/Europe/Sofia | Bin 0 -> 2077 bytes .../pytz/zoneinfo/Europe/Stockholm | Bin 0 -> 2298 bytes .../pytz/zoneinfo/Europe/Tallinn | Bin 0 -> 2148 bytes .../site-packages/pytz/zoneinfo/Europe/Tirane | Bin 0 -> 2084 bytes .../pytz/zoneinfo/Europe/Tiraspol | Bin 0 -> 2390 bytes .../pytz/zoneinfo/Europe/Ulyanovsk | Bin 0 -> 1253 bytes .../pytz/zoneinfo/Europe/Uzhgorod | Bin 0 -> 2120 bytes .../site-packages/pytz/zoneinfo/Europe/Vaduz | Bin 0 -> 1909 bytes .../pytz/zoneinfo/Europe/Vatican | Bin 0 -> 2641 bytes .../site-packages/pytz/zoneinfo/Europe/Vienna | Bin 0 -> 2200 bytes .../pytz/zoneinfo/Europe/Vilnius | Bin 0 -> 2162 bytes .../pytz/zoneinfo/Europe/Volgograd | Bin 0 -> 1193 bytes .../site-packages/pytz/zoneinfo/Europe/Warsaw | Bin 0 -> 2654 bytes .../site-packages/pytz/zoneinfo/Europe/Zagreb | Bin 0 -> 1920 bytes .../pytz/zoneinfo/Europe/Zaporozhye | Bin 0 -> 2120 bytes .../site-packages/pytz/zoneinfo/Europe/Zurich | Bin 0 -> 1909 bytes .../site-packages/pytz/zoneinfo/Factory | Bin 0 -> 116 bytes .../python3.11/site-packages/pytz/zoneinfo/GB | Bin 0 -> 3664 bytes .../site-packages/pytz/zoneinfo/GB-Eire | Bin 0 -> 3664 bytes .../site-packages/pytz/zoneinfo/GMT | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/GMT+0 | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/GMT-0 | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/GMT0 | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Greenwich | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/HST | Bin 0 -> 329 bytes .../site-packages/pytz/zoneinfo/Hongkong | Bin 0 -> 1233 bytes .../site-packages/pytz/zoneinfo/Iceland | Bin 0 -> 148 bytes .../pytz/zoneinfo/Indian/Antananarivo | Bin 0 -> 265 bytes .../site-packages/pytz/zoneinfo/Indian/Chagos | Bin 0 -> 185 bytes .../pytz/zoneinfo/Indian/Christmas | Bin 0 -> 185 bytes .../site-packages/pytz/zoneinfo/Indian/Cocos | Bin 0 -> 254 bytes .../site-packages/pytz/zoneinfo/Indian/Comoro | Bin 0 -> 265 bytes .../pytz/zoneinfo/Indian/Kerguelen | Bin 0 -> 185 bytes .../site-packages/pytz/zoneinfo/Indian/Mahe | Bin 0 -> 151 bytes .../pytz/zoneinfo/Indian/Maldives | Bin 0 -> 185 bytes .../pytz/zoneinfo/Indian/Mauritius | Bin 0 -> 227 bytes .../pytz/zoneinfo/Indian/Mayotte | Bin 0 -> 265 bytes .../pytz/zoneinfo/Indian/Reunion | Bin 0 -> 151 bytes .../site-packages/pytz/zoneinfo/Iran | Bin 0 -> 1248 bytes .../site-packages/pytz/zoneinfo/Israel | Bin 0 -> 2388 bytes .../site-packages/pytz/zoneinfo/Jamaica | Bin 0 -> 482 bytes .../site-packages/pytz/zoneinfo/Japan | Bin 0 -> 309 bytes .../site-packages/pytz/zoneinfo/Kwajalein | Bin 0 -> 302 bytes .../site-packages/pytz/zoneinfo/Libya | Bin 0 -> 625 bytes .../site-packages/pytz/zoneinfo/MET | Bin 0 -> 2933 bytes .../site-packages/pytz/zoneinfo/MST | Bin 0 -> 360 bytes .../site-packages/pytz/zoneinfo/MST7MDT | Bin 0 -> 2460 bytes .../pytz/zoneinfo/Mexico/BajaNorte | Bin 0 -> 2458 bytes .../pytz/zoneinfo/Mexico/BajaSur | Bin 0 -> 1060 bytes .../pytz/zoneinfo/Mexico/General | Bin 0 -> 1222 bytes .../python3.11/site-packages/pytz/zoneinfo/NZ | Bin 0 -> 2437 bytes .../site-packages/pytz/zoneinfo/NZ-CHAT | Bin 0 -> 2054 bytes .../site-packages/pytz/zoneinfo/Navajo | Bin 0 -> 2460 bytes .../site-packages/pytz/zoneinfo/PRC | Bin 0 -> 561 bytes .../site-packages/pytz/zoneinfo/PST8PDT | Bin 0 -> 2852 bytes .../site-packages/pytz/zoneinfo/Pacific/Apia | Bin 0 -> 598 bytes .../pytz/zoneinfo/Pacific/Auckland | Bin 0 -> 2437 bytes .../pytz/zoneinfo/Pacific/Bougainville | Bin 0 -> 254 bytes .../pytz/zoneinfo/Pacific/Chatham | Bin 0 -> 2054 bytes .../site-packages/pytz/zoneinfo/Pacific/Chuuk | Bin 0 -> 172 bytes .../pytz/zoneinfo/Pacific/Easter | Bin 0 -> 2219 bytes .../site-packages/pytz/zoneinfo/Pacific/Efate | Bin 0 -> 524 bytes .../pytz/zoneinfo/Pacific/Enderbury | Bin 0 -> 220 bytes .../pytz/zoneinfo/Pacific/Fakaofo | Bin 0 -> 186 bytes .../site-packages/pytz/zoneinfo/Pacific/Fiji | Bin 0 -> 564 bytes .../pytz/zoneinfo/Pacific/Funafuti | Bin 0 -> 152 bytes .../pytz/zoneinfo/Pacific/Galapagos | Bin 0 -> 224 bytes .../pytz/zoneinfo/Pacific/Gambier | Bin 0 -> 150 bytes .../pytz/zoneinfo/Pacific/Guadalcanal | Bin 0 -> 152 bytes .../site-packages/pytz/zoneinfo/Pacific/Guam | Bin 0 -> 494 bytes .../pytz/zoneinfo/Pacific/Honolulu | Bin 0 -> 329 bytes .../pytz/zoneinfo/Pacific/Johnston | Bin 0 -> 329 bytes .../pytz/zoneinfo/Pacific/Kanton | Bin 0 -> 220 bytes .../pytz/zoneinfo/Pacific/Kiritimati | Bin 0 -> 224 bytes .../pytz/zoneinfo/Pacific/Kosrae | Bin 0 -> 337 bytes .../pytz/zoneinfo/Pacific/Kwajalein | Bin 0 -> 302 bytes .../pytz/zoneinfo/Pacific/Majuro | Bin 0 -> 152 bytes .../pytz/zoneinfo/Pacific/Marquesas | Bin 0 -> 159 bytes .../pytz/zoneinfo/Pacific/Midway | Bin 0 -> 175 bytes .../site-packages/pytz/zoneinfo/Pacific/Nauru | Bin 0 -> 238 bytes .../site-packages/pytz/zoneinfo/Pacific/Niue | Bin 0 -> 189 bytes .../pytz/zoneinfo/Pacific/Norfolk | Bin 0 -> 866 bytes .../pytz/zoneinfo/Pacific/Noumea | Bin 0 -> 290 bytes .../pytz/zoneinfo/Pacific/Pago_Pago | Bin 0 -> 175 bytes .../site-packages/pytz/zoneinfo/Pacific/Palau | Bin 0 -> 166 bytes .../pytz/zoneinfo/Pacific/Pitcairn | Bin 0 -> 188 bytes .../pytz/zoneinfo/Pacific/Pohnpei | Bin 0 -> 152 bytes .../pytz/zoneinfo/Pacific/Ponape | Bin 0 -> 152 bytes .../pytz/zoneinfo/Pacific/Port_Moresby | Bin 0 -> 172 bytes .../pytz/zoneinfo/Pacific/Rarotonga | Bin 0 -> 589 bytes .../pytz/zoneinfo/Pacific/Saipan | Bin 0 -> 494 bytes .../site-packages/pytz/zoneinfo/Pacific/Samoa | Bin 0 -> 175 bytes .../pytz/zoneinfo/Pacific/Tahiti | Bin 0 -> 151 bytes .../pytz/zoneinfo/Pacific/Tarawa | Bin 0 -> 152 bytes .../pytz/zoneinfo/Pacific/Tongatapu | Bin 0 -> 358 bytes .../site-packages/pytz/zoneinfo/Pacific/Truk | Bin 0 -> 172 bytes .../site-packages/pytz/zoneinfo/Pacific/Wake | Bin 0 -> 152 bytes .../pytz/zoneinfo/Pacific/Wallis | Bin 0 -> 152 bytes .../site-packages/pytz/zoneinfo/Pacific/Yap | Bin 0 -> 172 bytes .../site-packages/pytz/zoneinfo/Poland | Bin 0 -> 2654 bytes .../site-packages/pytz/zoneinfo/Portugal | Bin 0 -> 3527 bytes .../site-packages/pytz/zoneinfo/ROC | Bin 0 -> 761 bytes .../site-packages/pytz/zoneinfo/ROK | Bin 0 -> 617 bytes .../site-packages/pytz/zoneinfo/Singapore | Bin 0 -> 401 bytes .../site-packages/pytz/zoneinfo/Turkey | Bin 0 -> 1933 bytes .../site-packages/pytz/zoneinfo/UCT | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/US/Alaska | Bin 0 -> 2371 bytes .../site-packages/pytz/zoneinfo/US/Aleutian | Bin 0 -> 2356 bytes .../site-packages/pytz/zoneinfo/US/Arizona | Bin 0 -> 360 bytes .../site-packages/pytz/zoneinfo/US/Central | Bin 0 -> 3592 bytes .../pytz/zoneinfo/US/East-Indiana | Bin 0 -> 1682 bytes .../site-packages/pytz/zoneinfo/US/Eastern | Bin 0 -> 3552 bytes .../site-packages/pytz/zoneinfo/US/Hawaii | Bin 0 -> 329 bytes .../pytz/zoneinfo/US/Indiana-Starke | Bin 0 -> 2444 bytes .../site-packages/pytz/zoneinfo/US/Michigan | Bin 0 -> 2230 bytes .../site-packages/pytz/zoneinfo/US/Mountain | Bin 0 -> 2460 bytes .../site-packages/pytz/zoneinfo/US/Pacific | Bin 0 -> 2852 bytes .../site-packages/pytz/zoneinfo/US/Samoa | Bin 0 -> 175 bytes .../site-packages/pytz/zoneinfo/UTC | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/Universal | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/W-SU | Bin 0 -> 1535 bytes .../site-packages/pytz/zoneinfo/WET | Bin 0 -> 3527 bytes .../site-packages/pytz/zoneinfo/Zulu | Bin 0 -> 114 bytes .../site-packages/pytz/zoneinfo/iso3166.tab | 279 + .../site-packages/pytz/zoneinfo/leapseconds | 79 + .../site-packages/pytz/zoneinfo/tzdata.zi | 4300 +++++++ .../site-packages/pytz/zoneinfo/zone.tab | 448 + .../site-packages/pytz/zoneinfo/zone1970.tab | 375 + .../site-packages/pytz/zoneinfo/zonenow.tab | 296 + .../setuptools-66.1.1.dist-info/INSTALLER | 1 + .../setuptools-66.1.1.dist-info/LICENSE | 19 + .../setuptools-66.1.1.dist-info/METADATA | 137 + .../setuptools-66.1.1.dist-info/RECORD | 484 + .../setuptools-66.1.1.dist-info/REQUESTED | 0 .../setuptools-66.1.1.dist-info/WHEEL | 5 + .../entry_points.txt | 57 + .../setuptools-66.1.1.dist-info/top_level.txt | 4 + .../site-packages/setuptools/__init__.py | 268 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 13923 bytes .../_deprecation_warning.cpython-311.pyc | Bin 0 -> 639 bytes .../__pycache__/_entry_points.cpython-311.pyc | Bin 0 -> 5196 bytes .../__pycache__/_imp.cpython-311.pyc | Bin 0 -> 3652 bytes .../__pycache__/_importlib.cpython-311.pyc | Bin 0 -> 1952 bytes .../__pycache__/_itertools.cpython-311.pyc | Bin 0 -> 1151 bytes .../__pycache__/_path.cpython-311.pyc | Bin 0 -> 1472 bytes .../__pycache__/_reqs.cpython-311.pyc | Bin 0 -> 1133 bytes .../__pycache__/archive_util.cpython-311.pyc | Bin 0 -> 10161 bytes .../__pycache__/build_meta.cpython-311.pyc | Bin 0 -> 28144 bytes .../__pycache__/dep_util.cpython-311.pyc | Bin 0 -> 1287 bytes .../__pycache__/depends.cpython-311.pyc | Bin 0 -> 7972 bytes .../__pycache__/discovery.cpython-311.pyc | Bin 0 -> 31125 bytes .../__pycache__/dist.cpython-311.pyc | Bin 0 -> 63792 bytes .../__pycache__/errors.cpython-311.pyc | Bin 0 -> 2948 bytes .../__pycache__/extension.cpython-311.pyc | Bin 0 -> 6804 bytes .../__pycache__/glob.cpython-311.pyc | Bin 0 -> 6561 bytes .../__pycache__/installer.cpython-311.pyc | Bin 0 -> 5611 bytes .../__pycache__/launch.cpython-311.pyc | Bin 0 -> 1527 bytes .../__pycache__/logging.cpython-311.pyc | Bin 0 -> 2094 bytes .../__pycache__/monkey.cpython-311.pyc | Bin 0 -> 7004 bytes .../__pycache__/msvc.cpython-311.pyc | Bin 0 -> 64177 bytes .../__pycache__/namespaces.cpython-311.pyc | Bin 0 -> 5659 bytes .../__pycache__/package_index.cpython-311.pyc | Bin 0 -> 61932 bytes .../__pycache__/py34compat.cpython-311.pyc | Bin 0 -> 714 bytes .../__pycache__/sandbox.cpython-311.pyc | Bin 0 -> 27330 bytes .../__pycache__/unicode_utils.cpython-311.pyc | Bin 0 -> 1816 bytes .../__pycache__/version.cpython-311.pyc | Bin 0 -> 434 bytes .../__pycache__/wheel.cpython-311.pyc | Bin 0 -> 15490 bytes .../windows_support.cpython-311.pyc | Bin 0 -> 1431 bytes .../setuptools/_deprecation_warning.py | 7 + .../setuptools/_distutils/__init__.py | 14 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 558 bytes .../__pycache__/_collections.cpython-311.pyc | Bin 0 -> 8528 bytes .../__pycache__/_functools.cpython-311.pyc | Bin 0 -> 860 bytes .../__pycache__/_log.cpython-311.pyc | Bin 0 -> 277 bytes .../__pycache__/_macos_compat.cpython-311.pyc | Bin 0 -> 569 bytes .../__pycache__/_msvccompiler.cpython-311.pyc | Bin 0 -> 25071 bytes .../__pycache__/archive_util.cpython-311.pyc | Bin 0 -> 10619 bytes .../__pycache__/bcppcompiler.cpython-311.pyc | Bin 0 -> 13445 bytes .../__pycache__/ccompiler.cpython-311.pyc | Bin 0 -> 46314 bytes .../__pycache__/cmd.cpython-311.pyc | Bin 0 -> 18838 bytes .../__pycache__/config.cpython-311.pyc | Bin 0 -> 6039 bytes .../__pycache__/core.cpython-311.pyc | Bin 0 -> 9929 bytes .../cygwinccompiler.cpython-311.pyc | Bin 0 -> 13623 bytes .../__pycache__/debug.cpython-311.pyc | Bin 0 -> 321 bytes .../__pycache__/dep_util.cpython-311.pyc | Bin 0 -> 3983 bytes .../__pycache__/dir_util.cpython-311.pyc | Bin 0 -> 10364 bytes .../__pycache__/dist.cpython-311.pyc | Bin 0 -> 55487 bytes .../__pycache__/errors.cpython-311.pyc | Bin 0 -> 6794 bytes .../__pycache__/extension.cpython-311.pyc | Bin 0 -> 10175 bytes .../__pycache__/fancy_getopt.cpython-311.pyc | Bin 0 -> 17234 bytes .../__pycache__/file_util.cpython-311.pyc | Bin 0 -> 10668 bytes .../__pycache__/filelist.cpython-311.pyc | Bin 0 -> 17608 bytes .../__pycache__/log.cpython-311.pyc | Bin 0 -> 2692 bytes .../__pycache__/msvc9compiler.cpython-311.pyc | Bin 0 -> 33557 bytes .../__pycache__/msvccompiler.cpython-311.pyc | Bin 0 -> 26969 bytes .../__pycache__/py38compat.cpython-311.pyc | Bin 0 -> 621 bytes .../__pycache__/py39compat.cpython-311.pyc | Bin 0 -> 989 bytes .../__pycache__/spawn.cpython-311.pyc | Bin 0 -> 4433 bytes .../__pycache__/sysconfig.cpython-311.pyc | Bin 0 -> 22070 bytes .../__pycache__/text_file.cpython-311.pyc | Bin 0 -> 11270 bytes .../__pycache__/unixccompiler.cpython-311.pyc | Bin 0 -> 16493 bytes .../__pycache__/util.cpython-311.pyc | Bin 0 -> 20844 bytes .../__pycache__/version.cpython-311.pyc | Bin 0 -> 11346 bytes .../versionpredicate.cpython-311.pyc | Bin 0 -> 7623 bytes .../setuptools/_distutils/_collections.py | 194 + .../setuptools/_distutils/_functools.py | 20 + .../setuptools/_distutils/_log.py | 4 + .../setuptools/_distutils/_macos_compat.py | 12 + .../setuptools/_distutils/_msvccompiler.py | 572 + .../setuptools/_distutils/archive_util.py | 280 + .../setuptools/_distutils/bcppcompiler.py | 408 + .../setuptools/_distutils/ccompiler.py | 1220 ++ .../setuptools/_distutils/cmd.py | 435 + .../setuptools/_distutils/command/__init__.py | 25 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 541 bytes .../_framework_compat.cpython-311.pyc | Bin 0 -> 2782 bytes .../command/__pycache__/bdist.cpython-311.pyc | Bin 0 -> 6000 bytes .../__pycache__/bdist_dumb.cpython-311.pyc | Bin 0 -> 5720 bytes .../__pycache__/bdist_rpm.cpython-311.pyc | Bin 0 -> 23254 bytes .../command/__pycache__/build.cpython-311.pyc | Bin 0 -> 6055 bytes .../__pycache__/build_clib.cpython-311.pyc | Bin 0 -> 7763 bytes .../__pycache__/build_ext.cpython-311.pyc | Bin 0 -> 30273 bytes .../__pycache__/build_py.cpython-311.pyc | Bin 0 -> 17599 bytes .../__pycache__/build_scripts.cpython-311.pyc | Bin 0 -> 7853 bytes .../command/__pycache__/check.cpython-311.pyc | Bin 0 -> 7509 bytes .../command/__pycache__/clean.cpython-311.pyc | Bin 0 -> 3185 bytes .../__pycache__/config.cpython-311.pyc | Bin 0 -> 16222 bytes .../__pycache__/install.cpython-311.pyc | Bin 0 -> 29374 bytes .../__pycache__/install_data.cpython-311.pyc | Bin 0 -> 3762 bytes .../install_egg_info.cpython-311.pyc | Bin 0 -> 5217 bytes .../install_headers.cpython-311.pyc | Bin 0 -> 2350 bytes .../__pycache__/install_lib.cpython-311.pyc | Bin 0 -> 8671 bytes .../install_scripts.cpython-311.pyc | Bin 0 -> 3157 bytes .../__pycache__/py37compat.cpython-311.pyc | Bin 0 -> 1538 bytes .../__pycache__/register.cpython-311.pyc | Bin 0 -> 15556 bytes .../command/__pycache__/sdist.cpython-311.pyc | Bin 0 -> 23768 bytes .../__pycache__/upload.cpython-311.pyc | Bin 0 -> 10422 bytes .../_distutils/command/_framework_compat.py | 55 + .../setuptools/_distutils/command/bdist.py | 157 + .../_distutils/command/bdist_dumb.py | 144 + .../_distutils/command/bdist_rpm.py | 615 + .../setuptools/_distutils/command/build.py | 153 + .../_distutils/command/build_clib.py | 208 + .../_distutils/command/build_ext.py | 789 ++ .../setuptools/_distutils/command/build_py.py | 407 + .../_distutils/command/build_scripts.py | 173 + .../setuptools/_distutils/command/check.py | 151 + .../setuptools/_distutils/command/clean.py | 76 + .../setuptools/_distutils/command/config.py | 377 + .../setuptools/_distutils/command/install.py | 814 ++ .../_distutils/command/install_data.py | 84 + .../_distutils/command/install_egg_info.py | 92 + .../_distutils/command/install_headers.py | 45 + .../_distutils/command/install_lib.py | 238 + .../_distutils/command/install_scripts.py | 61 + .../_distutils/command/py37compat.py | 31 + .../setuptools/_distutils/command/register.py | 321 + .../setuptools/_distutils/command/sdist.py | 531 + .../setuptools/_distutils/command/upload.py | 207 + .../setuptools/_distutils/config.py | 139 + .../setuptools/_distutils/core.py | 291 + .../setuptools/_distutils/cygwinccompiler.py | 358 + .../setuptools/_distutils/debug.py | 5 + .../setuptools/_distutils/dep_util.py | 96 + .../setuptools/_distutils/dir_util.py | 243 + .../setuptools/_distutils/dist.py | 1287 ++ .../setuptools/_distutils/errors.py | 127 + .../setuptools/_distutils/extension.py | 248 + .../setuptools/_distutils/fancy_getopt.py | 470 + .../setuptools/_distutils/file_util.py | 249 + .../setuptools/_distutils/filelist.py | 371 + .../setuptools/_distutils/log.py | 57 + .../setuptools/_distutils/msvc9compiler.py | 832 ++ .../setuptools/_distutils/msvccompiler.py | 695 ++ .../setuptools/_distutils/py38compat.py | 8 + .../setuptools/_distutils/py39compat.py | 22 + .../setuptools/_distutils/spawn.py | 109 + .../setuptools/_distutils/sysconfig.py | 552 + .../setuptools/_distutils/text_file.py | 287 + .../setuptools/_distutils/unixccompiler.py | 401 + .../setuptools/_distutils/util.py | 513 + .../setuptools/_distutils/version.py | 358 + .../setuptools/_distutils/versionpredicate.py | 175 + .../site-packages/setuptools/_entry_points.py | 94 + .../site-packages/setuptools/_imp.py | 82 + .../site-packages/setuptools/_importlib.py | 47 + .../site-packages/setuptools/_itertools.py | 23 + .../site-packages/setuptools/_path.py | 29 + .../site-packages/setuptools/_reqs.py | 19 + .../setuptools/_vendor/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 192 bytes .../__pycache__/ordered_set.cpython-311.pyc | Bin 0 -> 21778 bytes .../typing_extensions.cpython-311.pyc | Bin 0 -> 107609 bytes .../_vendor/__pycache__/zipp.cpython-311.pyc | Bin 0 -> 15985 bytes .../_vendor/importlib_metadata/__init__.py | 1047 ++ .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 58231 bytes .../__pycache__/_adapters.cpython-311.pyc | Bin 0 -> 3844 bytes .../__pycache__/_collections.cpython-311.pyc | Bin 0 -> 2191 bytes .../__pycache__/_compat.cpython-311.pyc | Bin 0 -> 2713 bytes .../__pycache__/_functools.cpython-311.pyc | Bin 0 -> 3631 bytes .../__pycache__/_itertools.cpython-311.pyc | Bin 0 -> 2594 bytes .../__pycache__/_meta.cpython-311.pyc | Bin 0 -> 2998 bytes .../__pycache__/_text.cpython-311.pyc | Bin 0 -> 4389 bytes .../_vendor/importlib_metadata/_adapters.py | 68 + .../importlib_metadata/_collections.py | 30 + .../_vendor/importlib_metadata/_compat.py | 71 + .../_vendor/importlib_metadata/_functools.py | 104 + .../_vendor/importlib_metadata/_itertools.py | 73 + .../_vendor/importlib_metadata/_meta.py | 48 + .../_vendor/importlib_metadata/_text.py | 99 + .../_vendor/importlib_resources/__init__.py | 36 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 826 bytes .../__pycache__/_adapters.cpython-311.pyc | Bin 0 -> 10743 bytes .../__pycache__/_common.cpython-311.pyc | Bin 0 -> 4270 bytes .../__pycache__/_compat.cpython-311.pyc | Bin 0 -> 5555 bytes .../__pycache__/_itertools.cpython-311.pyc | Bin 0 -> 1388 bytes .../__pycache__/_legacy.cpython-311.pyc | Bin 0 -> 6486 bytes .../__pycache__/abc.cpython-311.pyc | Bin 0 -> 7487 bytes .../__pycache__/readers.cpython-311.pyc | Bin 0 -> 8361 bytes .../__pycache__/simple.cpython-311.pyc | Bin 0 -> 6383 bytes .../_vendor/importlib_resources/_adapters.py | 170 + .../_vendor/importlib_resources/_common.py | 104 + .../_vendor/importlib_resources/_compat.py | 98 + .../_vendor/importlib_resources/_itertools.py | 35 + .../_vendor/importlib_resources/_legacy.py | 121 + .../_vendor/importlib_resources/abc.py | 137 + .../_vendor/importlib_resources/readers.py | 122 + .../_vendor/importlib_resources/simple.py | 116 + .../setuptools/_vendor/jaraco/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 199 bytes .../__pycache__/context.cpython-311.pyc | Bin 0 -> 10974 bytes .../__pycache__/functools.cpython-311.pyc | Bin 0 -> 20279 bytes .../setuptools/_vendor/jaraco/context.py | 253 + .../setuptools/_vendor/jaraco/functools.py | 525 + .../_vendor/jaraco/text/__init__.py | 599 + .../text/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 26593 bytes .../_vendor/more_itertools/__init__.py | 4 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 292 bytes .../__pycache__/more.cpython-311.pyc | Bin 0 -> 149179 bytes .../__pycache__/recipes.cpython-311.pyc | Bin 0 -> 23761 bytes .../setuptools/_vendor/more_itertools/more.py | 3824 ++++++ .../_vendor/more_itertools/recipes.py | 620 + .../setuptools/_vendor/ordered_set.py | 488 + .../setuptools/_vendor/packaging/__about__.py | 26 + .../setuptools/_vendor/packaging/__init__.py | 25 + .../__pycache__/__about__.cpython-311.pyc | Bin 0 -> 643 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 564 bytes .../__pycache__/_manylinux.cpython-311.pyc | Bin 0 -> 13230 bytes .../__pycache__/_musllinux.cpython-311.pyc | Bin 0 -> 7998 bytes .../__pycache__/_structures.cpython-311.pyc | Bin 0 -> 3686 bytes .../__pycache__/markers.cpython-311.pyc | Bin 0 -> 16532 bytes .../__pycache__/requirements.cpython-311.pyc | Bin 0 -> 7647 bytes .../__pycache__/specifiers.cpython-311.pyc | Bin 0 -> 34364 bytes .../__pycache__/tags.cpython-311.pyc | Bin 0 -> 21349 bytes .../__pycache__/utils.cpython-311.pyc | Bin 0 -> 6684 bytes .../__pycache__/version.cpython-311.pyc | Bin 0 -> 21876 bytes .../_vendor/packaging/_manylinux.py | 301 + .../_vendor/packaging/_musllinux.py | 136 + .../_vendor/packaging/_structures.py | 61 + .../setuptools/_vendor/packaging/markers.py | 304 + .../_vendor/packaging/requirements.py | 146 + .../_vendor/packaging/specifiers.py | 802 ++ .../setuptools/_vendor/packaging/tags.py | 487 + .../setuptools/_vendor/packaging/utils.py | 136 + .../setuptools/_vendor/packaging/version.py | 504 + .../setuptools/_vendor/pyparsing/__init__.py | 331 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 8337 bytes .../__pycache__/actions.cpython-311.pyc | Bin 0 -> 8463 bytes .../__pycache__/common.cpython-311.pyc | Bin 0 -> 14785 bytes .../__pycache__/core.cpython-311.pyc | Bin 0 -> 277637 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 0 -> 12927 bytes .../__pycache__/helpers.cpython-311.pyc | Bin 0 -> 53628 bytes .../__pycache__/results.cpython-311.pyc | Bin 0 -> 36311 bytes .../__pycache__/testing.cpython-311.pyc | Bin 0 -> 19507 bytes .../__pycache__/unicode.cpython-311.pyc | Bin 0 -> 15365 bytes .../__pycache__/util.cpython-311.pyc | Bin 0 -> 14264 bytes .../setuptools/_vendor/pyparsing/actions.py | 207 + .../setuptools/_vendor/pyparsing/common.py | 424 + .../setuptools/_vendor/pyparsing/core.py | 5814 +++++++++ .../_vendor/pyparsing/diagram/__init__.py | 642 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 28000 bytes .../_vendor/pyparsing/exceptions.py | 267 + .../setuptools/_vendor/pyparsing/helpers.py | 1088 ++ .../setuptools/_vendor/pyparsing/results.py | 760 ++ .../setuptools/_vendor/pyparsing/testing.py | 331 + .../setuptools/_vendor/pyparsing/unicode.py | 352 + .../setuptools/_vendor/pyparsing/util.py | 235 + .../setuptools/_vendor/tomli/__init__.py | 11 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 414 bytes .../tomli/__pycache__/_parser.cpython-311.pyc | Bin 0 -> 30853 bytes .../tomli/__pycache__/_re.cpython-311.pyc | Bin 0 -> 4493 bytes .../tomli/__pycache__/_types.cpython-311.pyc | Bin 0 -> 406 bytes .../setuptools/_vendor/tomli/_parser.py | 691 + .../setuptools/_vendor/tomli/_re.py | 107 + .../setuptools/_vendor/tomli/_types.py | 10 + .../setuptools/_vendor/typing_extensions.py | 2296 ++++ .../site-packages/setuptools/_vendor/zipp.py | 329 + .../site-packages/setuptools/archive_util.py | 213 + .../site-packages/setuptools/build_meta.py | 512 + .../site-packages/setuptools/cli-32.exe | Bin 0 -> 65536 bytes .../site-packages/setuptools/cli-64.exe | Bin 0 -> 74752 bytes .../site-packages/setuptools/cli-arm64.exe | Bin 0 -> 137216 bytes .../site-packages/setuptools/cli.exe | Bin 0 -> 65536 bytes .../setuptools/command/__init__.py | 12 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 633 bytes .../command/__pycache__/alias.cpython-311.pyc | Bin 0 -> 3900 bytes .../__pycache__/bdist_egg.cpython-311.pyc | Bin 0 -> 25582 bytes .../__pycache__/bdist_rpm.cpython-311.pyc | Bin 0 -> 2188 bytes .../command/__pycache__/build.cpython-311.pyc | Bin 0 -> 6988 bytes .../__pycache__/build_clib.cpython-311.pyc | Bin 0 -> 4163 bytes .../__pycache__/build_ext.cpython-311.pyc | Bin 0 -> 22008 bytes .../__pycache__/build_py.cpython-311.pyc | Bin 0 -> 23174 bytes .../__pycache__/develop.cpython-311.pyc | Bin 0 -> 10916 bytes .../__pycache__/dist_info.cpython-311.pyc | Bin 0 -> 7978 bytes .../__pycache__/easy_install.cpython-311.pyc | Bin 0 -> 121498 bytes .../editable_wheel.cpython-311.pyc | Bin 0 -> 51411 bytes .../__pycache__/egg_info.cpython-311.pyc | Bin 0 -> 40836 bytes .../__pycache__/install.cpython-311.pyc | Bin 0 -> 6813 bytes .../install_egg_info.cpython-311.pyc | Bin 0 -> 5339 bytes .../__pycache__/install_lib.cpython-311.pyc | Bin 0 -> 8410 bytes .../install_scripts.cpython-311.pyc | Bin 0 -> 4277 bytes .../__pycache__/py36compat.cpython-311.pyc | Bin 0 -> 8034 bytes .../__pycache__/register.cpython-311.pyc | Bin 0 -> 1124 bytes .../__pycache__/rotate.cpython-311.pyc | Bin 0 -> 4184 bytes .../__pycache__/saveopts.cpython-311.pyc | Bin 0 -> 1364 bytes .../command/__pycache__/sdist.cpython-311.pyc | Bin 0 -> 13436 bytes .../__pycache__/setopt.cpython-311.pyc | Bin 0 -> 7676 bytes .../command/__pycache__/test.cpython-311.pyc | Bin 0 -> 14617 bytes .../__pycache__/upload.cpython-311.pyc | Bin 0 -> 1088 bytes .../__pycache__/upload_docs.cpython-311.pyc | Bin 0 -> 11939 bytes .../site-packages/setuptools/command/alias.py | 78 + .../setuptools/command/bdist_egg.py | 457 + .../setuptools/command/bdist_rpm.py | 40 + .../site-packages/setuptools/command/build.py | 146 + .../setuptools/command/build_clib.py | 101 + .../setuptools/command/build_ext.py | 383 + .../setuptools/command/build_py.py | 368 + .../setuptools/command/develop.py | 193 + .../setuptools/command/dist_info.py | 142 + .../setuptools/command/easy_install.py | 2366 ++++ .../setuptools/command/editable_wheel.py | 844 ++ .../setuptools/command/egg_info.py | 775 ++ .../setuptools/command/install.py | 139 + .../setuptools/command/install_egg_info.py | 83 + .../setuptools/command/install_lib.py | 148 + .../setuptools/command/install_scripts.py | 70 + .../setuptools/command/launcher manifest.xml | 15 + .../setuptools/command/py36compat.py | 134 + .../setuptools/command/register.py | 18 + .../setuptools/command/rotate.py | 64 + .../setuptools/command/saveopts.py | 22 + .../site-packages/setuptools/command/sdist.py | 210 + .../setuptools/command/setopt.py | 149 + .../site-packages/setuptools/command/test.py | 251 + .../setuptools/command/upload.py | 17 + .../setuptools/command/upload_docs.py | 212 + .../setuptools/config/__init__.py | 35 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 2028 bytes .../_apply_pyprojecttoml.cpython-311.pyc | Bin 0 -> 22837 bytes .../config/__pycache__/expand.cpython-311.pyc | Bin 0 -> 28242 bytes .../__pycache__/pyprojecttoml.cpython-311.pyc | Bin 0 -> 27873 bytes .../__pycache__/setupcfg.cpython-311.pyc | Bin 0 -> 33282 bytes .../setuptools/config/_apply_pyprojecttoml.py | 384 + .../config/_validate_pyproject/__init__.py | 34 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 2316 bytes .../error_reporting.cpython-311.pyc | Bin 0 -> 20207 bytes .../extra_validations.cpython-311.pyc | Bin 0 -> 1865 bytes .../fastjsonschema_exceptions.cpython-311.pyc | Bin 0 -> 3240 bytes ...fastjsonschema_validations.cpython-311.pyc | Bin 0 -> 192638 bytes .../__pycache__/formats.cpython-311.pyc | Bin 0 -> 14355 bytes .../_validate_pyproject/error_reporting.py | 318 + .../_validate_pyproject/extra_validations.py | 36 + .../fastjsonschema_exceptions.py | 51 + .../fastjsonschema_validations.py | 1035 ++ .../config/_validate_pyproject/formats.py | 259 + .../site-packages/setuptools/config/expand.py | 462 + .../setuptools/config/pyprojecttoml.py | 498 + .../setuptools/config/setupcfg.py | 769 ++ .../site-packages/setuptools/dep_util.py | 25 + .../site-packages/setuptools/depends.py | 176 + .../site-packages/setuptools/discovery.py | 601 + .../site-packages/setuptools/dist.py | 1218 ++ .../site-packages/setuptools/errors.py | 58 + .../site-packages/setuptools/extension.py | 148 + .../setuptools/extern/__init__.py | 76 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 4392 bytes .../site-packages/setuptools/glob.py | 167 + .../site-packages/setuptools/gui-32.exe | Bin 0 -> 65536 bytes .../site-packages/setuptools/gui-64.exe | Bin 0 -> 75264 bytes .../site-packages/setuptools/gui-arm64.exe | Bin 0 -> 137728 bytes .../site-packages/setuptools/gui.exe | Bin 0 -> 65536 bytes .../site-packages/setuptools/installer.py | 104 + .../site-packages/setuptools/launch.py | 36 + .../site-packages/setuptools/logging.py | 37 + .../site-packages/setuptools/monkey.py | 165 + .../site-packages/setuptools/msvc.py | 1703 +++ .../site-packages/setuptools/namespaces.py | 107 + .../site-packages/setuptools/package_index.py | 1177 ++ .../site-packages/setuptools/py34compat.py | 13 + .../site-packages/setuptools/sandbox.py | 530 + .../setuptools/script (dev).tmpl | 6 + .../site-packages/setuptools/script.tmpl | 3 + .../site-packages/setuptools/unicode_utils.py | 42 + .../site-packages/setuptools/version.py | 6 + .../site-packages/setuptools/wheel.py | 222 + .../setuptools/windows_support.py | 29 + .../sniffio-1.3.1.dist-info/INSTALLER | 1 + .../sniffio-1.3.1.dist-info/LICENSE | 3 + .../sniffio-1.3.1.dist-info/LICENSE.APACHE2 | 202 + .../sniffio-1.3.1.dist-info/LICENSE.MIT | 20 + .../sniffio-1.3.1.dist-info/METADATA | 104 + .../sniffio-1.3.1.dist-info/RECORD | 19 + .../sniffio-1.3.1.dist-info/WHEEL | 5 + .../sniffio-1.3.1.dist-info/top_level.txt | 1 + .../site-packages/sniffio/__init__.py | 17 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 535 bytes .../sniffio/__pycache__/_impl.cpython-311.pyc | Bin 0 -> 3399 bytes .../__pycache__/_version.cpython-311.pyc | Bin 0 -> 203 bytes .../python3.11/site-packages/sniffio/_impl.py | 95 + .../site-packages/sniffio/_tests/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 188 bytes .../__pycache__/test_sniffio.cpython-311.pyc | Bin 0 -> 5060 bytes .../sniffio/_tests/test_sniffio.py | 84 + .../site-packages/sniffio/_version.py | 3 + .../python3.11/site-packages/sniffio/py.typed | 0 .../site-packages/telegram/__init__.py | 546 + .../site-packages/telegram/__main__.py | 54 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 17107 bytes .../__pycache__/__main__.cpython-311.pyc | Bin 0 -> 2001 bytes .../__pycache__/_birthdate.cpython-311.pyc | Bin 0 -> 3174 bytes .../telegram/__pycache__/_bot.cpython-311.pyc | Bin 0 -> 395871 bytes .../__pycache__/_botcommand.cpython-311.pyc | Bin 0 -> 3075 bytes .../_botcommandscope.cpython-311.pyc | Bin 0 -> 14296 bytes .../_botdescription.cpython-311.pyc | Bin 0 -> 2915 bytes .../__pycache__/_botname.cpython-311.pyc | Bin 0 -> 1894 bytes .../__pycache__/_business.cpython-311.pyc | Bin 0 -> 19373 bytes .../_callbackquery.cpython-311.pyc | Bin 0 -> 31484 bytes .../__pycache__/_chat.cpython-311.pyc | Bin 0 -> 119839 bytes .../_chatadministratorrights.cpython-311.pyc | Bin 0 -> 10847 bytes .../_chatbackground.cpython-311.pyc | Bin 0 -> 24853 bytes .../__pycache__/_chatboost.cpython-311.pyc | Bin 0 -> 21817 bytes .../__pycache__/_chatfullinfo.cpython-311.pyc | Bin 0 -> 25977 bytes .../_chatinvitelink.cpython-311.pyc | Bin 0 -> 7914 bytes .../_chatjoinrequest.cpython-311.pyc | Bin 0 -> 9406 bytes .../__pycache__/_chatlocation.cpython-311.pyc | Bin 0 -> 3657 bytes .../__pycache__/_chatmember.cpython-311.pyc | Bin 0 -> 29643 bytes .../_chatmemberupdated.cpython-311.pyc | Bin 0 -> 9775 bytes .../_chatpermissions.cpython-311.pyc | Bin 0 -> 10248 bytes .../_choseninlineresult.cpython-311.pyc | Bin 0 -> 4650 bytes .../_copytextbutton.cpython-311.pyc | Bin 0 -> 2145 bytes .../__pycache__/_dice.cpython-311.pyc | Bin 0 -> 6455 bytes .../__pycache__/_forcereply.cpython-311.pyc | Bin 0 -> 4367 bytes .../__pycache__/_forumtopic.cpython-311.pyc | Bin 0 -> 9002 bytes .../__pycache__/_gifts.cpython-311.pyc | Bin 0 -> 6232 bytes .../__pycache__/_giveaway.cpython-311.pyc | Bin 0 -> 18017 bytes .../_keyboardbutton.cpython-311.pyc | Bin 0 -> 9297 bytes .../_keyboardbuttonpolltype.cpython-311.pyc | Bin 0 -> 2645 bytes .../_keyboardbuttonrequest.cpython-311.pyc | Bin 0 -> 12675 bytes .../_linkpreviewoptions.cpython-311.pyc | Bin 0 -> 4235 bytes .../__pycache__/_loginurl.cpython-311.pyc | Bin 0 -> 5014 bytes .../__pycache__/_menubutton.cpython-311.pyc | Bin 0 -> 9785 bytes .../__pycache__/_message.cpython-311.pyc | Bin 0 -> 206217 bytes ...sageautodeletetimerchanged.cpython-311.pyc | Bin 0 -> 1976 bytes .../_messageentity.cpython-311.pyc | Bin 0 -> 19841 bytes .../__pycache__/_messageid.cpython-311.pyc | Bin 0 -> 2321 bytes .../_messageorigin.cpython-311.pyc | Bin 0 -> 13085 bytes .../_messagereactionupdated.cpython-311.pyc | Bin 0 -> 9268 bytes .../__pycache__/_paidmedia.cpython-311.pyc | Bin 0 -> 15339 bytes .../__pycache__/_poll.cpython-311.pyc | Bin 0 -> 28976 bytes .../_proximityalerttriggered.cpython-311.pyc | Bin 0 -> 3367 bytes .../__pycache__/_reaction.cpython-311.pyc | Bin 0 -> 9915 bytes .../__pycache__/_reply.cpython-311.pyc | Bin 0 -> 24620 bytes .../_replykeyboardmarkup.cpython-311.pyc | Bin 0 -> 16577 bytes .../_replykeyboardremove.cpython-311.pyc | Bin 0 -> 3314 bytes .../_sentwebappmessage.cpython-311.pyc | Bin 0 -> 2169 bytes .../__pycache__/_shared.cpython-311.pyc | Bin 0 -> 11997 bytes .../__pycache__/_story.cpython-311.pyc | Bin 0 -> 2863 bytes ...witchinlinequerychosenchat.cpython-311.pyc | Bin 0 -> 3931 bytes .../_telegramobject.cpython-311.pyc | Bin 0 -> 30530 bytes .../__pycache__/_update.cpython-311.pyc | Bin 0 -> 33834 bytes .../__pycache__/_user.cpython-311.pyc | Bin 0 -> 77634 bytes .../_userprofilephotos.cpython-311.pyc | Bin 0 -> 3716 bytes .../__pycache__/_version.cpython-311.pyc | Bin 0 -> 1838 bytes .../__pycache__/_videochat.cpython-311.pyc | Bin 0 -> 8070 bytes .../__pycache__/_webappdata.cpython-311.pyc | Bin 0 -> 2440 bytes .../__pycache__/_webappinfo.cpython-311.pyc | Bin 0 -> 2133 bytes .../__pycache__/_webhookinfo.cpython-311.pyc | Bin 0 -> 7503 bytes .../_writeaccessallowed.cpython-311.pyc | Bin 0 -> 3501 bytes .../__pycache__/constants.cpython-311.pyc | Bin 0 -> 60542 bytes .../__pycache__/error.cpython-311.pyc | Bin 0 -> 11044 bytes .../__pycache__/helpers.cpython-311.pyc | Bin 0 -> 7929 bytes .../__pycache__/warnings.cpython-311.pyc | Bin 0 -> 2770 bytes .../site-packages/telegram/_birthdate.py | 92 + .../python3.11/site-packages/telegram/_bot.py | 10378 ++++++++++++++++ .../site-packages/telegram/_botcommand.py | 83 + .../telegram/_botcommandscope.py | 268 + .../site-packages/telegram/_botdescription.py | 77 + .../site-packages/telegram/_botname.py | 54 + .../site-packages/telegram/_business.py | 430 + .../site-packages/telegram/_callbackquery.py | 893 ++ .../site-packages/telegram/_chat.py | 3626 ++++++ .../telegram/_chatadministratorrights.py | 247 + .../site-packages/telegram/_chatbackground.py | 532 + .../site-packages/telegram/_chatboost.py | 439 + .../site-packages/telegram/_chatfullinfo.py | 560 + .../site-packages/telegram/_chatinvitelink.py | 191 + .../telegram/_chatjoinrequest.py | 209 + .../site-packages/telegram/_chatlocation.py | 89 + .../site-packages/telegram/_chatmember.py | 662 + .../telegram/_chatmemberupdated.py | 213 + .../telegram/_chatpermissions.py | 244 + .../telegram/_choseninlineresult.py | 105 + .../site-packages/telegram/_copytextbutton.py | 55 + .../site-packages/telegram/_dice.py | 160 + .../site-packages/telegram/_files/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 189 bytes .../__pycache__/_basemedium.cpython-311.pyc | Bin 0 -> 3672 bytes .../_basethumbedmedium.cpython-311.pyc | Bin 0 -> 4125 bytes .../__pycache__/animation.cpython-311.pyc | Bin 0 -> 4322 bytes .../_files/__pycache__/audio.cpython-311.pyc | Bin 0 -> 4520 bytes .../__pycache__/chatphoto.cpython-311.pyc | Bin 0 -> 7005 bytes .../__pycache__/contact.cpython-311.pyc | Bin 0 -> 2642 bytes .../__pycache__/document.cpython-311.pyc | Bin 0 -> 3653 bytes .../_files/__pycache__/file.cpython-311.pyc | Bin 0 -> 17259 bytes .../__pycache__/inputfile.cpython-311.pyc | Bin 0 -> 6370 bytes .../__pycache__/inputmedia.cpython-311.pyc | Bin 0 -> 39100 bytes .../__pycache__/inputsticker.cpython-311.pyc | Bin 0 -> 5636 bytes .../__pycache__/location.cpython-311.pyc | Bin 0 -> 4399 bytes .../__pycache__/photosize.cpython-311.pyc | Bin 0 -> 2900 bytes .../__pycache__/sticker.cpython-311.pyc | Bin 0 -> 17070 bytes .../_files/__pycache__/venue.cpython-311.pyc | Bin 0 -> 4645 bytes .../_files/__pycache__/video.cpython-311.pyc | Bin 0 -> 6039 bytes .../__pycache__/videonote.cpython-311.pyc | Bin 0 -> 3600 bytes .../_files/__pycache__/voice.cpython-311.pyc | Bin 0 -> 3068 bytes .../telegram/_files/_basemedium.py | 100 + .../telegram/_files/_basethumbedmedium.py | 101 + .../telegram/_files/animation.py | 102 + .../site-packages/telegram/_files/audio.py | 104 + .../telegram/_files/chatphoto.py | 176 + .../site-packages/telegram/_files/contact.py | 71 + .../site-packages/telegram/_files/document.py | 88 + .../site-packages/telegram/_files/file.py | 371 + .../telegram/_files/inputfile.py | 142 + .../telegram/_files/inputmedia.py | 877 ++ .../telegram/_files/inputsticker.py | 119 + .../site-packages/telegram/_files/location.py | 113 + .../telegram/_files/photosize.py | 77 + .../site-packages/telegram/_files/sticker.py | 382 + .../site-packages/telegram/_files/venue.py | 113 + .../site-packages/telegram/_files/video.py | 139 + .../telegram/_files/videonote.py | 90 + .../site-packages/telegram/_files/voice.py | 76 + .../site-packages/telegram/_forcereply.py | 106 + .../site-packages/telegram/_forumtopic.py | 215 + .../site-packages/telegram/_games/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 189 bytes .../__pycache__/callbackgame.cpython-311.pyc | Bin 0 -> 1332 bytes .../_games/__pycache__/game.cpython-311.pyc | Bin 0 -> 9367 bytes .../__pycache__/gamehighscore.cpython-311.pyc | Bin 0 -> 3014 bytes .../telegram/_games/callbackgame.py | 35 + .../site-packages/telegram/_games/game.py | 194 + .../telegram/_games/gamehighscore.py | 71 + .../site-packages/telegram/_gifts.py | 147 + .../site-packages/telegram/_giveaway.py | 378 + .../telegram/_inline/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 190 bytes .../inlinekeyboardbutton.cpython-311.pyc | Bin 0 -> 16765 bytes .../inlinekeyboardmarkup.cpython-311.pyc | Bin 0 -> 6570 bytes .../__pycache__/inlinequery.cpython-311.pyc | Bin 0 -> 9562 bytes .../inlinequeryresult.cpython-311.pyc | Bin 0 -> 2895 bytes .../inlinequeryresultarticle.cpython-311.pyc | Bin 0 -> 5039 bytes .../inlinequeryresultaudio.cpython-311.pyc | Bin 0 -> 5733 bytes ...linequeryresultcachedaudio.cpython-311.pyc | Bin 0 -> 5263 bytes ...equeryresultcacheddocument.cpython-311.pyc | Bin 0 -> 5738 bytes ...inlinequeryresultcachedgif.cpython-311.pyc | Bin 0 -> 5872 bytes ...equeryresultcachedmpeg4gif.cpython-311.pyc | Bin 0 -> 5967 bytes ...linequeryresultcachedphoto.cpython-311.pyc | Bin 0 -> 6089 bytes ...nequeryresultcachedsticker.cpython-311.pyc | Bin 0 -> 3760 bytes ...linequeryresultcachedvideo.cpython-311.pyc | Bin 0 -> 6002 bytes ...linequeryresultcachedvoice.cpython-311.pyc | Bin 0 -> 5462 bytes .../inlinequeryresultcontact.cpython-311.pyc | Bin 0 -> 5391 bytes .../inlinequeryresultdocument.cpython-311.pyc | Bin 0 -> 7052 bytes .../inlinequeryresultgame.cpython-311.pyc | Bin 0 -> 2888 bytes .../inlinequeryresultgif.cpython-311.pyc | Bin 0 -> 7546 bytes .../inlinequeryresultlocation.cpython-311.pyc | Bin 0 -> 8655 bytes .../inlinequeryresultmpeg4gif.cpython-311.pyc | Bin 0 -> 7639 bytes .../inlinequeryresultphoto.cpython-311.pyc | Bin 0 -> 6974 bytes .../inlinequeryresultsbutton.cpython-311.pyc | Bin 0 -> 5616 bytes .../inlinequeryresultvenue.cpython-311.pyc | Bin 0 -> 6865 bytes .../inlinequeryresultvideo.cpython-311.pyc | Bin 0 -> 7926 bytes .../inlinequeryresultvoice.cpython-311.pyc | Bin 0 -> 5659 bytes ...inputcontactmessagecontent.cpython-311.pyc | Bin 0 -> 2811 bytes ...inputinvoicemessagecontent.cpython-311.pyc | Bin 0 -> 13776 bytes ...nputlocationmessagecontent.cpython-311.pyc | Bin 0 -> 6149 bytes .../inputmessagecontent.cpython-311.pyc | Bin 0 -> 1614 bytes .../inputtextmessagecontent.cpython-311.pyc | Bin 0 -> 4995 bytes .../inputvenuemessagecontent.cpython-311.pyc | Bin 0 -> 4374 bytes .../preparedinlinemessage.cpython-311.pyc | Bin 0 -> 3263 bytes .../telegram/_inline/inlinekeyboardbutton.py | 337 + .../telegram/_inline/inlinekeyboardmarkup.py | 161 + .../telegram/_inline/inlinequery.py | 224 + .../telegram/_inline/inlinequeryresult.py | 79 + .../_inline/inlinequeryresultarticle.py | 129 + .../_inline/inlinequeryresultaudio.py | 130 + .../_inline/inlinequeryresultcachedaudio.py | 116 + .../inlinequeryresultcacheddocument.py | 126 + .../_inline/inlinequeryresultcachedgif.py | 131 + .../inlinequeryresultcachedmpeg4gif.py | 131 + .../_inline/inlinequeryresultcachedphoto.py | 136 + .../_inline/inlinequeryresultcachedsticker.py | 81 + .../_inline/inlinequeryresultcachedvideo.py | 132 + .../_inline/inlinequeryresultcachedvoice.py | 121 + .../_inline/inlinequeryresultcontact.py | 130 + .../_inline/inlinequeryresultdocument.py | 165 + .../telegram/_inline/inlinequeryresultgame.py | 66 + .../telegram/_inline/inlinequeryresultgif.py | 174 + .../_inline/inlinequeryresultlocation.py | 207 + .../_inline/inlinequeryresultmpeg4gif.py | 176 + .../_inline/inlinequeryresultphoto.py | 161 + .../_inline/inlinequeryresultsbutton.py | 115 + .../_inline/inlinequeryresultvenue.py | 160 + .../_inline/inlinequeryresultvideo.py | 182 + .../_inline/inlinequeryresultvoice.py | 127 + .../_inline/inputcontactmessagecontent.py | 68 + .../_inline/inputinvoicemessagecontent.py | 264 + .../_inline/inputlocationmessagecontent.py | 150 + .../telegram/_inline/inputmessagecontent.py | 42 + .../_inline/inputtextmessagecontent.py | 116 + .../_inline/inputvenuemessagecontent.py | 108 + .../telegram/_inline/preparedinlinemessage.py | 78 + .../site-packages/telegram/_keyboardbutton.py | 193 + .../telegram/_keyboardbuttonpolltype.py | 63 + .../telegram/_keyboardbuttonrequest.py | 272 + .../telegram/_linkpreviewoptions.py | 103 + .../site-packages/telegram/_loginurl.py | 105 + .../site-packages/telegram/_menubutton.py | 189 + .../site-packages/telegram/_message.py | 5193 ++++++++ .../_messageautodeletetimerchanged.py | 60 + .../site-packages/telegram/_messageentity.py | 410 + .../site-packages/telegram/_messageid.py | 54 + .../site-packages/telegram/_messageorigin.py | 282 + .../telegram/_messagereactionupdated.py | 199 + .../site-packages/telegram/_paidmedia.py | 313 + .../telegram/_passport/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 192 bytes .../__pycache__/credentials.cpython-311.pyc | Bin 0 -> 26338 bytes .../__pycache__/data.cpython-311.pyc | Bin 0 -> 6546 bytes .../encryptedpassportelement.cpython-311.pyc | Bin 0 -> 13728 bytes .../__pycache__/passportdata.cpython-311.pyc | Bin 0 -> 6381 bytes .../passportelementerrors.cpython-311.pyc | Bin 0 -> 24203 bytes .../__pycache__/passportfile.cpython-311.pyc | Bin 0 -> 9156 bytes .../telegram/_passport/credentials.py | 524 + .../site-packages/telegram/_passport/data.py | 186 + .../_passport/encryptedpassportelement.py | 282 + .../telegram/_passport/passportdata.py | 127 + .../_passport/passportelementerrors.py | 474 + .../telegram/_passport/passportfile.py | 220 + .../telegram/_payment/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 191 bytes .../__pycache__/invoice.cpython-311.pyc | Bin 0 -> 4493 bytes .../__pycache__/labeledprice.cpython-311.pyc | Bin 0 -> 2765 bytes .../__pycache__/orderinfo.cpython-311.pyc | Bin 0 -> 3461 bytes .../precheckoutquery.cpython-311.pyc | Bin 0 -> 6513 bytes .../refundedpayment.cpython-311.pyc | Bin 0 -> 3865 bytes .../shippingaddress.cpython-311.pyc | Bin 0 -> 2779 bytes .../shippingoption.cpython-311.pyc | Bin 0 -> 2587 bytes .../__pycache__/shippingquery.cpython-311.pyc | Bin 0 -> 5113 bytes .../successfulpayment.cpython-311.pyc | Bin 0 -> 7015 bytes .../telegram/_payment/invoice.py | 134 + .../telegram/_payment/labeledprice.py | 65 + .../telegram/_payment/orderinfo.py | 83 + .../telegram/_payment/precheckoutquery.py | 151 + .../telegram/_payment/refundedpayment.py | 93 + .../telegram/_payment/shippingaddress.py | 89 + .../telegram/_payment/shippingoption.py | 76 + .../telegram/_payment/shippingquery.py | 123 + .../telegram/_payment/stars/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 197 bytes .../__pycache__/affiliateinfo.cpython-311.pyc | Bin 0 -> 5510 bytes .../revenuewithdrawalstate.cpython-311.pyc | Bin 0 -> 8459 bytes .../startransactions.cpython-311.pyc | Bin 0 -> 8449 bytes .../transactionpartner.cpython-311.pyc | Bin 0 -> 21833 bytes .../telegram/_payment/stars/affiliateinfo.py | 116 + .../_payment/stars/revenuewithdrawalstate.py | 180 + .../_payment/stars/startransactions.py | 165 + .../_payment/stars/transactionpartner.py | 452 + .../telegram/_payment/successfulpayment.py | 158 + .../site-packages/telegram/_poll.py | 636 + .../telegram/_proximityalerttriggered.py | 78 + .../site-packages/telegram/_reaction.py | 232 + .../site-packages/telegram/_reply.py | 461 + .../telegram/_replykeyboardmarkup.py | 360 + .../telegram/_replykeyboardremove.py | 73 + .../telegram/_sentwebappmessage.py | 56 + .../site-packages/telegram/_shared.py | 253 + .../site-packages/telegram/_story.py | 79 + .../telegram/_switchinlinequerychosenchat.py | 100 + .../site-packages/telegram/_telegramobject.py | 667 + .../site-packages/telegram/_update.py | 813 ++ .../site-packages/telegram/_user.py | 2356 ++++ .../telegram/_userprofilephotos.py | 80 + .../site-packages/telegram/_utils/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 189 bytes .../argumentparsing.cpython-311.pyc | Bin 0 -> 5448 bytes .../__pycache__/datetime.cpython-311.pyc | Bin 0 -> 10195 bytes .../__pycache__/defaultvalue.cpython-311.pyc | Bin 0 -> 4876 bytes .../__pycache__/entities.cpython-311.pyc | Bin 0 -> 3207 bytes .../_utils/__pycache__/enum.cpython-311.pyc | Bin 0 -> 3863 bytes .../_utils/__pycache__/files.cpython-311.pyc | Bin 0 -> 6891 bytes .../__pycache__/logging.cpython-311.pyc | Bin 0 -> 1815 bytes .../_utils/__pycache__/markup.cpython-311.pyc | Bin 0 -> 1612 bytes .../_utils/__pycache__/repr.cpython-311.pyc | Bin 0 -> 1858 bytes .../__pycache__/strings.cpython-311.pyc | Bin 0 -> 1808 bytes .../_utils/__pycache__/types.cpython-311.pyc | Bin 0 -> 2633 bytes .../__pycache__/warnings.cpython-311.pyc | Bin 0 -> 1854 bytes .../warnings_transition.cpython-311.pyc | Bin 0 -> 3733 bytes .../telegram/_utils/argumentparsing.py | 140 + .../site-packages/telegram/_utils/datetime.py | 226 + .../telegram/_utils/defaultvalue.py | 148 + .../site-packages/telegram/_utils/entities.py | 73 + .../site-packages/telegram/_utils/enum.py | 90 + .../site-packages/telegram/_utils/files.py | 157 + .../site-packages/telegram/_utils/logging.py | 50 + .../site-packages/telegram/_utils/markup.py | 49 + .../site-packages/telegram/_utils/repr.py | 45 + .../site-packages/telegram/_utils/strings.py | 55 + .../site-packages/telegram/_utils/types.py | 98 + .../site-packages/telegram/_utils/warnings.py | 56 + .../telegram/_utils/warnings_transition.py | 114 + .../site-packages/telegram/_version.py | 56 + .../site-packages/telegram/_videochat.py | 187 + .../site-packages/telegram/_webappdata.py | 64 + .../site-packages/telegram/_webappinfo.py | 59 + .../site-packages/telegram/_webhookinfo.py | 181 + .../telegram/_writeaccessallowed.py | 88 + .../site-packages/telegram/constants.py | 3257 +++++ .../site-packages/telegram/error.py | 252 + .../site-packages/telegram/ext/__init__.py | 104 + .../ext/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 3691 bytes .../_aioratelimiter.cpython-311.pyc | Bin 0 -> 14382 bytes .../__pycache__/_application.cpython-311.pyc | Bin 0 -> 94576 bytes .../_applicationbuilder.cpython-311.pyc | Bin 0 -> 61665 bytes .../_basepersistence.cpython-311.pyc | Bin 0 -> 21216 bytes .../_baseratelimiter.cpython-311.pyc | Bin 0 -> 6871 bytes .../_baseupdateprocessor.cpython-311.pyc | Bin 0 -> 8586 bytes .../_callbackcontext.cpython-311.pyc | Bin 0 -> 19975 bytes .../_callbackdatacache.cpython-311.pyc | Bin 0 -> 21905 bytes .../__pycache__/_contexttypes.cpython-311.pyc | Bin 0 -> 9553 bytes .../ext/__pycache__/_defaults.cpython-311.pyc | Bin 0 -> 19060 bytes .../_dictpersistence.cpython-311.pyc | Bin 0 -> 23511 bytes .../ext/__pycache__/_extbot.cpython-311.pyc | Bin 0 -> 171767 bytes .../ext/__pycache__/_jobqueue.cpython-311.pyc | Bin 0 -> 47332 bytes .../_picklepersistence.cpython-311.pyc | Bin 0 -> 30103 bytes .../ext/__pycache__/_updater.cpython-311.pyc | Bin 0 -> 36335 bytes .../ext/__pycache__/filters.cpython-311.pyc | Bin 0 -> 142599 bytes .../telegram/ext/_aioratelimiter.py | 299 + .../telegram/ext/_application.py | 1935 +++ .../telegram/ext/_applicationbuilder.py | 1410 +++ .../telegram/ext/_basepersistence.py | 440 + .../telegram/ext/_baseratelimiter.py | 142 + .../telegram/ext/_baseupdateprocessor.py | 201 + .../telegram/ext/_callbackcontext.py | 429 + .../telegram/ext/_callbackdatacache.py | 469 + .../telegram/ext/_contexttypes.py | 226 + .../site-packages/telegram/ext/_defaults.py | 429 + .../telegram/ext/_dictpersistence.py | 481 + .../site-packages/telegram/ext/_extbot.py | 4727 +++++++ .../telegram/ext/_handlers/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 196 bytes .../__pycache__/basehandler.cpython-311.pyc | Bin 0 -> 8007 bytes .../businessconnectionhandler.cpython-311.pyc | Bin 0 -> 4310 bytes ...nessmessagesdeletedhandler.cpython-311.pyc | Bin 0 -> 4357 bytes .../callbackqueryhandler.cpython-311.pyc | Bin 0 -> 9871 bytes .../chatboosthandler.cpython-311.pyc | Bin 0 -> 5576 bytes .../chatjoinrequesthandler.cpython-311.pyc | Bin 0 -> 4938 bytes .../chatmemberhandler.cpython-311.pyc | Bin 0 -> 5452 bytes .../choseninlineresulthandler.cpython-311.pyc | Bin 0 -> 5699 bytes .../commandhandler.cpython-311.pyc | Bin 0 -> 11908 bytes .../conversationhandler.cpython-311.pyc | Bin 0 -> 45684 bytes .../inlinequeryhandler.cpython-311.pyc | Bin 0 -> 6574 bytes .../messagehandler.cpython-311.pyc | Bin 0 -> 5408 bytes .../messagereactionhandler.cpython-311.pyc | Bin 0 -> 8176 bytes .../paidmediapurchasedhandler.cpython-311.pyc | Bin 0 -> 4288 bytes .../pollanswerhandler.cpython-311.pyc | Bin 0 -> 2763 bytes .../__pycache__/pollhandler.cpython-311.pyc | Bin 0 -> 2717 bytes .../precheckoutqueryhandler.cpython-311.pyc | Bin 0 -> 4494 bytes .../__pycache__/prefixhandler.cpython-311.pyc | Bin 0 -> 9561 bytes .../shippingqueryhandler.cpython-311.pyc | Bin 0 -> 2746 bytes .../stringcommandhandler.cpython-311.pyc | Bin 0 -> 5116 bytes .../stringregexhandler.cpython-311.pyc | Bin 0 -> 5293 bytes .../__pycache__/typehandler.cpython-311.pyc | Bin 0 -> 4195 bytes .../telegram/ext/_handlers/basehandler.py | 175 + .../_handlers/businessconnectionhandler.py | 95 + .../businessmessagesdeletedhandler.py | 95 + .../ext/_handlers/callbackqueryhandler.py | 208 + .../ext/_handlers/chatboosthandler.py | 130 + .../ext/_handlers/chatjoinrequesthandler.py | 111 + .../ext/_handlers/chatmemberhandler.py | 125 + .../_handlers/choseninlineresulthandler.py | 122 + .../telegram/ext/_handlers/commandhandler.py | 223 + .../ext/_handlers/conversationhandler.py | 958 ++ .../ext/_handlers/inlinequeryhandler.py | 143 + .../telegram/ext/_handlers/messagehandler.py | 111 + .../ext/_handlers/messagereactionhandler.py | 180 + .../_handlers/paidmediapurchasedhandler.py | 95 + .../ext/_handlers/pollanswerhandler.py | 71 + .../telegram/ext/_handlers/pollhandler.py | 71 + .../ext/_handlers/precheckoutqueryhandler.py | 103 + .../telegram/ext/_handlers/prefixhandler.py | 184 + .../ext/_handlers/shippingqueryhandler.py | 70 + .../ext/_handlers/stringcommandhandler.py | 108 + .../ext/_handlers/stringregexhandler.py | 115 + .../telegram/ext/_handlers/typehandler.py | 98 + .../site-packages/telegram/ext/_jobqueue.py | 1013 ++ .../telegram/ext/_picklepersistence.py | 562 + .../site-packages/telegram/ext/_updater.py | 823 ++ .../telegram/ext/_utils/__init__.py | 17 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 193 bytes .../_update_parsing.cpython-311.pyc | Bin 0 -> 2113 bytes .../__pycache__/asyncio.cpython-311.pyc | Bin 0 -> 2562 bytes .../__pycache__/networkloop.cpython-311.pyc | Bin 0 -> 6955 bytes .../_utils/__pycache__/stack.cpython-311.pyc | Bin 0 -> 2570 bytes .../__pycache__/trackingdict.cpython-311.pyc | Bin 0 -> 6926 bytes .../_utils/__pycache__/types.cpython-311.pyc | Bin 0 -> 2245 bytes .../webhookhandler.cpython-311.pyc | Bin 0 -> 11320 bytes .../telegram/ext/_utils/_update_parsing.py | 50 + .../telegram/ext/_utils/asyncio.py | 55 + .../telegram/ext/_utils/networkloop.py | 152 + .../telegram/ext/_utils/stack.py | 76 + .../telegram/ext/_utils/trackingdict.py | 125 + .../telegram/ext/_utils/types.py | 106 + .../telegram/ext/_utils/webhookhandler.py | 223 + .../site-packages/telegram/ext/filters.py | 2939 +++++ .../site-packages/telegram/helpers.py | 201 + .../site-packages/telegram/py.typed | 0 .../telegram/request/__init__.py | 24 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 530 bytes .../__pycache__/_baserequest.cpython-311.pyc | Bin 0 -> 20239 bytes .../__pycache__/_httpxrequest.cpython-311.pyc | Bin 0 -> 14363 bytes .../__pycache__/_requestdata.cpython-311.pyc | Bin 0 -> 7080 bytes .../_requestparameter.cpython-311.pyc | Bin 0 -> 8612 bytes .../telegram/request/_baserequest.py | 457 + .../telegram/request/_httpxrequest.py | 319 + .../telegram/request/_requestdata.py | 142 + .../telegram/request/_requestparameter.py | 183 + .../site-packages/telegram/warnings.py | 87 + .../INSTALLER | 1 + .../LICENSE | 279 + .../METADATA | 67 + .../typing_extensions-4.12.2.dist-info/RECORD | 7 + .../typing_extensions-4.12.2.dist-info/WHEEL | 4 + .../site-packages/typing_extensions.py | 3641 ++++++ .../tzlocal-5.3.1.dist-info/INSTALLER | 1 + .../tzlocal-5.3.1.dist-info/LICENSE.txt | 19 + .../tzlocal-5.3.1.dist-info/METADATA | 244 + .../tzlocal-5.3.1.dist-info/RECORD | 17 + .../tzlocal-5.3.1.dist-info/WHEEL | 5 + .../tzlocal-5.3.1.dist-info/top_level.txt | 1 + .../site-packages/tzlocal/__init__.py | 19 + .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 606 bytes .../tzlocal/__pycache__/unix.cpython-311.pyc | Bin 0 -> 11562 bytes .../tzlocal/__pycache__/utils.cpython-311.pyc | Bin 0 -> 4838 bytes .../tzlocal/__pycache__/win32.cpython-311.pyc | Bin 0 -> 5145 bytes .../__pycache__/windows_tz.cpython-311.pyc | Bin 0 -> 30527 bytes .../python3.11/site-packages/tzlocal/py.typed | 0 .../python3.11/site-packages/tzlocal/unix.py | 249 + .../python3.11/site-packages/tzlocal/utils.py | 108 + .../python3.11/site-packages/tzlocal/win32.py | 144 + .../site-packages/tzlocal/windows_tz.py | 736 ++ botenre/myenv/lib64 | 1 + botenre/myenv/pyvenv.cfg | 5 + config.json | 4 + laenredada.py | 198 + laenredada.py-backup | 183 + 3007 files changed, 427576 insertions(+) create mode 100644 .bash_history create mode 100644 .bash_logout create mode 100644 .bashrc create mode 100644 .cache/pip/http/0/6/1/5/7/06157b7cdd06f38463833f5330de3cd7c67ddfc46b59f3d81786dd26 create mode 100644 .cache/pip/http/0/9/e/f/5/09ef58260179e8db2673665919e5556942a78290f8c59e57867a7a26 create mode 100644 .cache/pip/http/0/a/e/8/4/0ae84cda1068eb8069d0d031ff1b592b6ce0646c279bf59396ff2d05 create mode 100644 .cache/pip/http/1/4/a/a/f/14aaf7643dce3f389cfaa2f24beba9e2d02071e4624c02c288b2a440 create mode 100644 .cache/pip/http/2/0/1/c/f/201cfecff7dfec815e95834c6faa15cb5c9fe16a1ee6050aabeb620b create mode 100644 .cache/pip/http/3/d/b/a/4/3dba48e33e4deae5b8e0b5d8173f7d8b9ede86f6e2f3b423cb213061 create mode 100644 .cache/pip/http/4/b/e/0/7/4be07d3ac353e38d2c9e3a257cad36ee2a758fc88b4cd5f0d479a5a9 create mode 100644 .cache/pip/http/5/c/c/a/a/5ccaacde439fe2093ec071fa044ad90152dd39f9072cdbca13dd0ab2 create mode 100644 .cache/pip/http/6/6/8/0/4/6680465c66f90d5dba7423aa175d72f390d4883736cee302491f10f1 create mode 100644 .cache/pip/http/6/6/8/2/6/66826e0bc2503bb8d4293b2cfa918e3e23e0c16d4c172feb7fd8d9d0 create mode 100644 .cache/pip/http/6/b/4/3/e/6b43e4b3a831ee464507ba55bb6d68651e7cff81ef7410783047d70d create mode 100644 .cache/pip/http/8/8/0/f/1/880f1582dd670fc7bb7231974c67fd946d71685651b47a71086ce5a2 create mode 100644 .cache/pip/http/8/8/f/7/d/88f7d71f2d1361f8fb38230bb8ae05bdb624c08a2414e1c535731370 create mode 100644 .cache/pip/http/8/b/2/4/2/8b24226e2da88df4abeee0d8ca6bce79b19ca2bcd5f94b543939c66c create mode 100644 .cache/pip/http/9/1/a/c/4/91ac4141ee513b48d6e2106b8504eedf08543a9ac70e664c84a86c9b create mode 100644 .cache/pip/http/b/4/b/7/e/b4b7eab29ac0bfb9562bea9eb060054b09d51c3c3218e51edc93e5ec create mode 100644 .cache/pip/http/b/9/b/f/6/b9bf667dd758080da4c37b4d8022991a332c09abde75bab1f46918ac create mode 100644 .cache/pip/http/d/9/c/9/7/d9c97e49cb23f720501161c7a6b5266ace7516e44d3387fe8d37f0ed create mode 100644 .cache/pip/http/d/c/9/c/f/dc9cfc8f87e8ff828c34c67a21d526f31355eb427680b88f84d90a4b create mode 100644 .cache/pip/http/e/2/0/7/4/e207426cbcf220918fdf354826064190a066f96cd6ad8830f1f11fdc create mode 100644 .profile create mode 100644 .python_history create mode 100644 botenre/config.json create mode 100644 botenre/laenredada.py create mode 100644 botenre/laenredada.py-backup create mode 100644 botenre/myenv/bin/Activate.ps1 create mode 100644 botenre/myenv/bin/activate create mode 100644 botenre/myenv/bin/activate.csh create mode 100644 botenre/myenv/bin/activate.fish create mode 100755 botenre/myenv/bin/httpx create mode 100755 botenre/myenv/bin/pip create mode 100755 botenre/myenv/bin/pip3 create mode 100755 botenre/myenv/bin/pip3.11 create mode 120000 botenre/myenv/bin/python create mode 120000 botenre/myenv/bin/python3 create mode 120000 botenre/myenv/bin/python3.11 create mode 100644 botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/LICENSE.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/REQUESTED create mode 100644 botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/entry_points.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/top_level.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/__pycache__/nest_asyncio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/__pycache__/typing_extensions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/_distutils_hack/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/_distutils_hack/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/_distutils_hack/__pycache__/override.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/_distutils_hack/override.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/LICENSE create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/entry_points.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/top_level.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/from_thread.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/lowlevel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/pytest_plugin.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/to_interpreter.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/to_process.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/to_thread.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_backends/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_backends/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_trio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_backends/_trio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_asyncio_selector_thread.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_eventloop.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_exceptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_fileio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_resources.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_signals.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_sockets.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_streams.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_synchronization.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_tasks.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_testing.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_typedattr.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_asyncio_selector_thread.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_eventloop.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_exceptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_fileio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_resources.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_signals.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_sockets.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_streams.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_subprocesses.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_synchronization.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_tasks.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_testing.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/_core/_typedattr.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_eventloop.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_resources.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_sockets.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_streams.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_subprocesses.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_tasks.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_testing.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/_eventloop.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/_resources.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/_sockets.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/_streams.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/_subprocesses.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/_tasks.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/abc/_testing.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/from_thread.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/lowlevel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/py.typed create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/pytest_plugin.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/buffered.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/file.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/memory.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/stapled.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/text.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/tls.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/buffered.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/file.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/memory.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/stapled.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/text.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/streams/tls.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/to_interpreter.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/to_process.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/anyio/to_thread.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/__pycache__/events.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/__pycache__/job.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/__pycache__/util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/events.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/asyncio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/base.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/debug.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/gevent.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/pool.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/tornado.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/twisted.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/asyncio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/base.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/debug.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/gevent.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/pool.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/tornado.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/twisted.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/job.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/base.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/etcd.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/memory.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/mongodb.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/redis.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/rethinkdb.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/sqlalchemy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/zookeeper.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/base.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/etcd.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/memory.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/mongodb.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/redis.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/rethinkdb.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/sqlalchemy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/zookeeper.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/asyncio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/background.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/base.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/blocking.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/gevent.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/qt.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/tornado.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/twisted.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/asyncio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/background.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/base.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/blocking.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/gevent.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/qt.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/tornado.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/twisted.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__pycache__/base.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__pycache__/calendarinterval.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__pycache__/combining.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__pycache__/date.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__pycache__/interval.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/base.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/calendarinterval.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/combining.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/__pycache__/expressions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/__pycache__/fields.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/expressions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/fields.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/date.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/interval.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/apscheduler/util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/LICENSE create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/top_level.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi/__main__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi/__pycache__/__main__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi/__pycache__/core.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi/cacert.pem create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi/core.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/certifi/py.typed create mode 100644 botenre/myenv/lib/python3.11/site-packages/distutils-precedence.pth create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/LICENSE.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/top_level.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_abnf.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_connection.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_events.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_headers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_readers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_receivebuffer.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_state.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_writers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/_abnf.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/_connection.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/_events.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/_headers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/_readers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/_receivebuffer.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/_state.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/_util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/_version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/_writers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/py.typed create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/__pycache__/helpers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/__pycache__/test_against_stdlib_http.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/__pycache__/test_connection.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/__pycache__/test_events.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/__pycache__/test_headers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/__pycache__/test_helpers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/__pycache__/test_io.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/__pycache__/test_receivebuffer.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/__pycache__/test_state.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/__pycache__/test_util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/data/test-file create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/helpers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/test_against_stdlib_http.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/test_connection.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/test_events.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/test_headers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/test_helpers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/test_io.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/test_receivebuffer.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/test_state.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/h11/tests/test_util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore-1.0.7.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore-1.0.7.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore-1.0.7.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore-1.0.7.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore-1.0.7.dist-info/licenses/LICENSE.md create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/__pycache__/_api.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/__pycache__/_exceptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/__pycache__/_models.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/__pycache__/_ssl.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/__pycache__/_synchronization.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/__pycache__/_trace.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/__pycache__/_utils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_api.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/__pycache__/connection.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/__pycache__/connection_pool.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/__pycache__/http11.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/__pycache__/http2.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/__pycache__/http_proxy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/__pycache__/interfaces.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/__pycache__/socks_proxy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/connection.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/http11.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/http2.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/http_proxy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/interfaces.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_async/socks_proxy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/anyio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/auto.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/base.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/mock.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/sync.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/trio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/anyio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/auto.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/base.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/mock.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/sync.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_backends/trio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_exceptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_models.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_ssl.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/connection.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/connection_pool.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/http11.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/http2.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/http_proxy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/interfaces.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/socks_proxy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/connection.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/connection_pool.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/http11.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/http2.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/http_proxy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/interfaces.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_sync/socks_proxy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_synchronization.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_trace.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/_utils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpcore/py.typed create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx-0.28.1.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx-0.28.1.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx-0.28.1.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx-0.28.1.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx-0.28.1.dist-info/entry_points.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx-0.28.1.dist-info/licenses/LICENSE.md create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/__version__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_api.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_auth.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_client.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_config.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_content.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_decoders.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_exceptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_main.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_models.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_multipart.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_status_codes.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_types.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_urlparse.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_urls.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__pycache__/_utils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/__version__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_api.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_auth.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_client.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_config.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_content.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_decoders.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_exceptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_main.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_models.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_multipart.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_status_codes.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_transports/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_transports/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_transports/__pycache__/asgi.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_transports/__pycache__/base.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_transports/__pycache__/default.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_transports/__pycache__/mock.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_transports/__pycache__/wsgi.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_transports/asgi.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_transports/base.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_transports/default.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_transports/mock.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_transports/wsgi.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_types.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_urlparse.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_urls.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/_utils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/httpx/py.typed create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna-3.10.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna-3.10.dist-info/LICENSE.md create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna-3.10.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna-3.10.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna-3.10.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/__pycache__/codec.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/__pycache__/compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/__pycache__/core.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/__pycache__/idnadata.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/__pycache__/intranges.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/__pycache__/package_data.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/__pycache__/uts46data.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/codec.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/core.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/idnadata.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/intranges.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/package_data.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/py.typed create mode 100644 botenre/myenv/lib/python3.11/site-packages/idna/uts46data.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/nest_asyncio-1.6.0.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/nest_asyncio-1.6.0.dist-info/LICENSE create mode 100644 botenre/myenv/lib/python3.11/site-packages/nest_asyncio-1.6.0.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/nest_asyncio-1.6.0.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/nest_asyncio-1.6.0.dist-info/REQUESTED create mode 100644 botenre/myenv/lib/python3.11/site-packages/nest_asyncio-1.6.0.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/nest_asyncio-1.6.0.dist-info/top_level.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/nest_asyncio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip-23.0.1.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip-23.0.1.dist-info/LICENSE.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip-23.0.1.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip-23.0.1.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip-23.0.1.dist-info/REQUESTED create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip-23.0.1.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip-23.0.1.dist-info/entry_points.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip-23.0.1.dist-info/top_level.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/__main__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/__pip-runner__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/__pycache__/__main__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/__pycache__/__pip-runner__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/__pycache__/build_env.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/__pycache__/cache.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/__pycache__/configuration.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/__pycache__/exceptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/__pycache__/main.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/__pycache__/pyproject.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/build_env.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cache.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/main.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/parser.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/autocompletion.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/base_command.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/cmdoptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/command_context.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/main.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/main_parser.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/parser.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/progress_bars.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/req_command.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/spinners.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/cli/status_codes.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/cache.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/check.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/completion.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/debug.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/download.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/hash.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/help.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/index.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/install.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/list.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/search.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/show.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/cache.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/check.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/completion.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/configuration.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/debug.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/download.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/freeze.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/hash.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/help.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/index.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/inspect.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/install.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/list.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/search.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/show.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/uninstall.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/commands/wheel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/configuration.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/distributions/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/base.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/distributions/base.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/distributions/installed.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/distributions/sdist.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/distributions/wheel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/exceptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/index/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/index/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/index/__pycache__/collector.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/index/__pycache__/sources.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/index/collector.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/index/package_finder.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/index/sources.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/locations/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/locations/__pycache__/base.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/locations/_distutils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/locations/_sysconfig.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/locations/base.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/main.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__/base.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/_json.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/base.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/_compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/_dists.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/_envs.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/metadata/pkg_resources.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/candidate.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/format_control.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/index.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/link.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/scheme.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/target_python.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/wheel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/candidate.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/direct_url.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/format_control.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/index.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/installation_report.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/link.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/scheme.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/search_scope.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/selection_prefs.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/target_python.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/models/wheel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/auth.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/cache.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/download.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/session.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/utils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/auth.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/cache.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/download.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/lazy_wheel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/session.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/utils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/network/xmlrpc.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/__pycache__/check.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/build_tracker.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/metadata.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/metadata_editable.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/metadata_legacy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/wheel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/wheel_editable.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/build/wheel_legacy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/check.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/freeze.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/install/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/install/editable_legacy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/install/legacy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/install/wheel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/operations/prepare.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/pyproject.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/req/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/constructors.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/req_file.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/req_install.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/req_set.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/req/constructors.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/req/req_file.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/req/req_install.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/req/req_set.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/req/req_uninstall.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/__pycache__/base.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/base.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/legacy/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/legacy/resolver.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/base.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/provider.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/reporter.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/requirements.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/resolver.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/self_outdated_check.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/_log.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/logging.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/misc.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/models.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/urls.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/_log.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/appdirs.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/compatibility_tags.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/datetime.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/deprecation.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/direct_url_helpers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/distutils_args.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/egg_link.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/encoding.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/entrypoints.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/filesystem.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/filetypes.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/glibc.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/hashes.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/inject_securetransport.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/logging.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/misc.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/models.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/packaging.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/setuptools_build.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/subprocess.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/temp_dir.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/unpacking.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/urls.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/virtualenv.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/utils/wheel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/vcs/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/git.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/vcs/bazaar.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/vcs/git.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/vcs/mercurial.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/vcs/subversion.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/vcs/versioncontrol.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_internal/wheel_builder.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/__pycache__/six.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/__pycache__/typing_extensions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/_cmd.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/adapter.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/cache.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/controller.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/filewrapper.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/heuristics.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/serialize.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/wrapper.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/certifi/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/certifi/__main__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/certifi/cacert.pem create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/certifi/core.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachinedict.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/johabfreq.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/johabprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/macromanprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/resultdict.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/utf1632prober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/big5freq.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/big5prober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/chardistribution.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/charsetgroupprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/charsetprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/cli/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/cli/chardetect.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/codingstatemachine.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/codingstatemachinedict.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/cp949prober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/enums.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/escprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/escsm.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/eucjpprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/euckrfreq.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/euckrprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/euctwfreq.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/euctwprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/gb2312freq.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/gb2312prober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/hebrewprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/jisfreq.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/johabfreq.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/johabprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/jpcntx.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/langbulgarianmodel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/langgreekmodel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/langhebrewmodel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/langhungarianmodel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/langrussianmodel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/langthaimodel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/langturkishmodel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/latin1prober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/macromanprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/mbcharsetprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/mbcsgroupprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/mbcssm.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/metadata/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/metadata/languages.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/resultdict.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/sbcharsetprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/sbcsgroupprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/sjisprober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/universaldetector.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/utf1632prober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/utf8prober.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/chardet/version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/ansi.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/ansitowin32.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/initialise.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/ansi_test.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/ansitowin32_test.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/initialise_test.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/isatty_test.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/utils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/winterm_test.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/ansi_test.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/ansitowin32_test.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/initialise_test.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/isatty_test.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/utils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/winterm_test.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/win32.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/colorama/winterm.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/database.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/index.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/locators.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/manifest.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/markers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/metadata.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/resources.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/scripts.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distlib/wheel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distro/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distro/__main__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/distro/distro.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/core.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/codec.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/core.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/idnadata.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/intranges.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/package_data.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/idna/uts46data.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/msgpack/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/msgpack/exceptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/msgpack/ext.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/msgpack/fallback.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__about__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/_manylinux.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/_musllinux.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/_structures.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/markers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/requirements.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/specifiers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/tags.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/utils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/packaging/version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pkg_resources/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pkg_resources/py31compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__main__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/android.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/api.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/macos.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/unix.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/platformdirs/windows.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__main__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/cmdline.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/cmdline.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/console.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/filter.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/filters/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatter.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/bbcode.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/groff.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/html.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/img.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/irc.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/latex.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/other.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/pangomarkup.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/rtf.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/svg.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal256.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/_mapping.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/bbcode.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/groff.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/html.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/img.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/irc.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/latex.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/other.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/rtf.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/svg.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/terminal.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/terminal256.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/lexer.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/_mapping.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/python.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/modeline.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/plugin.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/regexopt.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/scanner.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/sphinxext.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/style.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/styles/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/token.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/unistring.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pygments/util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/actions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/common.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/core.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/exceptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/helpers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/results.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/testing.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/unicode.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/actions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/common.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/core.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/diagram/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/exceptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/helpers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/results.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/testing.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/unicode.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyparsing/util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/api.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/help.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/models.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/__version__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/_internal_utils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/adapters.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/api.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/auth.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/certs.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/cookies.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/exceptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/help.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/hooks.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/models.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/packages.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/sessions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/status_codes.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/structures.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/requests/utils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/compat/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/providers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/reporters.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/resolvelib/structs.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__main__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/align.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/box.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/color.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/console.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/control.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/json.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/live.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/region.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/status.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/style.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/table.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/text.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_cell_widths.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_emoji_codes.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_emoji_replace.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_export_format.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_extension.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_inspect.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_log_render.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_loop.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_null_file.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_palettes.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_pick.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_ratio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_spinners.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_stack.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_timer.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_win32_console.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_windows.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_windows_renderer.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/_wrap.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/abc.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/align.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/ansi.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/bar.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/box.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/cells.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/color.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/color_triplet.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/columns.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/console.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/constrain.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/containers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/control.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/default_styles.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/diagnose.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/emoji.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/errors.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/file_proxy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/filesize.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/highlighter.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/json.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/jupyter.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/layout.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/live.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/live_render.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/logging.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/markup.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/measure.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/padding.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/pager.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/palette.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/panel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/pretty.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/progress.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/progress_bar.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/prompt.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/protocol.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/region.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/repr.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/rule.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/scope.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/screen.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/segment.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/spinner.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/status.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/style.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/styled.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/syntax.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/table.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/terminal_theme.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/text.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/theme.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/themes.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/traceback.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/rich/tree.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/six.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/_asyncio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/_utils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/after.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/before.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/before_sleep.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/nap.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/retry.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/stop.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/tornadoweb.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tenacity/wait.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tomli/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tomli/_parser.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tomli/_re.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/tomli/_types.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/typing_extensions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/_collections.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/_version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/connection.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/connectionpool.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/appengine.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/securetransport.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/socks.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/exceptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/fields.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/filepost.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/six.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/poolmanager.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/request.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/response.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/connection.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/proxy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/queue.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/request.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/response.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/retry.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/ssl_.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/ssltransport.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/timeout.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/url.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/wait.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/vendor.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/webencodings/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/webencodings/labels.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/webencodings/mklabels.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/webencodings/tests.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/_vendor/webencodings/x_user_defined.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pip/py.typed create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/__pycache__/typing_extensions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/__pycache__/zipp.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_adapters.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_common.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_itertools.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_legacy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/abc.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/readers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/simple.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/_adapters.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/_common.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/_compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/_itertools.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/_legacy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/abc.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/readers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/simple.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/__pycache__/context.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/__pycache__/functools.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/context.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/functools.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/text/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/text/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/__pycache__/more.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/__pycache__/recipes.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/more.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/recipes.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__about__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/_manylinux.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/_musllinux.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/_manylinux.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/_musllinux.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/_structures.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/markers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/requirements.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/specifiers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/tags.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/utils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/__main__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/__pycache__/__main__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/__pycache__/android.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/__pycache__/api.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/__pycache__/macos.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/__pycache__/unix.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/__pycache__/version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/__pycache__/windows.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/android.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/api.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/macos.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/unix.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/platformdirs/windows.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/actions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/common.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/core.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/exceptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/helpers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/results.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/testing.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/unicode.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/actions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/common.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/core.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/diagram/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/exceptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/helpers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/results.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/testing.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/unicode.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/typing_extensions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/_vendor/zipp.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/extern/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/python_telegram_bot-21.11.1.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/python_telegram_bot-21.11.1.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/python_telegram_bot-21.11.1.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/python_telegram_bot-21.11.1.dist-info/REQUESTED create mode 100644 botenre/myenv/lib/python3.11/site-packages/python_telegram_bot-21.11.1.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/python_telegram_bot-21.11.1.dist-info/licenses/LICENSE create mode 100644 botenre/myenv/lib/python3.11/site-packages/python_telegram_bot-21.11.1.dist-info/licenses/LICENSE.dual create mode 100644 botenre/myenv/lib/python3.11/site-packages/python_telegram_bot-21.11.1.dist-info/licenses/LICENSE.lesser create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz-2025.2.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz-2025.2.dist-info/LICENSE.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz-2025.2.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz-2025.2.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz-2025.2.dist-info/REQUESTED create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz-2025.2.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz-2025.2.dist-info/top_level.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz-2025.2.dist-info/zip-safe create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/__pycache__/exceptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/__pycache__/lazy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/__pycache__/reference.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/__pycache__/tzfile.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/__pycache__/tzinfo.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/exceptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/lazy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/reference.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/tzfile.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/tzinfo.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Abidjan create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Accra create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Addis_Ababa create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Algiers create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Asmara create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Asmera create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Bamako create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Bangui create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Banjul create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Bissau create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Blantyre create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Brazzaville create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Bujumbura create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Cairo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Casablanca create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Ceuta create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Conakry create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Dakar create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Dar_es_Salaam create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Djibouti create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Douala create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/El_Aaiun create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Freetown create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Gaborone create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Harare create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Johannesburg create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Juba create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Kampala create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Khartoum create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Kigali create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Kinshasa create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Lagos create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Libreville create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Lome create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Luanda create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Lubumbashi create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Lusaka create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Malabo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Maputo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Maseru create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Mbabane create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Mogadishu create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Monrovia create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Nairobi create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Ndjamena create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Niamey create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Nouakchott create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Ouagadougou create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Porto-Novo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Sao_Tome create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Timbuktu create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Tripoli create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Tunis create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Africa/Windhoek create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Adak create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Anchorage create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Anguilla create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Antigua create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Araguaina create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/Buenos_Aires create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/Catamarca create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/ComodRivadavia create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/Cordoba create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/Jujuy create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/La_Rioja create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/Mendoza create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/Rio_Gallegos create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/Salta create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/San_Juan create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/San_Luis create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/Tucuman create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Argentina/Ushuaia create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Aruba create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Asuncion create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Atikokan create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Atka create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Bahia create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Bahia_Banderas create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Barbados create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Belem create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Belize create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Blanc-Sablon create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Boa_Vista create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Bogota create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Boise create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Buenos_Aires create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Cambridge_Bay create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Campo_Grande create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Cancun create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Caracas create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Catamarca create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Cayenne create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Cayman create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Chicago create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Chihuahua create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Ciudad_Juarez create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Coral_Harbour create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Cordoba create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Costa_Rica create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Coyhaique create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Creston create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Cuiaba create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Curacao create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Danmarkshavn create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Dawson create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Dawson_Creek create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Denver create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Detroit create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Dominica create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Edmonton create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Eirunepe create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/El_Salvador create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Ensenada create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Fort_Nelson create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Fort_Wayne create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Fortaleza create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Glace_Bay create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Godthab create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Goose_Bay create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Grand_Turk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Grenada create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Guadeloupe create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Guatemala create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Guayaquil create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Guyana create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Halifax create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Havana create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Hermosillo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Indiana/Indianapolis create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Indiana/Knox create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Indiana/Marengo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Indiana/Petersburg create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Indiana/Tell_City create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Indiana/Vevay create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Indiana/Vincennes create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Indiana/Winamac create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Indianapolis create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Inuvik create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Iqaluit create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Jamaica create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Jujuy create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Juneau create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Kentucky/Louisville create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Kentucky/Monticello create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Knox_IN create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Kralendijk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/La_Paz create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Lima create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Los_Angeles create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Louisville create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Lower_Princes create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Maceio create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Managua create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Manaus create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Marigot create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Martinique create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Matamoros create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Mazatlan create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Mendoza create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Menominee create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Merida create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Metlakatla create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Mexico_City create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Miquelon create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Moncton create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Monterrey create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Montevideo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Montreal create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Montserrat create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Nassau create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/New_York create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Nipigon create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Nome create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Noronha create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/North_Dakota/Beulah create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/North_Dakota/Center create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/North_Dakota/New_Salem create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Nuuk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Ojinaga create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Panama create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Pangnirtung create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Paramaribo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Phoenix create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Port-au-Prince create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Port_of_Spain create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Porto_Acre create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Porto_Velho create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Puerto_Rico create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Punta_Arenas create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Rainy_River create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Rankin_Inlet create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Recife create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Regina create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Resolute create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Rio_Branco create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Rosario create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Santa_Isabel create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Santarem create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Santiago create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Santo_Domingo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Sao_Paulo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Scoresbysund create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Shiprock create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Sitka create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/St_Barthelemy create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/St_Johns create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/St_Kitts create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/St_Lucia create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/St_Thomas create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/St_Vincent create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Swift_Current create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Tegucigalpa create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Thule create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Thunder_Bay create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Tijuana create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Toronto create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Tortola create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Vancouver create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Virgin create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Whitehorse create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Winnipeg create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Yakutat create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/America/Yellowknife create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Antarctica/Casey create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Antarctica/Davis create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Antarctica/DumontDUrville create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Antarctica/Macquarie create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Antarctica/Mawson create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Antarctica/McMurdo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Antarctica/Palmer create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Antarctica/Rothera create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Antarctica/South_Pole create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Antarctica/Syowa create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Antarctica/Troll create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Antarctica/Vostok create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Arctic/Longyearbyen create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Aden create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Almaty create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Amman create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Anadyr create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Aqtau create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Aqtobe create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Ashgabat create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Ashkhabad create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Atyrau create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Baghdad create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Bahrain create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Baku create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Bangkok create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Barnaul create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Beirut create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Bishkek create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Brunei create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Calcutta create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Chita create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Choibalsan create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Chongqing create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Chungking create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Colombo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Dacca create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Damascus create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Dhaka create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Dili create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Dubai create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Dushanbe create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Famagusta create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Gaza create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Harbin create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Hebron create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Ho_Chi_Minh create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Hong_Kong create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Hovd create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Irkutsk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Istanbul create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Jakarta create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Jayapura create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Jerusalem create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Kabul create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Kamchatka create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Karachi create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Kashgar create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Kathmandu create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Katmandu create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Khandyga create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Kolkata create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Krasnoyarsk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Kuala_Lumpur create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Kuching create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Kuwait create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Macao create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Macau create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Magadan create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Makassar create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Manila create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Muscat create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Nicosia create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Novokuznetsk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Novosibirsk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Omsk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Oral create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Phnom_Penh create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Pontianak create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Pyongyang create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Qatar create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Qostanay create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Qyzylorda create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Rangoon create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Riyadh create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Saigon create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Sakhalin create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Samarkand create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Seoul create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Shanghai create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Singapore create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Srednekolymsk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Taipei create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Tashkent create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Tbilisi create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Tehran create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Tel_Aviv create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Thimbu create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Thimphu create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Tokyo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Tomsk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Ujung_Pandang create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Ulaanbaatar create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Ulan_Bator create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Urumqi create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Ust-Nera create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Vientiane create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Vladivostok create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Yakutsk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Yangon create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Yekaterinburg create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Asia/Yerevan create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Atlantic/Azores create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Atlantic/Bermuda create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Atlantic/Canary create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Atlantic/Cape_Verde create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Atlantic/Faeroe create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Atlantic/Faroe create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Atlantic/Jan_Mayen create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Atlantic/Madeira create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Atlantic/Reykjavik create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Atlantic/South_Georgia create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Atlantic/St_Helena create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Atlantic/Stanley create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/ACT create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Adelaide create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Brisbane create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Broken_Hill create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Canberra create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Currie create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Darwin create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Eucla create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Hobart create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/LHI create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Lindeman create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Lord_Howe create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Melbourne create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/NSW create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/North create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Perth create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Queensland create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/South create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Sydney create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Tasmania create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Victoria create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/West create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Australia/Yancowinna create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Brazil/Acre create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Brazil/DeNoronha create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Brazil/East create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Brazil/West create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/CET create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/CST6CDT create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Canada/Atlantic create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Canada/Central create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Canada/Eastern create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Canada/Mountain create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Canada/Newfoundland create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Canada/Pacific create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Canada/Saskatchewan create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Canada/Yukon create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Chile/Continental create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Chile/EasterIsland create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Cuba create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/EET create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/EST create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/EST5EDT create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Egypt create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Eire create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+0 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+1 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+10 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+11 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+12 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+2 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+3 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+4 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+5 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+6 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+7 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+8 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT+9 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-0 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-1 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-10 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-11 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-12 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-13 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-14 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-2 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-3 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-4 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-5 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-6 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-7 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-8 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT-9 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/GMT0 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/Greenwich create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/UCT create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/UTC create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/Universal create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Etc/Zulu create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Amsterdam create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Andorra create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Astrakhan create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Athens create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Belfast create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Belgrade create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Berlin create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Bratislava create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Brussels create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Bucharest create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Budapest create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Busingen create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Chisinau create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Copenhagen create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Dublin create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Gibraltar create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Guernsey create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Helsinki create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Isle_of_Man create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Istanbul create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Jersey create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Kaliningrad create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Kiev create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Kirov create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Kyiv create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Lisbon create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Ljubljana create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/London create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Luxembourg create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Madrid create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Malta create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Mariehamn create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Minsk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Monaco create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Moscow create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Nicosia create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Oslo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Paris create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Podgorica create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Prague create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Riga create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Rome create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Samara create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/San_Marino create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Sarajevo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Saratov create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Simferopol create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Skopje create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Sofia create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Stockholm create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Tallinn create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Tirane create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Tiraspol create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Ulyanovsk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Uzhgorod create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Vaduz create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Vatican create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Vienna create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Vilnius create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Volgograd create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Warsaw create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Zagreb create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Zaporozhye create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Europe/Zurich create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Factory create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/GB create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/GB-Eire create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/GMT create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/GMT+0 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/GMT-0 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/GMT0 create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Greenwich create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/HST create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Hongkong create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Iceland create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Indian/Antananarivo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Indian/Chagos create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Indian/Christmas create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Indian/Cocos create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Indian/Comoro create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Indian/Kerguelen create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Indian/Mahe create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Indian/Maldives create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Indian/Mauritius create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Indian/Mayotte create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Indian/Reunion create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Iran create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Israel create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Jamaica create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Japan create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Kwajalein create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Libya create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/MET create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/MST create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/MST7MDT create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Mexico/BajaNorte create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Mexico/BajaSur create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Mexico/General create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/NZ create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/NZ-CHAT create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Navajo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/PRC create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/PST8PDT create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Apia create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Auckland create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Bougainville create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Chatham create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Chuuk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Easter create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Efate create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Enderbury create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Fakaofo create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Fiji create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Funafuti create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Galapagos create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Gambier create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Guadalcanal create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Guam create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Honolulu create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Johnston create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Kanton create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Kiritimati create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Kosrae create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Kwajalein create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Majuro create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Marquesas create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Midway create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Nauru create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Niue create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Norfolk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Noumea create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Pago_Pago create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Palau create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Pitcairn create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Pohnpei create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Ponape create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Port_Moresby create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Rarotonga create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Saipan create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Samoa create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Tahiti create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Tarawa create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Tongatapu create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Truk create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Wake create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Wallis create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Pacific/Yap create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Poland create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Portugal create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/ROC create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/ROK create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Singapore create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Turkey create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/UCT create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/US/Alaska create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/US/Aleutian create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/US/Arizona create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/US/Central create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/US/East-Indiana create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/US/Eastern create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/US/Hawaii create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/US/Indiana-Starke create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/US/Michigan create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/US/Mountain create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/US/Pacific create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/US/Samoa create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/UTC create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Universal create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/W-SU create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/WET create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/Zulu create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/iso3166.tab create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/leapseconds create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/tzdata.zi create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/zone.tab create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/zone1970.tab create mode 100644 botenre/myenv/lib/python3.11/site-packages/pytz/zoneinfo/zonenow.tab create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools-66.1.1.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools-66.1.1.dist-info/LICENSE create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools-66.1.1.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools-66.1.1.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools-66.1.1.dist-info/REQUESTED create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools-66.1.1.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools-66.1.1.dist-info/entry_points.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools-66.1.1.dist-info/top_level.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/_entry_points.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/_imp.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/_importlib.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/_itertools.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/_path.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/_reqs.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/archive_util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/build_meta.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/dep_util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/depends.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/discovery.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/dist.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/errors.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/extension.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/glob.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/installer.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/launch.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/logging.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/monkey.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/msvc.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/namespaces.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/package_index.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/py34compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/sandbox.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/unicode_utils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/wheel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/__pycache__/windows_support.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_deprecation_warning.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_collections.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_functools.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_log.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_macos_compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/config.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/core.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/debug.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/dist.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/errors.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/extension.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/log.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/py39compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/_collections.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/_functools.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/_log.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/_macos_compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/_msvccompiler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/archive_util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/bcppcompiler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/ccompiler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/cmd.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/_framework_compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/_framework_compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/bdist.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/bdist_dumb.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/bdist_rpm.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/build.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/build_clib.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/build_py.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/build_scripts.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/check.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/clean.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/config.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/install.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/install_data.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/install_egg_info.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/install_headers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/install_lib.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/install_scripts.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/py37compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/register.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/command/upload.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/config.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/core.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/cygwinccompiler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/debug.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/dep_util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/dir_util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/dist.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/errors.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/extension.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/fancy_getopt.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/file_util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/filelist.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/log.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/msvc9compiler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/msvccompiler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/py38compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/py39compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/spawn.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/sysconfig.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/text_file.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/unixccompiler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_distutils/versionpredicate.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_entry_points.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_imp.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_importlib.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_itertools.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_path.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_reqs.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/__pycache__/typing_extensions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/__pycache__/zipp.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_adapters.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_collections.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_functools.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_itertools.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_meta.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_text.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_adapters.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_collections.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_functools.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_itertools.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_meta.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_text.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_adapters.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_common.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_itertools.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_legacy.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/abc.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/readers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/simple.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/_adapters.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/_common.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/_compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/_itertools.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/_legacy.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/abc.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/readers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/simple.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/__pycache__/context.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/__pycache__/functools.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/context.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/functools.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/text/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/text/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/__pycache__/more.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/__pycache__/recipes.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/more.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/recipes.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/ordered_set.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__about__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/_manylinux.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/_musllinux.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/_manylinux.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/_musllinux.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/_structures.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/markers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/requirements.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/specifiers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/tags.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/utils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/packaging/version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/actions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/common.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/core.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/exceptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/helpers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/results.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/testing.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/unicode.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/util.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/actions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/common.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/core.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/diagram/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/exceptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/helpers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/results.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/testing.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/unicode.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/tomli/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/tomli/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/tomli/__pycache__/_parser.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/tomli/__pycache__/_re.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/tomli/__pycache__/_types.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/tomli/_parser.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/tomli/_re.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/tomli/_types.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/typing_extensions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/_vendor/zipp.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/archive_util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/build_meta.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/cli-32.exe create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/cli-64.exe create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/cli-arm64.exe create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/cli.exe create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/alias.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/build.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/build_clib.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/build_ext.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/build_py.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/develop.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/dist_info.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/easy_install.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/editable_wheel.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/egg_info.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/install.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/install_lib.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/install_scripts.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/py36compat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/register.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/rotate.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/saveopts.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/sdist.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/setopt.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/test.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/upload.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/__pycache__/upload_docs.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/alias.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/bdist_egg.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/bdist_rpm.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/build.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/build_clib.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/build_ext.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/build_py.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/develop.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/dist_info.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/easy_install.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/editable_wheel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/egg_info.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/install.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/install_egg_info.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/install_lib.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/install_scripts.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/launcher manifest.xml create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/py36compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/register.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/rotate.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/saveopts.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/sdist.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/setopt.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/test.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/upload.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/command/upload_docs.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/__pycache__/_apply_pyprojecttoml.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/__pycache__/expand.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/__pycache__/pyprojecttoml.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/__pycache__/setupcfg.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__/error_reporting.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__/extra_validations.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_exceptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_validations.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__/formats.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/error_reporting.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/extra_validations.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/formats.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/expand.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/config/setupcfg.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/dep_util.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/depends.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/discovery.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/dist.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/errors.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/extension.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/extern/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/extern/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/glob.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/gui-32.exe create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/gui-64.exe create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/gui-arm64.exe create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/gui.exe create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/installer.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/launch.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/logging.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/monkey.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/msvc.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/namespaces.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/package_index.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/py34compat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/sandbox.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/script (dev).tmpl create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/script.tmpl create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/unicode_utils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/wheel.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/setuptools/windows_support.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/LICENSE create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/LICENSE.APACHE2 create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/LICENSE.MIT create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/top_level.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio/__pycache__/_impl.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio/__pycache__/_version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio/_impl.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio/_tests/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio/_tests/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio/_tests/__pycache__/test_sniffio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio/_tests/test_sniffio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio/_version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/sniffio/py.typed create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__main__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/__main__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_birthdate.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_bot.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_botcommand.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_botcommandscope.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_botdescription.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_botname.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_business.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_callbackquery.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_chat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_chatadministratorrights.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_chatbackground.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_chatboost.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_chatfullinfo.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_chatinvitelink.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_chatjoinrequest.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_chatlocation.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_chatmember.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_chatmemberupdated.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_chatpermissions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_choseninlineresult.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_copytextbutton.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_dice.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_forcereply.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_forumtopic.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_gifts.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_giveaway.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_keyboardbutton.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_keyboardbuttonpolltype.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_keyboardbuttonrequest.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_linkpreviewoptions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_loginurl.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_menubutton.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_message.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_messageautodeletetimerchanged.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_messageentity.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_messageid.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_messageorigin.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_messagereactionupdated.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_paidmedia.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_poll.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_proximityalerttriggered.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_reaction.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_reply.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_replykeyboardmarkup.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_replykeyboardremove.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_sentwebappmessage.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_shared.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_story.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_switchinlinequerychosenchat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_telegramobject.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_update.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_user.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_userprofilephotos.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_version.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_videochat.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_webappdata.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_webappinfo.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_webhookinfo.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/_writeaccessallowed.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/constants.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/error.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/helpers.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/__pycache__/warnings.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_birthdate.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_bot.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_botcommand.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_botcommandscope.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_botdescription.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_botname.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_business.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_callbackquery.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_chat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_chatadministratorrights.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_chatbackground.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_chatboost.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_chatfullinfo.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_chatinvitelink.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_chatjoinrequest.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_chatlocation.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_chatmember.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_chatmemberupdated.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_chatpermissions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_choseninlineresult.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_copytextbutton.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_dice.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/_basemedium.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/_basethumbedmedium.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/animation.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/audio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/chatphoto.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/contact.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/document.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/file.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/inputfile.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/inputmedia.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/inputsticker.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/location.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/photosize.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/sticker.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/venue.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/video.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/videonote.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/__pycache__/voice.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/_basemedium.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/_basethumbedmedium.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/animation.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/audio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/chatphoto.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/contact.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/document.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/file.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/inputfile.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/inputmedia.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/inputsticker.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/location.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/photosize.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/sticker.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/venue.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/video.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/videonote.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_files/voice.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_forcereply.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_forumtopic.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_games/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_games/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_games/__pycache__/callbackgame.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_games/__pycache__/game.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_games/__pycache__/gamehighscore.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_games/callbackgame.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_games/game.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_games/gamehighscore.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_gifts.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_giveaway.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinekeyboardbutton.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinekeyboardmarkup.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequery.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresult.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultarticle.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultaudio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultcachedaudio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultcacheddocument.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultcachedgif.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultcachedmpeg4gif.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultcachedphoto.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultcachedsticker.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultcachedvideo.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultcachedvoice.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultcontact.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultdocument.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultgame.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultgif.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultlocation.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultmpeg4gif.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultphoto.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultsbutton.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultvenue.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultvideo.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inlinequeryresultvoice.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inputcontactmessagecontent.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inputinvoicemessagecontent.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inputlocationmessagecontent.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inputmessagecontent.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inputtextmessagecontent.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/inputvenuemessagecontent.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/__pycache__/preparedinlinemessage.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinekeyboardbutton.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinekeyboardmarkup.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequery.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresult.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultarticle.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultaudio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultcachedaudio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultcacheddocument.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultcachedgif.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultcachedmpeg4gif.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultcachedphoto.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultcachedsticker.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultcachedvideo.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultcachedvoice.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultcontact.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultdocument.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultgame.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultgif.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultlocation.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultmpeg4gif.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultphoto.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultsbutton.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultvenue.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultvideo.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultvoice.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inputcontactmessagecontent.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inputinvoicemessagecontent.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inputlocationmessagecontent.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inputmessagecontent.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inputtextmessagecontent.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/inputvenuemessagecontent.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_inline/preparedinlinemessage.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_keyboardbutton.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_keyboardbuttonpolltype.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_keyboardbuttonrequest.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_linkpreviewoptions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_loginurl.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_menubutton.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_message.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_messageautodeletetimerchanged.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_messageentity.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_messageid.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_messageorigin.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_messagereactionupdated.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_paidmedia.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/__pycache__/credentials.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/__pycache__/data.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/__pycache__/encryptedpassportelement.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/__pycache__/passportdata.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/__pycache__/passportelementerrors.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/__pycache__/passportfile.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/credentials.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/data.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/encryptedpassportelement.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/passportdata.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/passportelementerrors.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_passport/passportfile.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/__pycache__/invoice.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/__pycache__/labeledprice.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/__pycache__/orderinfo.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/__pycache__/precheckoutquery.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/__pycache__/refundedpayment.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/__pycache__/shippingaddress.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/__pycache__/shippingoption.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/__pycache__/shippingquery.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/__pycache__/successfulpayment.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/invoice.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/labeledprice.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/orderinfo.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/precheckoutquery.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/refundedpayment.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/shippingaddress.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/shippingoption.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/shippingquery.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/stars/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/stars/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/stars/__pycache__/affiliateinfo.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/stars/__pycache__/revenuewithdrawalstate.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/stars/__pycache__/startransactions.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/stars/__pycache__/transactionpartner.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/stars/affiliateinfo.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/stars/revenuewithdrawalstate.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/stars/startransactions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/stars/transactionpartner.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_payment/successfulpayment.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_poll.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_proximityalerttriggered.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_reaction.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_reply.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_replykeyboardmarkup.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_replykeyboardremove.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_sentwebappmessage.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_shared.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_story.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_switchinlinequerychosenchat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_telegramobject.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_update.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_user.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_userprofilephotos.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/argumentparsing.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/datetime.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/defaultvalue.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/entities.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/enum.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/files.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/logging.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/markup.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/repr.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/strings.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/types.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/warnings.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/__pycache__/warnings_transition.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/argumentparsing.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/datetime.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/defaultvalue.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/entities.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/enum.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/files.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/logging.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/markup.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/repr.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/strings.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/types.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/warnings.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_utils/warnings_transition.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_version.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_videochat.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_webappdata.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_webappinfo.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_webhookinfo.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/_writeaccessallowed.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/constants.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/error.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_aioratelimiter.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_application.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_applicationbuilder.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_basepersistence.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_baseratelimiter.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_baseupdateprocessor.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_callbackcontext.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_callbackdatacache.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_contexttypes.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_defaults.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_dictpersistence.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_extbot.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_jobqueue.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_picklepersistence.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/_updater.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/__pycache__/filters.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_aioratelimiter.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_application.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_applicationbuilder.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_basepersistence.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_baseratelimiter.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_baseupdateprocessor.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_callbackcontext.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_callbackdatacache.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_contexttypes.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_defaults.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_dictpersistence.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_extbot.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/basehandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/businessconnectionhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/businessmessagesdeletedhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/callbackqueryhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/chatboosthandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/chatjoinrequesthandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/chatmemberhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/choseninlineresulthandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/commandhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/conversationhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/inlinequeryhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/messagehandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/messagereactionhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/paidmediapurchasedhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/pollanswerhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/pollhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/precheckoutqueryhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/prefixhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/shippingqueryhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/stringcommandhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/stringregexhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/__pycache__/typehandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/basehandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/businessconnectionhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/businessmessagesdeletedhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/callbackqueryhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/chatboosthandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/chatjoinrequesthandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/chatmemberhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/choseninlineresulthandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/commandhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/conversationhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/inlinequeryhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/messagehandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/messagereactionhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/paidmediapurchasedhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/pollanswerhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/pollhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/precheckoutqueryhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/prefixhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/shippingqueryhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/stringcommandhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/stringregexhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_handlers/typehandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_jobqueue.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_picklepersistence.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_updater.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/__pycache__/_update_parsing.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/__pycache__/asyncio.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/__pycache__/networkloop.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/__pycache__/stack.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/__pycache__/trackingdict.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/__pycache__/types.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/__pycache__/webhookhandler.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/_update_parsing.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/asyncio.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/networkloop.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/stack.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/trackingdict.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/types.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/_utils/webhookhandler.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/ext/filters.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/helpers.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/py.typed create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/request/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/request/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/request/__pycache__/_baserequest.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/request/__pycache__/_httpxrequest.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/request/__pycache__/_requestdata.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/request/__pycache__/_requestparameter.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/request/_baserequest.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/request/_httpxrequest.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/request/_requestdata.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/request/_requestparameter.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/telegram/warnings.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/typing_extensions-4.12.2.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/typing_extensions-4.12.2.dist-info/LICENSE create mode 100644 botenre/myenv/lib/python3.11/site-packages/typing_extensions-4.12.2.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/typing_extensions-4.12.2.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/typing_extensions-4.12.2.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/typing_extensions.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal-5.3.1.dist-info/INSTALLER create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal-5.3.1.dist-info/LICENSE.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal-5.3.1.dist-info/METADATA create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal-5.3.1.dist-info/RECORD create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal-5.3.1.dist-info/WHEEL create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal-5.3.1.dist-info/top_level.txt create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal/__init__.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal/__pycache__/__init__.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal/__pycache__/unix.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal/__pycache__/utils.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal/__pycache__/win32.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal/__pycache__/windows_tz.cpython-311.pyc create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal/py.typed create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal/unix.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal/utils.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal/win32.py create mode 100644 botenre/myenv/lib/python3.11/site-packages/tzlocal/windows_tz.py create mode 120000 botenre/myenv/lib64 create mode 100644 botenre/myenv/pyvenv.cfg create mode 100644 config.json create mode 100644 laenredada.py create mode 100644 laenredada.py-backup diff --git a/.bash_history b/.bash_history new file mode 100644 index 0000000..34d1a42 --- /dev/null +++ b/.bash_history @@ -0,0 +1,20 @@ +ls -la +mkdir botenre +cp -p laenredada.py botenre/ +cp -p config.json botenre/ +cd botenre/ +ls -la +python3 laenredada.py +cd botenre/ +python3 laenredada.py +cd botenre/ +python3 laenredada.py +cd botenre/ +ls -l +python3 -m venv myenv +source myenv/bin/activate +pip install python-telegram-bot nest_asyncio +python laenredada.py +cat /etc/systemd/system/telegram-bot.service +cd botenre/ +ls myenv/bin/ -l diff --git a/.bash_logout b/.bash_logout new file mode 100644 index 0000000..de4f5f7 --- /dev/null +++ b/.bash_logout @@ -0,0 +1,7 @@ +# ~/.bash_logout: executed by bash(1) when login shell exits. + +# when leaving the console clear the screen to increase privacy + +if [ "$SHLVL" = 1 ]; then + [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q +fi diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..9360f69 --- /dev/null +++ b/.bashrc @@ -0,0 +1,113 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# If not running interactively, don't do anything +case $- in + *i*) ;; + *) return;; +esac + +# don't put duplicate lines or lines starting with space in the history. +# See bash(1) for more options +HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# If set, the pattern "**" used in a pathname expansion context will +# match all files and zero or more directories and subdirectories. +#shopt -s globstar + +# make less more friendly for non-text input files, see lesspipe(1) +#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, unless we know we "want" color) +case "$TERM" in + xterm-color|*-256color) color_prompt=yes;; +esac + +# uncomment for a colored prompt, if the terminal has the capability; turned +# off by default to not distract the user: the focus in a terminal window +# should be on the output of commands, not on the prompt +#force_color_prompt=yes + +if [ -n "$force_color_prompt" ]; then + if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then + # We have color support; assume it's compliant with Ecma-48 + # (ISO/IEC-6429). (Lack of such support is extremely rare, and such + # a case would tend to support setf rather than setaf.) + color_prompt=yes + else + color_prompt= + fi +fi + +if [ "$color_prompt" = yes ]; then + PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' +else + PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' +fi +unset color_prompt force_color_prompt + +# If this is an xterm set the title to user@host:dir +case "$TERM" in +xterm*|rxvt*) + PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" + ;; +*) + ;; +esac + +# enable color support of ls and also add handy aliases +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + alias ls='ls --color=auto' + #alias dir='dir --color=auto' + #alias vdir='vdir --color=auto' + + #alias grep='grep --color=auto' + #alias fgrep='fgrep --color=auto' + #alias egrep='egrep --color=auto' +fi + +# colored GCC warnings and errors +#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' + +# some more ls aliases +#alias ll='ls -l' +#alias la='ls -A' +#alias l='ls -CF' + +# Alias definitions. +# You may want to put all your additions into a separate file like +# ~/.bash_aliases, instead of adding them here directly. +# See /usr/share/doc/bash-doc/examples in the bash-doc package. + +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi diff --git a/.cache/pip/http/0/6/1/5/7/06157b7cdd06f38463833f5330de3cd7c67ddfc46b59f3d81786dd26 b/.cache/pip/http/0/6/1/5/7/06157b7cdd06f38463833f5330de3cd7c67ddfc46b59f3d81786dd26 new file mode 100644 index 0000000000000000000000000000000000000000..1253366cd5f747c38fe91b365538f22404a271b4 GIT binary patch literal 79714 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 H79RgUekUwt literal 0 HcmV?d00001 diff --git a/.cache/pip/http/0/a/e/8/4/0ae84cda1068eb8069d0d031ff1b592b6ce0646c279bf59396ff2d05 b/.cache/pip/http/0/a/e/8/4/0ae84cda1068eb8069d0d031ff1b592b6ce0646c279bf59396ff2d05 new file mode 100644 index 0000000000000000000000000000000000000000..025c399c325bf6e7b8e0c621cc0cad254b110445 GIT binary patch literal 19950 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 IECS(w0rud)lmGw# literal 0 HcmV?d00001 diff --git a/.cache/pip/http/1/4/a/a/f/14aaf7643dce3f389cfaa2f24beba9e2d02071e4624c02c288b2a440 b/.cache/pip/http/1/4/a/a/f/14aaf7643dce3f389cfaa2f24beba9e2d02071e4624c02c288b2a440 new file mode 100644 index 0000000000000000000000000000000000000000..3e4dd97d9c28ca6c2e2f45350a2790c6da479562 GIT binary patch literal 74678 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 literal 0 HcmV?d00001 diff --git a/.cache/pip/http/2/0/1/c/f/201cfecff7dfec815e95834c6faa15cb5c9fe16a1ee6050aabeb620b b/.cache/pip/http/2/0/1/c/f/201cfecff7dfec815e95834c6faa15cb5c9fe16a1ee6050aabeb620b new file mode 100644 index 0000000000000000000000000000000000000000..b9206f9ca6f1fc25d1620974af16899b7a2996ab GIT binary patch literal 38613 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 Yn~$Ls3t;HHx?+Cu`8d~~{xF3750ZD%fdBvi literal 0 HcmV?d00001 diff --git a/.cache/pip/http/3/d/b/a/4/3dba48e33e4deae5b8e0b5d8173f7d8b9ede86f6e2f3b423cb213061 b/.cache/pip/http/3/d/b/a/4/3dba48e33e4deae5b8e0b5d8173f7d8b9ede86f6e2f3b423cb213061 new file mode 100644 index 0000000000000000000000000000000000000000..b3d09477d8c89aca86179b3675af4b3524d53930 GIT binary patch literal 17216 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 f!2e4pD_1*PL73Vmwh1=!tee3*mJs$C}auZGc z^sD#x`QFv}+qr7TCe!7J;+4)PaKNviHUG@Dhl``ZpYImlKK{!2_48@!(IUY6mVIur z>s@o#9TRcO{?7dMubs80y$EN~`^JY0U7YhA>UV$a>(kCY10B;_JdcJA&ptKcHfmH} z?JB5GZg+cC-#-0*%YK22DEV~O{Ilz6w|DaB>0#OH zZMCWBO%)9n^+&ingOuP1`8d;^8yHUHnss%uXRyMv}(ZK8FNhq8@vI-SY)mVcNR zq%8)_p7^rwo!`EXTl;fV-Sv1m`rXyY`tagl?eQqC>%Mh&XE5jK;dg25)9PcugIk~X zWdI$fIp-CfPpk9Qee%75Mm z{2EXM^QFGonTB9?ccg9jSWwdzEwRgsSmJivd^>XRc5JTeum}+LHlk}3ofmA@QXi=- zEK}9Vmgo$9BR;yNNWX>lOHNUEyr8yXpUSS$LFmR@^V+G*JK~e9M=1|dyHog|6B^nG zjW}Yfvw+kQXVzqM)?2;2mRQn)>kLghZ^UShE5f2bO$pY~()J&IM{YOh)Eju2I%XQZ z@dK9zi`uppyfE6@QY`#)=CjS5?dRY)u|sOZ{(6V74PH*eMz1TY-28`*UEIp30SPw5 zjG2OMZ2gW^`)i9$a;R_KIs%(^~w_&XZO;({SpGX4as zwlBE!Y|X8dR7ju7w2ULpB#u{6fi${dPeG)w^)sSh+iioI?n}ZIWesN$Ieps;Yq&?P z_J42F-l8QbI|LlWOPw#Awa8YFsI<}EL-2*G=#z*-R!l6gxkU3yUXo+i^ouhtyxrbl zo{LsUu#98VMxQV23GX@TzB8|O020`z3axUItXDVeBfHeu|2VT-_KI2p^9%o~*$N}| zUn^ALOSL1c);}MUwz6-O^8OOr54nla#vF%>S$o;+RLbriLTe8-yql=6BX< z{gJ;6PIeQh)e@l0qs*1@?lIV91=&$_Gw>#+ns8&a+e4|yD9=`jUDtroZE!!eFV1_g zI)7^HEH{`}eJYMal6gtglI@^JOL2@PSm3o_S=Cr!5{{wd5uWQHVRk)TiKc9j*Vk=r~Qae437feD7lfjVJc}UXa4sSn9u#xU+-#AY zgGR=ln4<{@Obw^4T}EXW)&N3wq^FifEw1A_1xk;NWX};R3?(&4KT7bn&8zSAWK4c# zT!CtpC;HHLEDb|x)+ukoHYdMDK?|qvE9V%2szs?}+&h=QH7eg7dw4sG2?^@Od#ZI} ztzk?$h~Xhy)EQ&)N64YL1_#%-zkv3=mb;6ny0t?wH7tAEnxZBX6ql1i>(u1b@2(F= z#W!{cFr44VFW?r#2B&En?b^yYEztOQO&munJ`QZPn+Zl;agEi#zuy?7o*TUGU1NJ% zGwpg0nv94NplbO|1w;tvinRGLZpJ=LNI}j;<%z}-v2-K%0&d&UE3xH*Sv4cKYvfn> zHnn!A_WO&=*MZjXL1tI!k^|AAd(#r@h8nWDbdK3VaVl02&2nESD z2&&jZwG=9vi6@{sz5NM6RBt<7{HRx98i_L-Soo#^4&Sa!$J)Os(zj|r8Fh~&?V)>l z@Ee<@zt%p566Uc&FprgM-*+S}QH1Yz97EFPpgAX-Ia!F8bP@a_H(o?w_b&Z3-4{h= zP)jU*7vZqb*Qqg~y=Ht<7Pyun(*NPf1Q7aiVn|G64#^suh|F7gf_WbBA~%&&OS4Gwc`Qw`QiI(QMkoCBJYS*dqXQ%5<(mXVXgKwG#LN}?px1v zQqwlRt0k~`@o{Lxv>)vqaKL9Eu;%sos|D^I_#eD_sG0XQN-tHo>=kNK3WS7)tb;na z?%NYgBPaxwSR&E&$klM)d-mi~n12zqRy+R^T8@BFNt8WD&qO0ar}KT|yhO}Og9lw0 z?^C?&M4H>}jed~Z!D0Bd3-nIKMXr?i_ZRizhY+}S(bAt0Xip?}3=CogNnfWINIBzX zxaL~KB+pN6XIqi|S(++X;&{%TKkjBAcDCv}^JE!F$l>_~pg$zkfG0C!CA(2Xa%lo* zrkrOjLNR-GahHNtsH{;N8q;ekdVLHQAs7~OI4U(pJQU4E=kQwloyNJ^?hF$~TC4mG zcHW`LQ}ly9?|6{`&DiGb;^n?^*?yz(V(-}AwDT z_K%e0;bfzT-M%IVr5aGd9nZcrr#On_L%rEBbT+BzM!cFnVwQ{Jk@f-q$-E%HYta+Q zJHT>3wdn{oV=;?f=h49=$na41Rvj*!oOuJ7kx`!F)%3sC*G^$|ne%NIj>OFklH_>9 zhQH3lS47l?wE3ONzl_VQPYPKQHB!sYk(&ng}>cy0vH&XO0OVqOaUCw)cCi zT@6WQJVBKUger49-}n@1Xog4x7CSp$D$)57nWHnVpdtT`nbxcm>C1+!bFsGVw4+G- ze2$OpaVzllwxKcBj_YPW9@Zs=CJS9R@fXl%ZF?K{Fvg7lofwzsnreRdDc?Cl)uiX8;9H zt+K46g7>DcEg}u&-V%Pkr=Y08U^65#Id|EdIO1vMWiN>rOGGotUJCvqVoAKDyyD2J zrol;ha!@T~NweAEK4hu@B*h+TBr`ulXvjqLxQh~?SggJQ=1c6-&K`K{6X?eDO*K~n zP>|*QgVb%fx3HII7ahJm4yNjk?-Aboz?n_! z{p|5sOwiSP6uT5PTA{QO$vw>n2|)Ia*|EG7#d~&Dd=TW<(mkPqFG3>jtlEgMDJYdQ@K%*RWogC3l%RyESiAI#Tku|z@aeMao13|o-JsGuFSgme% zI1-UKFEM2r4<@H4z`~Kbg(r6WvwNC{YuaMCCTh^B6K751sdN|&1A01*jx^yw42;*| zQb%SphUZ!!eLVV4TS@XscYEh z#M_Ay7s|V)ck7X+Z?d}s>TI!1bZZfUDKXNTgW^w-2nnx|zzaeS)&PaiNoqb-nu=)E zC)KQZ;n6Z<-u&V>o9av5M^w6M*$c(zUtJ|U3`4#kjm^v7fF)}rq-|(p(s}!Akb_8C5I>7Z2KFLfeGQ6o zq>58I$_d75_CP}W#0_<{f%77-gnwBFb@%MU$-s8Y+fX*#|D3y~#05nPolTX@&$htA zuezHBYqfa~d+yqqj^H10P<~ZIFu{geg)pLX$N(IH0mt3!6XW~!EmBq}F=jvEL~B5O zamxgMh8k-JJ+D?w>KjaSKX$|bFi-t3piGGYz~w*-VY$AXYrV!wb`5Eu6(D z7sg#Mqp=t@+P27r|9I~xP>m2K4$a#t5tK9GoonH&^%?O zHg1>VYh>_Ok>a0Gm^tB{=oqfaJOe1REhs!6GyE#2=_&@6GDW)m1`0>_O!5NJg8^6_ zGDLA$W5Ti|+lw>_)kJD+>nz1M#GCw{0-j_XmZNkLX)J6fL~+VqndPR4O=7YIEo|B{ z@~Yr5T$_!g+`(9Ve>i-Gn0J0LbqGlWX-)vK4N=rkMP@S=npvG>P-^?BUAdRSH*-VX z*rQXiglFF%c!Qe-h_Pg+{+fziZhic77awvP&O!Iu1ZfJB*Bl7M8#dTFpOrjJYztg+bRrMRt<}i zN9QHVLpkk=^^bNn;mwuZhretvv$jlAijK!xAUsPf?^_zo{9VYN#4k>wCt^sA@>uhQ z_gg|hrbI}*h5xrq48)`v5`7}?BcIJoSC#Pg3Jgr!WD`6CYxX?ak2UN+<5$aB9Z63) z?ci%;&+@~JlsbB=Pq$W?1H8Dsfr3Fg2=JEm>)OhWExIyJKZ!Eufg|MZ^AX5MZ z@2$ys&;ga%2BP)kW{ObKId@n%Ion7NplFm!Hi9n3%M;_d zAWaA!B8d$vO{2x+dx;Rp51I*)Rx`GSB?9)6o+oU1HIDDadQ7w@wHh1Dj0~Oy9e}gr zR?EpGHE*uB)*|Y%>D$en?udKX6n&t69RF zYVjQ6F4L@q(8lPSY<|A_LZ2-!4N`JIPucGKX3iDP9xTygJ=LK!#h#TbXqJM|jePn; z%(Br}PON1;E1g&DAbgQ6FQOW6V=l9k>y^v?a!X}Ox^8}!SMLj1q_&uVU#uTL6>Fx3 zeyfQjLSr`N3f^wy<*zT#kwW_VC`43a^6G1DCc4=V*^j8bjo&Y}*HHvG^1Z-#I-_*_ zaOTMHLetRPE?Xgw5R1{vBCCh59MN%1;T_%`9OUkT-`nZfoR-2L73?Ytj4T}D?bGzb zbs~7`N-D6Edl6gO@Hb#-^=jyaG}|sNP0z&G4=n5%&Fh#c0FUfyF!u)%Q#HKsKLZ2b z;-edIWLpDg@YcW=+qV>Z6+11Ohxdk6xd#M~$#Gkh>` z$6U}$!OEf=&RV9psXuF=S+^}>Pgz_=6aBkB{&5!J#WaMKk*KEFqS=Cb%5vfL93AFk zwGt-!rKPx}*DBMXZ9D&|o-z6FU)u;9P_zg4A8Gxlc(mZuZ?WHu|G&1$Hf9r+Vubd!x4si_MzxKGt9(@=lD5%C1-}&Ul{L~q|aikUv%iAZV87w?fOW* z-4p%}S0&RGZl`FICm&8%nVWArIwahxHkLapLr6KbkM?M4$3^%{ z{F;2oJKlAE2WN*>;q{1iHvJ7U6Be@_G>^C1quQ=Ih3ti)z0Eel;q|C0gikxJCY*WxwGnvY;h|&$0oJ@l^Z%fbE*kD0s@(#Ej#1)Y~6c zDkt|`qJ($!M6=4d3?$k_I@O8?FviBYHVueiEB(SEK73ajT|dDr<&nM z9O_upE=Bx^NQ#mIoinbFj+AtsK(<9$4%qv76#hx=AIa-~!@c6R|BOSBk)FyaM*Sk? z$cOy1!1^O9R#ZU{(k? z%KX6~cm%g%(&>yy3iR?f9Q4O549W_x;zXP#wj>Y5cj086)aICD$=s8TJ0^wOi5z0I zWv$OSyxsB%+OdUkC~VjeDu3RTN4yWnBt|YV*`$-776uW^99b6SpVBHD1U@P)D4FHJ zBN(8=Jm-StK`lmFBWD`@dE=$NPfl)U_po>v;sB98X zz>-t)}6y5G7eHy9uv^9L^=w=jP&?^Pf%jUSP0f1;AT4QJ{*Y>oUL#R$iaQWRS z-Ewed_|Q*y(J z0#KBUspi|q5;}TIZ+1E4a+8OlPOI=1^CIrv_$6s=_6+Ua{A}rJU-#*n;|X8)c{?ni zq!mZ3xLLq=WeP43r4cVwX(Jnp4; zFx|Fmg}au$SRlrQrXvwv#+VDSvPh6;5W)5Yg?Mu(*%aw1GAChE5x%C||BVc`^rq+- zw84!0THjc;V>PO6&?gEec?$*W5!YSnm5*~@Rdm$S68KG86S2?uP9iMP^Do|`pYz2D zevH?NofiAFfhi6S@+8n{#6(+hzJa2Kw&MLxY2z%J&SsK0*pFA>)=rJ6suKSm{pX7>L?Wq3 zEx%}8qFEZdUnOW;>;-5KMl zqYCB$aG4x2b0WX6nPRkwC2ZGcs{)d;pfa%}5LyY18KWd!2NKNwg@H2*8qa|iDq=)a zklw7aj2?jCmxMUqZiS>9$vl)XtQ6SlH(?+>y`rrJ%Or`zij6KmeUZKyA+ucY8>?Y2 z3Fjf-65%|j6oikW9Z2IUk9VKz2%(`Q19GqajDryET(sk8|0$VIEVW0TQ{)isMyEy` zXUEMlPh2*yVKt3uBMSVzI1VI?M-HyFTXcmLU`oFdHKEQ? zqIgxk{6_B%{?j`)BH{N^r_2`E*uzS){C!_^hl~JAnc#F69kyde%M=io$5AlAWnla~ zBDw7%mWx7goi9dUL!8tinLuoah~((d12knCWGgiz=Vl2i(LDLA7F>SOmTBvg+9h45 znXviR8b>c{kyMAEpXW}J!dxB_Kqfbd2APNnUoy7POm=YHjvs9`G}@(;qCBZ}>$fP7(<~&5zk6kz+pC}6+6ZI!#G<0F^7)Z5AUo3w z;DI{1MVN3N+FUc)OgHij1O3ho^pOZGR~h`Qw};!u;`QH7|NN*5E4^g%<@=tG(xpKW z`OVnN>zV}h7C(mxjfV57B1H@#WvmF_ELHP-@b+{rwP>snJJAYzKojy&5!NEIOC4eQ zqjq5RqCgY9c-jsk>{&Kvj$SVHAv^rQ*ri~mfa?(F)8MaO8p(i(<0xHV|H$R56HKMA z0);=L(B?lmZ;D4GC9)HQ7`P7-zS&v=R66;kwl4-s`hxV=nskh&{H8W(@>|_^nVu<+zvYyA6ljtQ=Y^;xbXe+XtB(L_}^i<$=lE&Il_-VqN zulhA_w@w8DtcB&OSNOE9BaVQz?54;)#v)4G=*I_p<3?U5l4I@cKZT_EnCNtdd+dvS zaV803HfNDTb#=n}8Z^Ok8lsy?Bs5f-)FImV-dHnYiXFRkU=Cr-wqha4=|+8q;9xB{O zzxJ@pg548bqu9?XkrKK1;tf8sqAL3E;%y6rEU3UCaZ*wNEveOtKc@2MHm>pTE7pql=DnNOVEAQu$s+0Fybo#88zVw9tx*KcBc(IKTg(S+_$U7 zf8)P!N_6)O#jtCj1aEeSg((vOez;^iswds&1vD=4aQHOdAx6nVi~@axx1)$+BsA-% z6RzGNuqO=K!@>x=VjC)%2juuLoDYDC*PFZ+)}+m?$;eqGB(LDsSRzXVCXtEC+HN3w zXby&dDx}pziBdK>-Y2+3R{e>w+E3PoQb+dQp`05=-?hI{;D$pV@KnPN2`QdwDO$QtD74t9Y4H)_%j97q4qgIDF zpm>n1h_%{P%STm)7zha9;2(9nJ)$J|Rx^I^s>YL>csC-=JMKuq-#pI2wXI&qWx5ta zAda{w%g*$*Bq!FL{lh1QAKBA4QlYAJYofC8$hW<|9{BuO29si6mwYqnY8J@StZ;+6 z8F&OJFd;GaSz^*CGn0^@Xsn`ufIs&McGJH3kFiUiP#))bJvb?*_x%h|vLI$;tCjVK zy#;dXg&eDFDnx_5j|aa!W&>bHIB|Wzx^}7k-1Iq*w&N0-A&yfh%Nho~$odzd$F24J zir{erUXPwkx3!~36IEyS=M$Wg-06x1!i5~VUjx2pG;DF|1ob=S$!cL9DPs0bR-W&X zLH0mBjx&w7$(IEjqY#{3uMkcdps0Mu%b-`HL8u({=0g7Y)+oBZa6VvZj;2;jtlsPj z&Hfpucxp9AvCp$RDlahDo47y1wop~E(B&T5Ln^$a49UUIH5t$kLK^`@G4koESO^O< zM1AVRytl`~7;qj#BGQ%C9C_`np)O+rdn77S8CN|;s97{)(w!8>h}FJPI3q0FTmwho#Kv}{kHp()G2$fXQD!|EiN5qD>_0$r1B7?CNM z4Vu)ynVgk3(HIsh@HUl7IZ?p@`&G`xNpGQ)C%%v?qCQUiQwv;k)cYnLtAQHK+VlJo zMLB`GMRA15DxEha5?G(e(cfNCv{But9_9pMG#}Lr@Ny+nel4h7GEXw6Uv%TGFV9`_ zsrV!@7N73}Tn4X;V75WwS?&b#QA<4rUld`|H1!cEF7)PIeONEV(d}!X;$1^WOk(Z+ zLcxrt_4K(9SF9{N?#<^Aq_HrQOh|UFF#()gpXp6iTWk#%&<1w>0AHrt zj0|ybJQ(E3gs5x|uv=f9Bv=hUCzTUv@h0{sFId{GcN)z~)Y4D}HE6KYtR~^8D0zz- z&Rpd*aaP`&$IqYdeDsZY)N74~BB%FQpMm)zKPOeBqhj98< zyo``zVpha><#@rrS6u(*lnj=*lx!xNWQgcNe$@dQSeCovN;F(X*eF=Xs;j9wVqC(Q zT&mstd}nQ6Ge=!NTno#p-6=;4env80e=JMYq{thF=a-vz$&7E0!cB?ajIKGis8X|2 zD;9P-JNB7WPbVMxI!@Ikn)6(Zi$%L0fv3}K)i1`tS`kcJf$OqdCYu@$fBS`3PERbb z_wY=zoPl@rWy-m&&>RH+fT!T%5Mi2c&uH@HLW(IL?)vYyJhH#th^WOwU6eoAj$~M@f8t7+BKrXe)!&)q@#k-eR*$|1mT;&GwhbiVy%@zqIf2VbUq`f>uPe}T;rUIv%8GS# zEQ+={weB*?AeI>&7x$?2x}x@CpwU{-cN3lvFAqgT(@*^sT{03y%s7CUiciblww4GX zTB642nDVhW>#|Bl3^@4B@$Foaat zgT;vG+U~wcp)cGYn?4RB z?c3w)+alUb5WP%)n+_bu7PfxBgJU-?7{=VFw?Z%)i7544qm&b&uLZpz4JE*4t+)E5 zw$89vfnpF&Ic%IOE0l}Twzyc$R7yBYR!r~sy4{N`6080MPoMgYZx}dxTP$M8#$UcxyARDT zn7T})7GKtb1Af1KAE^A$K2W{(^uV@tcfIod{vy>B_L?Qz`@4f;>i3UVY)|u7;!nW> zU;Vx9hkjqWG}pf-56%8O5v!}*P0yP`52DS?4GilWp~PU+;`>}4)^8a(9!!)LwS98@ zrue?1?zdg?QDF+C(vRf)7&RrugH+#?%a_!?FD(znk1u5tIdtX~mlM-vPa9fzXKC+u zUsc~9X+zEW%WvllSNu3f-09f_*R`x|Em)wWWQ@%Vg{N4P)QzE0U38$!PK6UUW%ZUj zsZHQOi>PAMzt_Vp=WOui}Okx-+*y=N}-_Yqa z@qWUNbX!}|W^Eqqut(r5hk%yL*YOo289Z6MOMB>!a%C*gx6-pd!vHv|QP(~&#t9wl z=2>sCKenLqQaNl(h@C`SQ%NS_P&8V9=Z_7t5uwR%AVsYSDIIo2_oTcl0-*R#i(szOqoG@?dUxo+S} z?$gz2>^?LSubO410+<8JUbqmyIZL3XKnU0L#u0`ft;ttJHg9AGYC~g$mECM9_mlN{ zB4sxTKLbm$8cJRhUHl?SuCl!g^8!`WYhP)x{L=QBL5|(a-6C~?d%Mizn69%_H>blU zPwUQ+?ot&*C?27FZH9#0n|QfZ#T;O*Bv(Ca6!^iMO9G&(s~t(cyXl>(Q%gL|El0s) zn?Xr#AEMMJz;V<4`DLPy=L0vRpT`6A!RJr1s!cpc8gK)nYQej9PzI@fyJ+N#y?#$F zbd~bOFW-ox^DqF86r=^2=PU&LUG>d**m09;UwtkO7_j+ZHQ zOvD;B)si%4%7m`7mEaYv*Q}f(oS>v%!m~~(cN%1qVOOu;w) z5Wj=#OTzT;8u`CeGQoWqVj}CKhzJRQj zPYK+yx_I+um)qOwjtpZU-xH2ijN%6j*_gseAsDXBor2#>$lSqHMObVE)9{phwbtLf;w`i! za^*(52zo$L8d&~S0UD@3LJja4yq(2tYVhL^JItd%*2DQDEC7Lyr@wi06w%e2g2!0K7W1yb#nR@8LwpNC>zAdXr!R}#t7Al^ zb+W^p!^JmxmBH?OU=c$S8??dLNPj6lv06OH2AdWJG^wRzS$9m-i@bc26GO31*8A5B zgThoS%*Sx%wHsZ(cd*2~?p32==M8rrNR;D?D@gN93-QD8$VdeFq2(k!AOOQHp0sP6 zyl2QTA@j_}K{nuau6y&>bsvALKRENT;Oa%iP`de~ejGbaj!UAnnIu8|09oFc0zfXJ6b<#iyU{O|BQauCB51$O-r3G_T` zfu(rNA(AyodNNJ$XR$Md!gzHRwTW16NMaU-#-dWJHh_e#b5V{QX(D-6nz%hwoONc{ z$ZgIi8GB)Qfqj<}2kKY$3<44^QFLKgySd%*%J`w!JSTknFGrk4QyEJI_$DTPCMmCF z(pGnq@`lwlT-aXevl`{S=*vcdwdz~bG6a2BjY*Pw%$C4QH8hf`#$w{NGL;E0Qw)+b zi0)XxP_!)kzN?iZQsrr4#zD?zN{$nz2%VhRR;e9w6e3*LV4vj6+$A^8Y#+l^GMgj5vQRBfMdwEW>2onzP-kv-ru z?pDjeQs?3n_TwIzx`yg!f|onLc9Y&_)Rx4}+ZR>`Zm6UYeCW=M==Rq+`u&2kif%HB zG}Lq^lYCNEyiR`zPpyX2|IjY_Q!&&i=jyAy!WtiPJESkaX7b&eDO|b}#_;^!~wx^2Rez1J~sS57S{D zM}kie?&VQaUY*?hX(hSS~h%{pn-lp!l@sP_Bh@{s0PD92D2wI$X`;jpmv6;we@kMVLWA%$~ zqEY4Xlp^+>fd*&yrvb-#CnF(y!*u4BdgnpJKM&{fPq+M&%j#bjR#HF4gOzqCL=Yh$ zy;3}XTJ#i;8ieE9feM70CK6h4?Av^Ov-~@)>og%pRe`s%_&u^g_o311CYJVJlR~ir zHu=k%?HRHydCjRKdG-VYm8w^8(*Uar-t1>77(d81k-dd{7cA(FeOMnP*#7zmD$GZY zkoT()UcgEuXd`kUWtW`pBy8yd^pu!b1Rb8KwxQqA+phCOx_Znf-%~LQ3+8p%Of#iT zFG_oJ7IAbon_h;_8#|yNo(u8`(P`P(Fzt`Ax?wfgxr$Mx%k)A(uWGUfM}PfBBa%BY zGj{CpQ91$uH>=EB7qhH9hFRPA@LpQm*&&L8xsJc_i{EOtlVd*TlMYNPamWO1pXZ%< z>cnkLeE4cO)|N;y-snK7yr1+j$wgjP^9t%Q7G)kB7gv+@{tA-cFc{vmQ>NvVH_du? zET!UMja6SKXm6SJ9(Q~}uF|A!SfyMT3rsd-87zllQ&STY{JJn5L9-&x&+0O(mZl>Z zS(M>(XP_nT`aDutNTQO*CN?sHi)vo;Oc7~{mKe+Ogc5@?VEcj1=;a{E&ed!*9;SDo z{~Py~yV^d_g$Ylzcz!b^I)i8vqR<{Rq(~_a+K?qrL3czv=Zs;J^XC{*+ETZ-yRzzZ zED;s?5s@4*)9xo$)_8)+)LEW&kzh|^mAx7Ok&9?$cV+Jb?08I(7irk@r$D}WqUnlU zX|Gv2DT`yiLPmepL&PVshP1=mn~q zG7q6NSoqD-diy(SERGF+PhLL1cSI$P(Q_L4Dz&?ZtZ?7mmX<3vzSj zbQZ=?++?k!>5~?tW^6lJS1+&f@~}e%7?SQI)kjh}jl8&6xI* z3Ar%P59^e{J`2b8L~ydsYj~Z-q2pal5}gb+sv^SX5}0!!{cW;rg$u9Lw+LC++N^K% z>N4npOUDE4GD>Ar*i$yz&(ipvznaygdZA}RL9IXNqT-O={Yq&Vst&Lk)7Te zfW^z@Eb%rLq?F#1Q|#+C6xB%vzc&(HOp(6U=T&*N^omon_pVlqt7HURq|{yK~P>mN_q-S2T(~IlH;x zS%cw_--`IoNO6GUqp+GgC_Mpac8pXV)SI9|Mq^`*a&ZDsjJwl0%BtNJJaw$;wzBeW zwk{&D3XC-{Rg6LtBEq)e|M~lA*oEfW40>131+V&s=IrkC@_@7IU5WH-b)S`2BhpGL zg$6^Sf`-JX#?i{{sWUe1+zw-?qotJ1I=i0?E?W?; zd&5KJ)^FxjO4|y9JS=}u8g;YRyxDCH4Aq-3wwvrAV#fyPwX_jEJeNC+IS2cGj(3p( zQx_$b;D$bQWg3_zeG9~5TK0@^F{wl&fO0NN>R2@LoDIkOqWfiWPpM9Nw?EF{k{|w( zezPU}Ev`y9W4^DfIG-acvd>&^m;Y7|t1biHKR39&o|*=rOO!-|>5uK1y=IIYEL=sg zo-#CoHEKO*taw#5bY;7+jLK9olvXAkiKp<{7_?xa6C8mum5Rdq$-lhDG)cwP{ME+f+~1SQ9*AacMS^d9-jLtjWBXwY6R-I{N@r^aJPy9tFMZhB zqJDSS_2k*H;JgJ2V%yDm+bgs^ne(f^^Y^_EK<38C^j@=TJ33`D=e+s*-sEqBr$KAX zt|!s9s;5Wn&%pP$yGyoLzXmVw-d>irE$vOt7b(m;i_XeF^$xCOpF$okC)WxlxvmYz zXV%^>?{z(ts=%1uxr41mwHw$9?B)h`1G+fFE`7c_yV+XXIsv_Gz)nC5H)jY0_z$HCWMKh@UHv;3 z@ZY%#`FXk7+1vj|C&#v*2%iS+Sk^l&Kv0B z<6;YR072Y=5U`sq$f1OjkCTIkOMtiezeYg779MW4?mqttxX5k^wgP!Lzy`Qk&@ehV zJAoO6XdoabOLJ#$ntyKW?(70|0(sh6gPtMm_#eW7yU(LV#i^`J!E=9}71q`5(w*o4I+%0VWX~EWJWec_hYT7zk{L`rd6YxJcw4EIP zAD*`VA>2O;_y_X5Hg5@uQ)9Q?feoE)$Q zY=oArBiOA~lY@_&LqLFwn}?4Tre1CyE`W|EJ3vR8v*JJTT%-fJxWMf2uj1G|oh(_O z4TKe9>*(SDX7%J?v4c1}73hH6e477-M*3fa0?_%@ z3}_MXU-r)hvoM$sunW<^)a2k{3D)#5mvVLl**ZalXk6UD4$dIUYCWKg8^{q1RCRea zB1nNH*vY3x52&Z92~=})cK^pcD>;N{Us}%Uf?>kA z!@LFNj&5L>IfyVpzz$Z-fd8Gx8tndG4A0i)0CsbRxhB|6gozmdax}Mn_Dcs_Ynx{u zbb>hlL-&9=kpsx*na3Oi6WHx<(*lNw8|ay6X$yJo2U>t!+&$c262M5#79NhzlUe@7 z@|gs4cQ+rG=jA$rEp7h}1bf5u@eC;}#@IT5flkiuKsT@xEcAgb{|@;d{mvflKxZqU zr!Cm)S)I=;Rvr!x5ZKDWPS01?FqvFHf5%#bondtP=(p5Ef)z{%Jl_|5*;u3uF%lKAX~C+TUpOx8(wc zb-2OwQ6JPNxzhB|^McCO2$ZyDNC-P8xA({UU%U__{~ZoXqlIUVi9BgBnAg zNiI)?f_O%mmXEjh=#5;1GAAGWK{4I<Rai_-TSDMtvZ>e)}gq(ZYShDNGk$w zUQ8YRVWe75&mSQo;ABaoN2&ae4{aW{so%h~yrosiEj+HBvXe9xx$#+AX2VJ9nj|zq zaFsVMb+IiWBhZpzGk9qZIHo99B=YLq*3pO~14*}|uYf5kIi?z4t7r=L$K3aPD4e@D zqdJ_4oR7UzaXSI2)^5jKZqzCF>+Q9HD!mD%S38@ zWgFMhWkm)HAH>!l_WIalY?Y=^qliR&mo=oV^c#%p-*L>*y8NN;$~w{0*QH!9YH%b; zOH)E-57zEX&nfT?&GSUDjSr3GZl}I1-toSgSi3luCu5U7^JM-B@aQY_=mh85Z1j-| z+!CNyw?^gr-L^F!+ZmY9KnQqDj7de`@H_p5zM1Ilp6S>>PlLZYP7TY*-yt2XY z;2NizsS+kkiZ^uRlGr)*^U2bPg7U5e6*3Zq-Yz|zx~kh_GUeSosOG44<2s=&Wp6w4 zEt8@f-Ib6Ph%QRNk{T|46EU;=nk(q@KHy@OU`78&EuJV0QGLeTkOkQ@}VSpx960;jNh; zG7Q7kr&pKIY-%6D`CFY#-)G`Bwmt-2ZFPhI8PhFsdI0i^hFiDW~-YOO1t2)g46fKs(w_{r#E47`tx`YJ6=+m+PdRNu~k*d-HnTvNN_+Rs%S>oR-T>P~he8ZJK zu^{mvGddsrY!~lC3dhsw0|m)@xj1_H#o8r`jrn>Emc2&HPL9EsQ*(no^7(no`BoWa zCJDrI?<6nLotq?@Q1_Egr5>KO?9D3ut|zwi(tTDH3sDiN==fomCn8^1>~D2}yj+bj zKU{tUc6goE<#9;x?9yB&e3hMW{Hj=4{wG7+>?8 zvW14K7zxL>3fdE(YIekMHts+(n+dd5@X!yE#u%&)Osm^S)|{@-8{9$~$$H zIX>Q=JaM5$R)wh+ReNN8KG(C=J>#vu+C-zjWqjfu8v@d$!`Q@3{d}A0sJ64uV2kVp zrGm>A*0Lc+?Dn7T1g~0!Uz*JB&lqzM+iG@X_kMc0Z+}j&${HsHW+&eg$&nJJF7*Ms z|Iw%FJae9!keqN;z4OyCb5D*wWA`YT6BL_1P14b%Prk0pOnkZ+yYK;dDj_z|qU18j zS*A}hz7#dIu@_&xHu(enjC3yX2Yx8j%QFPAaq|6#j{dQ!wx-#G5|_lw-!ud>*w`G5 zA={594^;8pU&Rf-riQ7lGkRypxfLcBr?=kQ!W3;NTg@_nXUBCU_; zeHkx5;HCXA!u$DE&#B$lLjuPkv=90lX5?XsPXYdX1MI&QjE0&xXlz;?l2RIqx^@;V z*C+mlEjNMfP>5IDP{fnbR$K0Cnwm`ld=yD-Q->IMdBXmZkIR{J(%)AxYtl{iUv~G% z4~F^=4{uK!U>!t`_Iasgbch%xaE#bi~!JgaEB6?TH z5QPHoOofaQ65W^X-AWg__OdKc+WwHv4<*5(wl?#*oYjJ=W@qR2l{gp4*cZ#%ZwErS zwDYz!z}=D;0wwET)^?hw3LOMJh<(sY6umZrey6hCplW#k*>zFW`y$11%Rw`Np&z`T zRGS|E-~xLI68iK&`qmH9gFecp>D#_~YSrelCchD&wbXsLb4tz6x_N75yJbXgxzBpv zU>U5-X?lyaX84~?gend0e$x8ou3B~wNPQOwr1Z-s0u0qcXhF2_1R5PoAo-EC?QF~~ z9h@zbuh~0}KqQ|oZ;M?GiB_XudRdv_^)y&B=Y*dj*f_Q|GN(4Pb=T_R`jFUBL?t10 zplWN==gg8*9);0V^Bv;(%o`UsEYjQ-_pW_(^pt*3_r%=C`9}!_9R(enU!6y*dOe1a zjsb(HT6hcI-_ZDV2-6P4=Z;6{9*Vv1#@X^d2_5ZEQU)Ce+;!2p;@%dR zM+)J+7;XqYWE<(A!g*ZOx9UqIb6bRc%ly(00k)@si$l`khF`74t0=R4RM}Nxbp4kQ zDnqXUdPPW-%W)E?c%4VUqqy^mx?r_d@|*Y@d8Kd8wd+HUEhW4A@7B4Q=S9f0jQ>66 zDE8RCi~H|BXlr*=lJ3O{ZPvJW1ts#f=63FizgLqLv&TzCjyJ`PsXD-u2@>lw)j~AC zg)3h7wcVEHcpNR@rrC0ru13Xtfj+ZMQwS~Uy<}#Syr=LvGrHUnl1&gDO*3EUwHuBZW9{$MNu+*dx(P<;c)VMgJ1FsqGvb5G(=7BAFj`Y-(EMU<%A5v&KFD3x$iaEQ)XiN1p#>E z{N;&e=1Tv$KtuG5yy+K5PvPta#kkz)3_6g?CowSg?R|oKr3;z2ZYs=SX0znt*vr=P zM@Ph7M%{3i*mXZ4>+OZmiCFUiJ(sTzxW+8&V@`*Juf0)V!eaVd(=;o=%OAbCGkx-E zBrNo$nigDzoykXoK*`xh;mJ2eKeT;eJ{#e3j8J_z)uP(`Lcnb_<}t_daW89RQj6X= z@9H6hJX8vMIU?@hXBv|EFp2+svTVh(NmZL9CBQXikBj1mxkI+sKiVSkZ?c9s&;g{J zP1TI@lUI5=0kfNV&#rXNe&jR}FT&Qvr6rVFx;3}u=baD_9_ysc6E}{mAg3KCH&?Ck z?e^<>DYu*FQMrNaOS(*k06O+bI-j0y_4QOM0}O28RmCz%vzHt31GKHPp{>*SLoyDhH>oy(aRGir zt7mbB69tgZ^wr+Od<^%io*>zhl(Q%u#ouxdgqTZ}5|w+q$UTKQh9zO0L%-L1CkhgH ze+zoE$aA_eUCGdV@1*QM=PjEo`3^7Ee6>>){%ziJv$nLf_Eb1Q z`gPw@9lOwATg`Uuawlusc1^8|+FZ<|y^vmAXs>SXH1G2s?H8Xl2Lx2Xwq5OZh?3dHg=DkR3E?wx;lE$uk1SurYG4!|FjJ?+BdwDju2oK^?$RCPNw(}fe?VGMGvKS zput)f9W{$P(cPWzeua(4Ovh`mfk0ENqWEvHPL}45P8Kn}9i(Vekm-xMarPS%NX;5k zjH;_88)`^+X3uVJ^9~%Z&o~{`m%QEhxIK97jP=sio7^OH@5JQw9s|z4sRTEH zFtl_-K|!no#9S|o&J;IqKY9IVZt*Q)t7O=jm)kV=Mm6akpjy`bjrjDU?{epL|KhLx z8c#-fdEEsjpNxC<*GSErWHMGPh~eFr%JOd@vUunA$?-PRHUqxb+}rq`FEJ@u_BiH* z#29EVASQ1Lx#|_f+}P)nKNQlpv=Dczi(9z1w?*isQ6b$e&s-Yp=Gb>X^S5&2g82Bk z1)Pz*d|Yv{@wHIT33gMfQ*1)n=v$|s?}||`TyEs{)+hPI{g=7c9c2azaaj#YX1uP>k#@6odX{JRTxDPk8|V1`kkaV<72# zb25np;OGQ0DL)7RC}0ec5CRmlq;!Bp2ipN8e|kVR9EyY&*A$DRv&8Xb`oVlu=*1(gykH|BNpB;4(1aM)kEUotk>)L zL7^B32Cwgjz(F8TeIM4d4uEG#bTI%Nj)Nn7@H@UhpgK^WU?@z7<+l&3CEOlFS)mrEE0sK!tzL;?=8L#Z|yM+fL&8l4JYf{V;C zxBvjW)0Rpm4l4y?Sg!d4#<~bN#!;(7{d^l0QJp z!G_TRTDAp-4%Asu37Ra<TS!l}rQ5B5A>*(xA^}+Tii#&JmPop1L+qh`T zv2KNb3c%I`I*kd{g}^lBbP-TiI~PJQK&^3x>cLo)=)&L#EgdKviG*vqIzu#FEg_Gc z=~M!a4tAkpNUY2@mCiB?$Dk7EVZ)mL%LEjzi(pYtoLw~8}k;pU>!OxEc=|sko=`^tQ&vC($6G(U)aj|i9aQ^Qt|3IVV{Or8n|0|dymEcbx-BYg#1yjN(1h5~02(W&!-arEX z8N~M~VY(H6ul`e>^YegS{r4IQ1{cJNC@`JnWC3>P={=cV;>8 zpZ^%-(&!jEgVy;h?@w^PTvo)=$fPVsG^=i><3PoD0LNm~2loe)&DkLsYFOm|0OtC* ABLDyZ literal 0 HcmV?d00001 diff --git a/.cache/pip/http/6/6/8/0/4/6680465c66f90d5dba7423aa175d72f390d4883736cee302491f10f1 b/.cache/pip/http/6/6/8/0/4/6680465c66f90d5dba7423aa175d72f390d4883736cee302491f10f1 new file mode 100644 index 0000000000000000000000000000000000000000..5ae1d06596e1fd308c3c8b72a88ec02076cc33be GIT binary patch literal 11395 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 literal 0 HcmV?d00001 diff --git a/.cache/pip/http/6/6/8/2/6/66826e0bc2503bb8d4293b2cfa918e3e23e0c16d4c172feb7fd8d9d0 b/.cache/pip/http/6/6/8/2/6/66826e0bc2503bb8d4293b2cfa918e3e23e0c16d4c172feb7fd8d9d0 new file mode 100644 index 0000000000000000000000000000000000000000..f6da2ea0a1e5d68fea89d303e90e042df64d3500 GIT binary patch literal 59459 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�Z!$%+iN>pVU2!92cAg>vAG<8T{O3O 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�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 V;IKeVT48_IVB`Hu7*|jK{{x^jttkKi literal 0 HcmV?d00001 diff --git a/.cache/pip/http/6/b/4/3/e/6b43e4b3a831ee464507ba55bb6d68651e7cff81ef7410783047d70d b/.cache/pip/http/6/b/4/3/e/6b43e4b3a831ee464507ba55bb6d68651e7cff81ef7410783047d70d new file mode 100644 index 0000000000000000000000000000000000000000..4d4fc998379fc72a51ec033b584d86a349e0ebf9 GIT binary patch literal 11650 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 a^8J^DU!dZDxOUlXEaYK81z!k?^Zy4`?Rh)^ literal 0 HcmV?d00001 diff --git a/.cache/pip/http/8/8/0/f/1/880f1582dd670fc7bb7231974c67fd946d71685651b47a71086ce5a2 b/.cache/pip/http/8/8/0/f/1/880f1582dd670fc7bb7231974c67fd946d71685651b47a71086ce5a2 new file mode 100644 index 0000000000000000000000000000000000000000..956facac660a858bec0a2dd698e8515a7ef03ea4 GIT binary patch literal 71604 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 K&;#iGLH`FGo^_G{ literal 0 HcmV?d00001 diff --git a/.cache/pip/http/8/8/f/7/d/88f7d71f2d1361f8fb38230bb8ae05bdb624c08a2414e1c535731370 b/.cache/pip/http/8/8/f/7/d/88f7d71f2d1361f8fb38230bb8ae05bdb624c08a2414e1c535731370 new file mode 100644 index 0000000000000000000000000000000000000000..90fda1985208755692c93cc7b731ed6f89fe94a3 GIT binary patch literal 18467 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 NG6ZWN@;F zKI*)CiXsY1DAx+73(K~C(v{P5s?$g52H6{b7YmRWf#rZc5e7ovJ*8v6ZuP(KDQHHN zqbctnPWBtnZ;}3l*-x};{}v(im#4^JRxMX&h4WDJqXWD=laAA10K-K>}1sZ{Fv$ZgSfl633DOo15T7La#6O(Dw+_$?%-L1e8HzF6P z7lRWg@id>J$_0dZ;q`h?azaof6s65u>!!d5M^6jjUsLePm}M~*(f zxmL`@vs|{CSW;u?J!x+BZEN=r_u*43vk;XL)DW%%k+Z?0myvg+oSfOk8{`D?%ETAA z?9PKPj9`REr|X@M)G z&J}F-K9{XO7mDE?0w;vxgFMHG^K4fc*d7sUD%)1CO`p4sUHDhnz~5!4T<@m21pKb6 zNA+#@F(W%I2n-i~loL`bw<%L?$JcG|$o$#ROD9OVc1a{Yh&x);*9?Hs_OXNbl^3!IaTm7=Mex!T&sg^P9gqot)CW?`JmS-27U23E1+1}?hq_3G> zeOVMX3zK>M>tA{rP&xsew#qtNec(w@OI%s=a=6X<9=8G>W9(+L9$ExpLkJBPRuK#~&=~C>3`VRZ!9O630b2|%YpYU=33>!+ z{%!iHA<&x$I-g`XNklEWt#omeOilR^ul}D2OXHo8qctA~3oO~!FdnkZVMACQ z18DE>b8#V}qp1MIi`KlI9m(1Wt!_)K?+X~@uM!AWI9&G3yTS8r-v+B=I<(E(AdExD z6q0LyrTk>z9a@FxQr@6X70erTchS&&H@dr%NNrn#exzSEg*cMBLGBgclCfdkr&U5A zAYpeX6v~3VtoMb3q-AXABQDM0o72}@hjdR^1Z#|oKF24w@*pN5=p-hp>RN8;+>B-mBG z1#@AstDNpI%RRE`CsOFt)Rz%E5%e1qC+AovI=OKlD*|5+R#rX7@jG|d&gJml6$-5oirePTfrH9-t*6v9lNp}Ok0o_6jPs3qVQ4crQ zxmS?vIn_biFlbtf>#H1cEzA4B1KS_|6Vh92rcpdVjN6F5Ej|YPU62QCBTIK$h$n#~ zo1h)%Y7MoGGIGHE+Uu6dzl?o0EhyFYQjl1A{OW9)OCBSVqV7UdEuCZ2iCvG%oHFKe z{7Vl8aB~Na>-e&D>432a6_6X3NSX+>CrfSC8c_T+a2N0}F6&qw#^lUkDN5<5Nm zTONWu3Z8|cQT)XNcCrRDa)3y!y>Mw`Xg-omaKds-2S9b9qKFt6p&1R$iIM`*Bv2o^ zz-|V~)l<-|hM0-*`@L@Ic&woKz0UX&f|b_z7hCYF5dmdZ1!4D5Shv%3~P9+iS0@pI<{G%DRi%oE6ex)i8dx(AR+?F}I?C%lbl z#%0IWa8`)J+ZK8t8$K-3zouaOMahTa*3KYkLw(_hYhOVepRA^V0W1zQP+PY7rV&{6 zl3V2g&}yD5wDLPLHbP;)#Me>MZI<}Wc$C;VGKvwMTcLm2lUf}{_IwKEyVZ(MeKJKX z&NxX7^V?vWzyiv_%#Xux0LAHze)&KEe|Lj!EdFo}UCPcqIE(RQ4Z!@UMTBc%?;wbj z+D0b=!_l8nJv>}*)BU9Wx|$FYq`v*iM+bPU&%?lT*WyICl<2$-NC)(l)!=ky6m~s< zm6YM@VPHsBbRaY>zCoh36W{9J5C5aW@1;(^iD9b(u+*s4)qJDRFaMZ}g2@E>llY|+ zGUOG56|<=Iqh1YL{LRNpq~E9x%Ts5=4+x1#9%Jb5~@~1O8!o zo02w_r`$KnPBzG_GshW_+o9SFW!ss7VU&rYArW57F{tFDa0E*vtAk0`0=HhoBX@xS zj;Ps+>Pop#65}$lS#bS-F$nSd_6#Q%6YMRAH;_G1fTEWDD*SyJ!au`w)PPq(zno4N zMiSfIEl;N=c3+){z2N<010uH7i9dcEz}c{YyW9WF$LWx{tc@vSNe6|(el7-@)U*2FpwVTUMF+@#2;fa5 zncw4j!P@(2=G{!-^=~M{JF8dH@r3u2vxWQfh&DFIp$wnzdh^Q6e%k<7^6|WWW`G}5 zSXUxKSn<=irB7ox)E^TY7@0p-I!9jwhrICL2eR%PS+o=#_#oGvIG?yZe8(VD+`c2Y z*j9nmmS~oJ3jNFiQjxpqZA;95{tbw?14`Fo@)X?IARP4F2eHu|BCa@3(4ssMfO1k75JAS=MrXSp#t$W%Gi1cAdE! zoa8VrDXoQG;CO00NuV;+KDQ-XD4Req=)s{>m@-)t(1}c;K$6{+O%MKY%)E=n?MPgkI4;lTZ%ZQ@~U((D@WHRB>2Bn)Dbf>~`9T{N^y%NhF4fVFgkz2 zVs|%@1XmmFgGnT`JHe1a6}}W044cd({Eh$cI@EH_2{%DqI?8r*N;mbC`b~LRK@Bf; zKA@9HwC_8nn83}`D5h_TU>&f6$3UNHs{80h9oKbcRiv+HE>%KdJ*wraz39<1k(Obs zc(li}yGZ5feWp<1hh;qV`N6~X zxvIXN9kTic^}ETT-AznjuRG9h!W;kztd^U|ZCHYY#q#9jbAo~=v?t==*t&Orwf27N zwA{^j>DXX9IgvXauqMd(!4g|G`u39jdb$$%ZvXl))2PBcxVJobd~MmU{q*->apnEZ zrye^SuKjt$_$hMYsdD4E!|Qy2ti$u^*twEqZ${$vHrL~+D3ibcc;Mmh!R5@v=~MmN zpPYYJ!@tW*J(}eGGFQ8uF|+-B1fzH3&Ee%#&ije=?XLKBXGV_1`w{Z$uleik4&z2- zW_v`3SNX@o{@s2)nK{pwBf0+fngQ*%wD-H;Z+}%@p6KpYc2)`tYvtq&Gc$(y`NBQb z$N0;g+AQ906e>xs3(pVaHYPf}-Z8G)z4kJ_5T5S0Hr|fkpWcDPpP=d~?*V{96GL4C zLp%F*06~d}wUw2jzJsZ?Rf)Nwp$&tsg{hNa#m8L-!~bjKT6WvGp=i-nY-*pW=l50AEc=LtW8-<^@mi}9MYo?i$7+c_G76x%6=ujQh zqFOVk)$d1*`*ACH)am`ycZ80yq|eLQlL{?HQ*wxp)hLSMXpQV_ZiT@uuDE{PmD99V z!;G~i>1=MD_Q?YW{j1JSw;KkJcY6MDHaC;U%$hSKq1J4!t>QbzgdWR5|JsdL8*#f` zZ!}xW^>(w?j>Cg)6dr8HXV;OPeL|H&{(KLuj77TantR!>Tya<)$Dh40QcMr1F5gzj zguxu4?K#oEbggEIB|S|A{&|RYtzGriq!JX5Zp%`^p3zV4HLw@dc4w3Rx~AHsVJ;xoCX3WlA&p?e z;p}5n9O#@`i_ARmG*`!xJts4U+&XDp`XFQ6v6ZL%`@>Gv*oRPJg8&v|QRygc4cHAE z_YCmiQh0kz26hqP1i(Q{6cgx;drKkB2h0hcvuxyKFO0101?rj8(!~rY7Oed;K}0ll z#*`W7Cka)y&{zSQWK!gAv(#hhOejBHDtFx+Qsxt3f_ykgvD+C3BBUi61WrCkeaa2L zEG&^jGG=h(=yV~&f^&m62jMRXtqwKyt vsq{7*{12gq!G8peY|ht%mmAS?90nF9cIC7~oeC$DaQOr@QLy literal 0 HcmV?d00001 diff --git a/.cache/pip/http/8/b/2/4/2/8b24226e2da88df4abeee0d8ca6bce79b19ca2bcd5f94b543939c66c b/.cache/pip/http/8/b/2/4/2/8b24226e2da88df4abeee0d8ca6bce79b19ca2bcd5f94b543939c66c new file mode 100644 index 0000000000000000000000000000000000000000..5c5e503844761d91e2086f944626dcf863b5d065 GIT binary patch literal 9275 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

m$@kuU$(LvSz`)`ZIpdlLA*dOBV$!G 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

0|QJ+C}twjM%``f>o#b&u15% zk1i~3{F(O%EkkyoK~ zC*5Jq0cO>eo=f*DMdq)T=c(*>sQFfKRkIaec`Ykq6@TCND|%R4Zkx>8HEu78_5`K8c>1y>^q6*ujZ{Ua3Esq<{*EYk`Jcbln_ zxsS`&-VP6wzdXl6wM2cM?(aVp&nK;|Q!Utq>s>+k!`I(=*WgE7K)R-i;G>)NIl;o} zDT^d8wI&%>X6YNRlRLk0_dA*n-?lW;4nr&br9Abi1HlbU6C;@o*Tmw8ADg}QANN{$ zV39|dl#GLtiACV;vX?am_d3-k{SprC>KpX5>X3fB|K_73L4+=R6UA@y=B=w_)0;k& z+O7O1Fw3d0R9eLCyo)ONDBsC2t3Lkks`L8o&g=7by*#}8HjyCFQ+thczT@}v+W9^G z61CUh=hMFwxG4Vdc64OYo~pn(S1*PH94-;Hj*%>^S}C}r$wpsMukcWT{S5t*tuE>6 z=GO6bv@I{vPkpQDPbr;qGs*Yk^!K{$spkD8y0qU8J!;K7p1~`7=MEg?J<#opUuNX6 zAr_M_V7Prb|EBLkMk`XMzB%}o-|bt~?h~t%YrgcwoLl(V-tc`c@z;FYPOH^dtwJ~D zR=e$eHsDIHHd|q(bwfL_r?@K(YxzcD_hQWY$;VcRrQo!^L@q_I3ebA0bZ3pe>9V*^ z`c*~UyDDen3~W4)*b4_gzsR#l*5cvgWBnH9Gd&`=z3Wcu%1^A7EGSe>e7kMV6qjFi z@1pnWF}Gn3mrps=9JV>1p0K*Yli@VWF*kU#LaqJ06?f|!b-wQ3Ui2I1a>|%?>WxvQ zd_skId(g`2pVh(Hi^@XpcckK`uAZcW)811r$B*r(`fPfqDC8ESRc2u*hER(?T@vA7 zRyMP0J9AEzbFALtNvc(kd((W!t!i7I%JGWzbdCJwozl0}o<59msm?>LtgQQ~`CuEI|y6|+uG zU4d{ZO!LtP?8SttG9%N5Nivg-8c(%K6}~LhKmGkM|B3CyvV_=EhPOqXuJr8fkLq4m z8NxeFJUL-%oHXtIo5ZX_k+3u0tfNE1KM3ZuT@ZDR+y7N&Rhf!I%{|=tdDn!Uwyx?= z`E)vVc}!tWQJn>;{G_(Q^go!cYsnvqO@GBigiK4=ccOBeq?M45;KG~2j*qKbwx3ku z%jDaTyFvWp>FFnyEPf`uQ{ZSXFSS~&zdY@epUs>t53_GL4{SBZHrKyhXt{KXvfWlQ z!X1k|!9^to_WlYz{wY7BTC5z!?_kBJ9-Xy_r`a>tKF4M0v4oi!?-XnN4u-InrkP26 zl#;Q_slqD=Y>#`uJXEjaa7@TKwa*0qQ+I*D^T*v$I)36dIxW%*mhc>Xqj%XduR`m9 zuVmf#T%9+cr(eCNQh20L|MQAF4o$_E*WKf(d#=1h&}qFnU+<~onfMu|ye;@?_D>3q zI6vPmeY96-fZ3DLdQRzAkR*=rqE_62*Q(=gi(JXv1(CO$)3y}f54cg#8}@MXa~3u+ znM+;Mb++JHfAx8S+gVhRY`C5`r0)-%@S9st!aK{qE_qvI&_VDQEx$B zma*w!M`4d?A*y`(j_vJq=NT7WidxCdnGRjcn5(zNrcwI| zsOczUu5UemTt-fKfcjLo`Uh(dY|B!@cVs+#J~j6uU-M)fZQx*Lp$!k#T6n{BT)Uvd zYp)p5rFk?N`7rG>%TMbn2ey{R@wa9OIg9K{I3MjZN33!FKzg>`)`o?dU(-83J(_f$ zU=T#HFShQur1e1LY^k0Bf$w+Kv;>#E4Li0DvZCzm=LzsV-6Sb?P4TDI$tQWfvt51f zsBE#A)>0PbMF=$OvrP)%-%o zU6w0ipmbQGfI1*)_$TtuS3Pn&MfcCvI#<#O`@yhGYvms4;xwfc=7TPl z&5UHpipw!?zdaG#?$#DmQYF{mJ=nUWbt8*gd_L>O9SISA{4q`9A1A z=+e>k;IHs+7FwyWFh6l-`{A>Lzdv=R@#`fA2FaO9PKyyes2QR7DcLQm-aJ+2ke2J! zSF>+Nysk_7raJxifvYrm7Z>}`*-2qi{H&O^`T(0AtIRcrY)X{ZrMEv=$=r6-!t~Nk z{>FW)O!u$qd~q)R{0s5ICvWQoLNHIZkxuSSd>Rv!966(R7p9=(uE=4hoY+Y@Jg+oP zrtef7^yG7Ol?y$gImz?luFq9*cjG!OW_-V7*7UhQ@G@=g1`F#@RkI!4vxE1q73(wY z|I=+UkcKJr$-XRLC!2n|I&Y&yZOh($sa{8oQ~sEJ&pKYUq_4d3g~ue>4)Gorg^CwA zM%%UzJmH1`D^~;ySuC7kyqjM(D*Can{QIP7twO3q!v3rsfdh78cMiAQ-XE0L^lLE* z%R4p8S$*+?g*T>tz9Li-a@>@^=gfAq8NQ@PhpgVp_g$exTkULjezfexz~Zet%?s~r zqRK=Tq(8gENYDelW6;yAS zSu*pia{IwuudB0SMTM{HzSzh6@NNY0ZE@+ThOWYEXRp<)-QBq2yv|nb7kaxxH9zev z&A3U=Jfw5!{PK1F+UwJFZyY$8<=98MUj6oG;fapfzr8M;D$5tm5A*nDgXthrXQUPE zmeX#x^xtH+$kjZi@@11$>-p<*8+h_cBP44E%I!Pky{!V~lR}TEp$14`E!C5*{7n z@s;-Hoid0EEyz|Z+{dFvJKTJF_kHKmomY7q{CWHuXm>C-<>Z6CZT3{8E1v#Vb?@O| z;8y+ppY*5B{gGj-yTtd{FSEyY@X-g4ze##rV!G8b*>20pWEqF#4Y^J6N*zt_2WGx9 zHScTDyN)>8(`PSiS|3cDRaNtgJj1T>nCt@h-oh{De8_xVR9$-JHT{oBs#H|O* z*8h-JYA*hGd1sOF4s73KzXcaHUG^${YqA;Kou24R?z=!a`zF*X{=k*Bno51o?^3p} zQjnI4E@C8$-h9>N7hmmk{XOA|%t0(`*LlTaeZ8{>8*jS|tQWJ>6_s&o7ukZ*FYMfv(vcT-dX1LgGcgDzdSD@U0QMVxg{?9rJs{}@XqZwS=Vpm z&(3+uckWq1ZR6l4=MUnHHfdef!KMduaVm`$*O&!mc-yaf{P2_K@pTq^74yZC9ajzt zPwoYI_k=<`n!x#Bgx))y%o7&K0cp*&h#-bVbmAfPx zSW?yf_RVs}<f?H5Z*f8x69nd~*#VxsN-`@Q)<-{<<^ zpYjSVzjg~mX>Cz?PH(Es@H)6|vt&}Yli9+E$+K;e?1*piz1~8<1#atP+Z(sp&aZfD znx=%SDR*>g>R6If9%HI~aZh;i<*K_2u;zWcXQf>y?L8=z^Yye=cboRn7llQW@0JzD zw|*!rPG3JI?v(mqI(_chi_5y&7}>gOq8!v7G)~gbZMl7*T>6`s|LYT<8!Cj8lS>xJ zXSa5KX+ErfqCJ425?+6(u=-tnDEax(6Z})A$I4ZiUe^eTq`R&yv+TK_TG&91_59-X z&Fs@M#p8}MD-AUUe%jP9Th8?RBnjVrwff1V4PnW1h0FAAm9J|K(QwR}wX*2W`qvGI zM1w^G_zx7f58Big7C&CH<3)3COXs;o6=2Qz78Y)VP*LJ4CxaWA!SW>HStJxG0*p1je6GV_cAlAvf#Hl^N#U*H2nLOXa<}h{?S|$c z!Q<%|%-qp?*%I&!aNJFx`S{?eL=?z%ZGL|#0SpGW2!oMAKz3kw#twtV`U_zaXmqr} zXkFM4cmh=V0%(#5Ql$U~iAZ7+7-Tw&OrxTRlzT#nKN3JfT2$5cno+wnvnuy-bl zfoIVe46=tO3vFP{0o{_dpc^X-&S}ba<0P^N=E0!(p<2!lT_+m}0DWA==>Vm)aUdFv zi8j2H#+aykq8N;)HwFV1KYAsFON4MT-2EsNGS!`iqGZGTcl-$zL+n?c<+@|@mKc#0F`MI%!gB$#*9k+s*8dTPKqdq6|Tk<}$|k|;C+ zo{KMR_{o3g9N5h^P!Q6`yOKFEJ|rJE5(8ya8gXKpN^mOdr5pw$Gpb{@5#7&4hxpOi z5eqF|RD}JyA`cp3E#}ma(mhTVoy71VGnwG!XogstAI~>)Dh5*ykq_o=^hyffRf;6h zm?SEh3R6a6keGfHG(*}gRP3AsF=HiI0W$cMl_Ov@dJu~g$a3>zu~37LeBqAEY7lr9 z0tM->g|Ekgh-3m<_%*%_Cgco6F65;64U9#2lY-o6cm|Q{q_`Oxymkj?>IB1EFgg;p z0mn|6G$u(QL3A30!U{soRR!;#9q9wfc;Ls3fvb;RN#RC<+=1M^{mb#+Aq!!~j>5Df zZ8>z-SROm<&>19uGAV#Il>X2h!_y=p+XZG$7-kNcz3S#6U^EXh)sI0znfwpGMLt%; z_?jW5BQ1zAe=Nd>MD^pU_2?-N{$y;yVBR}V=BToEDkC9GCf)QUB~P2B-{!h-!E zZQLsrg~K4>3GAG~JyOSCjouyu0~=h#Ik?4HV}W!$ndn0zlJO{ZwAD%N)g!R!)1I8s zurD9M09Qk~UF73@kxcMgYltHd14gf;@QzZ%?F?EV*$3tbPa!c_EKrdL1V=P&$6%Pg zPN1bEFl?l6)V~}{98nL7P#0oSO=BSE2-GSi>! zA4`LT$_gO4;pucAD1W&)@3w7pcBU5q`Rko4h@9(uPtM!v44ONcLZW-pSTwYh(@}CQpS|Ro4X%Y; zP`~gQ%kn2N*yS9GG*Xr44#Y#!S_v9KhSDfs1c6K>(YQ>_$wFI2ER5&?7z{FNZ3!I9 z7`9xfP|-q`jQH>1S{RB2xBwDT7&0EhWkKN)Dk>%h05wqTJcQ|$hjBnWX*6#xlyz@1 z7Jr2C@Cb8O1yWH63IkRocmjd#iWCYh05$T3?ERr+Ws1QRK|PC%d^(55zz9%mv+z{Z zlFnIVbFmZXmI}cWS=-*K9D^V+7&J74E7O=hrv#P}-EccHAQ*iZbGs*r0);=Cm9Z5$ z>901C&tKUx20#y5$}Zc8oIM-CZr1zNpw0r20coT@V{Z?@Ghnsg@m~TU3(^nY#|Yrc z_7&zt?IY(*s^wIYA1_Rvo|+n}NY7B5ZAE7Z(=G z(+`$+`PHI#Z<~IOKxTk@8HRI-bIg4nvU&MOn|6hxtqc8;A!RK(=KF(@{t? zDhtXa6wZaazx7*zGZS1BX$i?Q$8(4@f*+L1XrStovO1Fi(gdw0WVk7vJs!kX6N)s7 zX9mI_Lb$O60#ZM`3gaPUD&3F8g`{ijzj8Xv)y+c~45XIPD=C~8BI`&_TlUw&he+IN zzl(9fnr~pzj3AsN*EH)^aX~RzWP&$pvU=&8-h2q`=rR-nNPW8+kB3dr5J`^BIb;SC zCkR;&sj7wR#)F0v9yu6I={JoO042ErAt=hN!*84-B+Gk1Vf7)=OX8}jOX~n ziVIDeng^d_V?f(7plzh19VMVp*jW_Cka#aXs_X*o+=p=?wL|pcLZQ-7ThsGPGnGj| zY63lT$U{RR(a_r=Z2KFD_{eF;vc^(8ppQFY!2QFsM&J{Wq(RY0WAsD;jWlK1SQIUl z@|rkLf&d~a%jvUw1IA0m1)`xXWakJ9`UVLVIHOlm_?>Wch$pmUp?S_g6N!EMh@y}a zXS-)CZMe#vC^em#H@Q9$0#dF%XVrWJjWi4#S*CF91$=9>7-$9aEQZnpS&IjsK#>ng z<+}J$il~w12Lm%#;GEU;7_L-qo%Z@orj9T|%p3qJj!p-AUG^hoVi?!1;>|?seeb~H z*sq>c5Xf6s{soC=KtM!|`0EZk&3*v-+z9Tz7(xDU?Vre8GVR&Zo=d2}T?i7ZBDml3 z{)J1x6Ff;oZh72%*=@PIK-U7P)e-bdcmJI}K{g%KQt|l$5BLZVSc-T+Udg{d09u+T zUay-)`6UeNn-!2`k-~p}{_kubI>|!={Q+0c_P6lC13tn7kh-^g{qGOpR{7LiuP&Ye zwzv*_8@iUGS5o+e_y11kp2k8v%TD%!>UWKko~Qob`TkrI)6JA@jR>IkkF!hDmj4Gj zmo$@UXG@s@^s^A1kbWxB@lSNFb)usO4>=R&v>&n;c2wu=pu+t5FXRbqopwyiRs`bJ zRmen(5NPV)zo5C~C6&k{OEsXD#KF1*8L1ymo-(Ea{F_OJ{}_s?!(kBJwpY%Ux}y!$ zL5S2yJ*=MoFVqPtI?o$C8*Kr71_VZ;i^cv0J%LAVuF79i0JB#FvxkhbZcs@4uNvm2 z3vRw>zGnU!BjBirX!i$`mn5lYkq=g1f2Oau%gR4y!up!LCC z?fva&vj2s?WUKGkTA?}}zDcGQC%e;(8ynslvnBmcb||(d-y8H{4vW)e2&bmma$}G9 z#(%=GZq1h2Ph%nN}IXC{}XzSg?YUnfUjX?wgdsCxN?KC-=O{{_>#z%v~WmR zFJWDTbduHX+`vQT`=8`1$GgaFU>spk=^-QMGztnCUbxZOE$U$}|4T2c=^!*vs0!02~_q7l8daXE_~E9g~ioVb56swjG2)4SHz(Js0*^N9+dKb6Im0$qQnuZX&a}>uc8Y8s=FLbckFA?m$KT4NEA- zTw-*>$rXI$JOogr0Upjq6N-X&1HBRH4D^NkIg*a}Rlqqy+(h~YHXjW~V-QIUE^YDZ zIpnRmkmHh}(o{qk%Dh4}7WgkLN(kOGKNh#O-=psI$6BB_VQ6?NAds_4(2xw0J8WuV zTlLVCpy==TdVK-ty=vo3(%B7zcVK!85Hfa@ zO+*~tD1ag&)hpk`4IHi%;tbM`_g78?3E+%Z`V0ZK2^`j?|0efI5@a6@znfCMBjmd&geeDIGM&{UaKe*$8#(>Ry zROaxTel(jps&RAR7`WsQ1J2s{dmnf37$_u07Hq3Rv97T*hiu)I@=YC+D*RYv%7imU zZV0v#g&BJ{&P@6E$Aj<;kD*pO2nKsIJx~PGyTH1x4r4Zg*nt$xQFuI$y^oE(n*;@P zW4B_#dJya-1Px?Q@qq*ih~$oky=VS-3TpqhAW`c!hlhCHr z=9&2!41n1CiXlLbUPk&*9oFT)i@7>KhPe5r~7-jFaAY z3>1B6W?kNIa^N#S1jmiZ-C#TfHq&x>m1ynY^~xNKCjr_qNDc2c9?xOF&qUL(?WG6q zKR}vb&cBOz>tiHzze{3W(DVFA*1x+6=q+T58Q56_#oNr9FD zrUIDAAqLouVZvHqqLOBk?sq|R@UTvZt4J@)bmpYs$u!u!44ZRdFA!=_x^iHi3~L<* zqiw;%Q6Fhh#=+=x3YqK1+U-8K_FPoPU~V^ZX5)sN6Oi2e$P}n-P@>8Cg(Yb(KvU_a zobLmkeB=bO-v_hbk;7(fD6r9DQ?FWdZ~znvTftvs5%c+`9gQ}z+WZ#8doBhOs{r*?WG> z4~B%k4RnXBWKv*9%ILBLL1V8PhPu@#b0PV*%sd(#+!#t#WJQi&JdVfi69lrjd8nU_ zxbj8taVN;I$k?R<+k}y#5r6Sjlwapask zu{=%;>{RxKT}TsJz6$laWdn%iu$MFHOnb)38@5w4Z;X@TryT~{+`fy4Lqm$+IVh0* zAlRTy8r$ziidUpreo^P=m^9d{N`%de6IMd9x=}v$;M93g1}d`Qf3KwQC6F4CMli}_ z$BMuIK(X{$E11Ifra-?CYzz5P!)6tCSxj#jKc=x9<6gSdN_Mo`253O+LPAMJOaT`+Z9;j=PuY2xonUFi?;0SlR=NS#7Ss-;1gvBKY zy+0#PNFP20!X2DS^etBcuod_$(qa}-CIEAu!QlP?B`2?kIM{z+uQYCj#^nBh;R9;i zsqG7Yl=lHqC7E-jGcSAsDwVxsacFZBceLyCGva2D9hX5-iELDEN#%+j^WKCzx&M{` zeF^9~1TrPm8lzWIcv}`%@?WRnPThCtP-+;2kv1r&kcPK4@4u)c`=Yti17;*#fR+xX z1(F`pK9=6&N*~=rPWNMP+h>v{@b&n1kH(L%8fbvd6w*HY%qtFZ~%$HU2@YC z{o(8rnMD9bhF7=e6N0%T7yenHwi&`ScV`CqokKBnOzWa7k2a9 z6rB$|P|LyM4Y{hZALK;-XNM%Nx_>l(o zOXE!jMh2S^uothTrhQ{kR8go8l!)%4MpV*s|Vqu#V;u*E6|0+D^GnNwl@D$DmasHgk zk!L0Gh`;~;e$enwz2tlp=Z`P?-=or-{`FDAKg`H_9lJw^!BoM255aW)2!UB*Qanj` z=qNF3G18X}M;Bz5y-6fG7EdAjlQQ6=?41l)3li0X<(aIdt);5DJb5FD0k!Q#D)d|f zuZ(=jCJ08kaH?yh@wJRbfc7^Q+L$D~Pr3yjtk050B)gMI#Da}@mWr$@PSz67kX2Jv z)0D;GbTzbeHML|-EjJ|@Z^C<2$;)fGxoc>tY2lZvFV}F#;oJyBbxn0G5`H<}T}>6Q zgO|??#NvH|v44FKOD1L#)K!Tj5=oV$s;Ta#p`mqo_$$antXh>Ee*Kd5Ucp|*j_Vog zeS9{V(kxAg-a$TY+K#~*0e)U&i@&_T2aSMNMbK~!#%b#iG;t&?ZIA)4iYG32*CME@ z;+DI*<5Y2~1Okzuqv59IzMOz_C9=n&s;-K2^}*pZv^2F`;VU&={Z%#LE7g{}vfw^# zS3meoLv^{DjuuW!1E-a4$lmveWvh`vqf{yQ;6Z2)lAgMjrs~k8B1`u1@nhlLC?pkG zx}O^;INbnVf6-ak4eV2@%!_VtuAG@@;6X~k;k492Ur9#L$}BKpkX2-H8voO>n!2v4 zhAwVM%V`eSp=l&y*92898|r3Z$#^2x+bf8sjRQe7HL>OfMk=zypYp*I)zsjl>dUc~ z21Y3k*deJenVD}=k%ix`{QUsdjLc$Q)X{|5g|FGfK1!Rv5r&J?(NWjX)LN>lp$`92 zvD>JsVrPuY+X&?ufrZ_~e$&L>)&L?A{NO}VP?gH48gMY_pobN*WGaE;Mg}uSno;?8uJ& zYnzGmAoc5GKmGUPDSv}~?%2=Kq3QsG!m_K%G&gn{a1HPzkthfNG+fzd4X^)w&PWEq yf(nw^uNM87rH@knK4n@mxHOYSyHcS^|Cy1AqqBvn z1%sZRg{_6No*uou2it@oj6Wd~P+w=Q`U`D=*r+ZF5fKjb#R&EDx6m2D2?~=jK7=qi zs#y4Fqx_|0pG#7r9O)%X*dJW=3z=y#R*byMpKpNW#|9*OVmg{4rD;{XogMolTwV zFjEchx{3$S&g80%i%T{I`B+He7?v##c|~0pBAaCVI{DyX7`03nCz36T=aXB+qOtN$ z^@i=aq|g60RGQe_6JPnw>RwN%9Lpf{o>jKK>?vpdb{PVU zRnez`qeu`!^vmL~Kp~+JA_2Z{DMNXUuciQ{6;(WR#H|AkZn)6i)z7klKd&6cm-v#M z?<1GLRBEzVe@lrweOWR~en%R25%}44!+y^K?I1t-cVmTqKR3^jbrZ^d)xvIr7|Ypr ze^v>?erin~is(S>u}YZ&1DTQv90K$8BT4^Ykt<+9`mhGPk)yBDTG-h*fW!7Dz{^=f zIR_!(q^%>3g$i;&H$a!eBik`r4i;r1t#@^b4J<_&#`RB%`+20g!&i4JrPX$ zWl_?6aOkqqi7L6Tpy*Y{l~4*<-vhMr|L{=bW>R^@_h zD;~hPI-5Gw))&LohtoN>kKh!4C(*r3nRE=+|09cZz$~!Dm-?6%zo+f;^a+lXSJX$e z^WlyXUIK<;B4N?Lr<$$$bronFdN}QOorYtYg$^AiUw}e|3?O3_^tQxw4Q3616*vUL z78HK5)ZSpF@_b;a?2*0Dur8O%(1=+$gN`w{8lq^0H!1N4yjp1MwiVC4!W1)wXQvNqzF94;fwRQEtI80D|(OXBS?m`pL( }Q$h*B41*hqU<65oJ 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�q#XMrtx$Y6LM33jSo^DOtnl)T(i~9w0d? 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 z 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%0A}aQ%RBJsMM#eP2kiXd>0YSi9~zy?lSRd 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 a>^=Xnz!6#hD(y^hW7dH|?Ue#){=Wd0VviR9 literal 0 HcmV?d00001 diff --git a/.cache/pip/http/d/c/9/c/f/dc9cfc8f87e8ff828c34c67a21d526f31355eb427680b88f84d90a4b b/.cache/pip/http/d/c/9/c/f/dc9cfc8f87e8ff828c34c67a21d526f31355eb427680b88f84d90a4b new file mode 100644 index 0000000000000000000000000000000000000000..0c2d2f51c2d0a3100db67fc03beb3f5798ad5a0f GIT binary patch literal 97201 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

9Jb1E!0m-O$lai4Uo=GfH#}ZW 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�=b*E(J5m z(tHXB-DuOTZvqJ^Q}v%W_mC(7=~qeGLc8in)5u$Jn%I9@Vw-vP;tZa!f)}6L9UDMg zSUfBN%HEucOKd@DJy!IlHHkYGISn#RU&W1N^O9IGZvhIuoy&M*P2?+XPV}SXRB|~O}%+#YaiB< zOg2~r^<)>f<>k{Sxwhoe(EZwU-+JsHt2%7GJS!@+t$|5>qHIQf$SnJMn$;QFBJ6`7 zZfXVhFalg3q|1*=bA2(#F}zr_O5()Jq|vt|5pe`A!~^ro;_&-6Wfw5>^BVowLWo1A zG|G262LV2{cD$$IRdCk_2AR6L?*BsLCbl0k>@-&Tqnk$G3_Ng76DZ@Iu>x2l$9$B2 z^?HfG2uzh}PI8@o`2hIb5UvCv^zbXYUA#8M*+}KRK7Vi~VO)a;R4)Wvdu?%Md+5~s zlnB9dPm8J{;dItfD&j&iRJbX7`Llv?N7}?1zz0IfnH`os9uQAsF4I(na>g(hmE58& z-3bj~LYWKIyRL(LD$^I7&I_T^b%f4vxMN;D$xrJe{`=zD@fV{T~qgw$jrG` z=A2`E;}7JS{y_1feHzwtiJOk+bgK?XuNi{L21OE!|K><6{yT4o8fWDO(w{enGbl{; ztH=@6DiPNuI#tT!J8+%zu?q$KrG?%d)`v%~aULPIJ8`;bN?|BhXnH`ha$`T=JNo}_ zuAr`nte^fiRhj_*mpQ1Dsk6Q7Z_w|5y2q;VvUWoRFd;A50~5bjLh!LdC01Rxc{~6Q zjP!gYoPc?XHhTVXnFCme-j`29WD7t_*?pAeWP`L6AYf1VXq$0yLYet!V!fsL@9-@3 z9WEs(sT-eh48Mbd_I&mAFAA*|1fVE9yLA96aYbq2HH$=NZT#o-vuv)u4Q}s*l_Y;1 z-Ib*WrAthBt3#YI)tUf@|aA=B`;TK$=@qYR`$U|Mv- zBa&Xzj@}!<#YjMO_q*Ir8Ctb$2kG-4-A7?CdyOmo5-iiA>#!4MwB!^223xw9AAtW} z9#*|8{l4F&i2w!w_+ZMMXk5}}cHD#bgq1J)6%|z4 zAtnuOQvq?MJ+&q)g&!ijs6vY~us=k#MCwNpNt$E0&=42OJWr-%{OIKF@1OXJbw3!M zvhv&86FCroZ5?$X{nFueWs`K{C#9IW`y)?2$jaE9R52 zfIF#ph5qkN7ouVYtNER!h+F<|n{IDxZR+x$O~2x`blwn4-Fc(-Jd_G~T&OqImKxB# ziWN&mUgAicP>Q9ji?TtKMY2ZN-Ho4;F|+;|{2u%w{fOlQj8Dww5LZo376IC-)9>|l z>$RJW^rjp+(9~TD!HN@Y)HxC*HAy{6sZQjf_Tv4LK^0BSqW7@mOL=?Dsl04sYQYEe z|LUgmV#cw`EUU;w+Lh3gopujnXR0_2lIMtbq4Oq1-yi-h)kTOnDDsd}OsKQ6sH+L?(P71zhb|9U!n zoGjp&${(#NRtk|ZgwRwIPSCF+nl{}$_*OJ|S9@#MLXjFd4q@N&mG7HX%rzB&M)iBx z&%VQ8%gxL6{t;4h(iJa(v=NY zU$U>ST9pM1>(G@^6)iQp)T3gg2?uZHoJBV)b=6DpQ1c$xvBlCaS~!C(g=R-nLbCuLV{@#-nMOx#+F*oK2h67;82jt zUHYSh1L1AS4-kHif`A9nK@-wFF3Bb}$`AR=T)3f&`!-bNrpzitnb_p&b83M z*4u&x%=ifp4PINTamY%woKk`8nM^>}&LlxFuQs(O>EU6;Jk9(d>B0WR(5^nWu`-fR z`dH!e^~No9|Ls~J9Nb7zwaV%7^-h(SzG$ga>rgWp{b5v6bNT!X-K)#12QR!h1uWIl zzfSZKmJq!=8csj9m$Qe1pAV~5KRX*w-_E^z$7^GQXQqds=jzE59_04NJt0k%EKO<( z*wE$Dowv46f+PcNJM5Eux{T@SoZ1(q z%p=qWT@Vs>|eReO@RC3jhuS)EurFq@Z*cvSe{f@?7S}!A>e1f zsbbX*#uq?MLJG^!%@zG*K0kkgzSLZHuPGIBU@tz?hh0R`qh;(PdSm*EG{gOoee^EB zsZ%e}_v`2ZMo;w+!^>_Oz=T?;U_ft*F;4rHiVqU+)&&7IfK#HB!Jj{WyybDcJqSVJ z=+2P_gRBaMj^;ZwP(4zFC4i#>r|HopDa~BjSn13v!=K7|Lxrh^)5W~>iSp*7>JZEw zs~yppa!y2*Xj2P+-j5Lbw{|u*utoMw$jFfG1IUp94=jhq63WpS2tNlL^sYY-$I{{3?TMbzQVp+Zdy1}pr1jbSWz z$2zMbX@q0Tx&e3qBTF*fx!gnmkWJCMvUK_P}rFoZ|XkAv28#QGWnJSJfRcc)55+Jf7Cvk>GsLY%yy=h>8)Di5P6dY_~<4{0sBMJ872))=|zzK7VkK=mwyMw-$ z2J|@(!O)x!(}YxA0d;J_v1FAsQ;Wv^CT(&KeZ8?XO8`t}{qy>q+}lAS;YNW)$)kxU z=CO@5(x5Wr4ktl4a$Z4E+CVy*W0DqRvkGV2=h9u;B1wGunlU0#6}ahBtF7aSjtXn{ zKgpbn8;TfeKu0FT7J!hxdgP$~;g`#vmQV?pCqxgr{o^cYSEMZG1-^sv_yimBq7Xxf z0OD*p=jZeC&_VHFM3n9jYoH)$juh2F=U_P&m%??@qQO~>!g(F0(2O@z5Q4_}teTvB zC=g6moS>XCl>=&w7Zt*6$WKNpDyc++W4BE$%o3^{nTkLLOb!686yQ!)bVkj7gB-Rj zD82C(l2uhCZ2}3>Cpv$7M_R0xT59lq_+jOj(sKI&u#w3;OSbPPR4{s1dTjc1Uehl+vj#4oi&z_b99sNH8GC) zn<6e?uz;}qk$n4uKkdI$SZYi=2iiZ5kI>Jz@~to?K1V>QSVP4AD7#V6E6V_(t~Lvk zwLi4;i2FoI&E8C0$fuc5gaf~AXZWg3UN!nLoSy=pJ^BsXp zhr!o-?I`0HqzbN%rJn!{hTG`yaza-bLGVem?_U#?rhXb2iH)IGAUPAIfjWcTzKuV7 zkCl%besS_lOm4O+t6Xm`|u(;+g4+EqazyB%~HM7lE|_bk!S$#;QnBBr&{$p{g3aDxmHMpIi{!B;a5o{Tze5 z!QdD^Fh29_d#-eUkOe={r7#9Kw%ivTzC-=^WdrG8+(`1)xPUzA2sJp-KlIQE3-Zqs zi)xi+_B!w}?XH>@TN|M#HyfqGE8t&EwMsX0a}XSltubH2pMOXYTT<~0XM!XZELd3iX;i^p%Ew&kJ``+#qae?frFur8AIoN(j{;FV53231F*zf zfLpR>eIJ|i^|&T@HV}M+Gqmat^o=TimV_59M_W7OH|&)v_I&pPUp(=ywE0}swVG!V zUwi~S43R?BFQ8x!<60GVrwvjR_#9QZ8x*bQD@o^!9VWZ1*I@R((k7d^q3AniX> z{5CW^i9oF=?cfI(>oZ(nhPOV;FHFa!oRZ|I)g`wbdD_!@vgwn zkelYr61kwxSJGh$KTC_i`uhF_=9(fY@Jb>}lhOMm4@%XY`u z-JtwBJqAaZBZaVJ%nK3CW53FWmhImFBj;S{s#Mg{QAI~hPRPb{dAAI`^W1}qo%FCA z!pILE2BV^q?BfJuI?Ti9^}6}ExP3hCNnaL07OjoCXY02ooP~gY_5g<|lZ^$ql#HM; zj>+h^AvNoNXpigDl^s=QzkJDVhFRs=8x>UGfNOmH;}!Yn(BGyp{)#So+~Z4n*MEFQ zebL+aWy8`9OQ^6iTwzZb1bp^}WQ59Z)-fCgxMD=Q30TRIVfddCrwxtyWTzba3l6gS z5d00oJcm>QNQrpQtn3Cbh4>c_$KGsvPuUPNgM2OHJ3dl(#FL??LLe090Y-Mz{&E=wppgXqbJ&is#GJSg zuEdV-X7+ozsZynPS02O8>HA}r^z&$Lt3J^@EV6=%0DGJMGR_9)32W3H9I{YpSvY2%rC`s?uKlc?shz><#_H!u#`U zzRF&qTrsw{g99&et1CDkpJCy`7$B}_4q=+p^Z3vl`||Vh$<(VJ{E*DVz)+HBE_>fD zf@<70JSlORyjD<8%ESb4Uv*E0N}W<<9H4R-?ReCR3nH48V$tvA z3LzTueBv)4KZXs`3`9@R-?J`7nzdRCY+SY`-@br0&bhrxZilTeTe)E#2&NY7eRdtF zD1f;w%)VHJ+4nKFC%n)bK^AoP1GKV6W|DsY62zoUtbI^Zx=9{290r$Qsx80}b!Mab zO$1VRK|^Mlb~l%DVnBYbLpB~@gf&tPynBcKAbh4 zF`L@`c?q7VT#fwvR-0XFF2@P_-JkEBeeRp7$qL!t~iY z{RC8E`KNvC({Xbb&)ZTK=Qh4Za7)C<3ayhqr;Bu(0=j%`vH6^kjr`16fb1V4mgfX- z=k2PJY&Qee2_ZjCH!Lu*GS?GI6ruW9fraH$yIH~{+leu^3>k$A7x|qt-i}}SD>&W; zr>E$R^w-1Q*f6lvQ&*Wd#c}JT)~8Dq;69s3F}$d#n^a@DjH`@fc^5k3JlOS}Sjd}L zImBVAhis+zSS2%uvh$KO^i&TKkcYI-rFsaXM=3k@=l-$WqgjIc|Is`P1NbnV#ucLuUNJjc!fWBbjB*%&aqrsXaB2Dh@d#kjD*iZ$h-f%<_%(u9_t0( zwBo4b)$~>5PO~gt4xAk59(Lf}$j@<?Qyu76S>>m4utSyPaCe5Wa0q{4r#^y2rvt zA+)ct1}gNYA*)}Zpp>d(#0+d@;g@4ZE$a%ns`&~)OD+s5cE^Q{@@Qb9owOWXAAk?D z%}2YkKcQg;~}nyl*6Z$ z()7MxE3j{$#LrEOXji_9?D|~lhl|UMo1LvWCQD!8@Q}CHE%JFqSsIsfrGQ_QH@2=y zD;8TELoBJCxxSj818BEQ&d&vG{<9NP^g;qXhj(%4O1kUCSfAe692TLF-eyGO7w@-!r4sO#ueIISet26GxWm z%3GT;m(inO%>b{-^j4=;Vy#=ymKzz<&EJynf)H00CXODFv^(AOz7y*vkqI0G+K2AchpDrUrYhqQ&646i$gaL%!b2G{>A%XoF<=e%fMr7|u7)`fFRun=tLWp$E zJFh;^gXH7YleKKt8tLNT$Jo|nAJJg~D6aE?_E4}UUS#ivWXwEJe3oOgnSP~((gR_! z`*T@4a(=^d9Zk{W)%2ZGW$Rclaw@ZLwN`XWFx3A2nCRGIYat`-r3=2S;rtIaCIpPA zyu;ss)mw+B+_IBYj22e}D0_!tcJEm`Ts^Zl(|Z$l+&1(e_O7!|U9w~v?id%|>Yt{tqk>aJ;d2pvf} z7J<%FwDV$PmL-!0Z>yN9^O?|K2>VuFH1D7KV1D5%WOq!^AJCC$xc7Sds0>~NdTKP) zAV9R@xM`BxbjUfE)%3or)h)A3kJvk1U4O`sPnk0u5P|f)f^-G&9J;LGb|}6OwJ*!v zqtEYL3)SK(IDMEJkj2U?wGJEP%uj<}cwt?)E63{m*Zc5PW@1s{+*Mpc@5b4@H9OYLDwJUf)IR~N;g#VO%qlzTS;-TAbzfj(i}2ia*|Xi+I3 z`qU^u{xfl^eWJ)&1*LZj!TxI(m4xKjow%8U%Dk-|5?MV!jN_if7~x}h4Q7Poq!iz1 z6osY!LuPzrH|rVzSn2SBtC#lpS6a1~V7o(C-4BIVc0$C=ZSObE!7x1}?e#C#7L2oc z%r%|H`zc(Kd7-ab800RP=Vs-5T;V8t2Wju((YHI8_kmLw7*9CnofG9m>xpuwP2x>D zSk@vgb4G!|SrW~>?R2=<+QonXUxuZ(fHM%cpz6!UJm$-@8Osg-DKEl_s8h`O(Vm>gm*r_GFl&58-y6M{bVDGS3k*>l>nOJX55IE!F(y8RuFQ!7)yM`J6$yY`IUNo$kn_O?AeZzea;YvyE5bwzxm&~N$UfA@Y}5X zw;|V;b68rxsgL%_i;I4n3GSNt)<|t;?^CPm&uwkj$JS^}s9M}w3|mbeP{Nv8^TAEM zRS@gY20%*B!|a&i5(j}WQ+|XX_hN5AlVmK)_i+_pUX*%vbE^sP0s)shWVjz?J)&E# z(+a9lY1*1*Eb5ikX%qua(_g8^_nvt5Ig}uw^)k%@4XmunAiPEw8!5#c+4=sJjW32T zxA90i0JQd%lPYkLsr-R9kd*T05AL5glQP%9cM5&dQWaG0y}e!v9?6Y$Y$Cm&gi$Tw zMVGq(H}!DTqG!>gFyrVUv&}&^EO@)tK$=JaKgrU3RoKIJuw3IDV29+fBCHD|TdCPUw^N5jSVuuXkj&OGyyt zPOA93w0^|wdWpsF{8#vV{viDo)8xZ`I9VCOHCMzEWgjjXhC?HsB!MGm946XkGWK7D z{e^9*Qs|dLr~tEW*lTrrW%lb*v}N<|^rbhF2zAh7j5hpyA0`C!6G-%h`sax9os{

aUNT>NM~6=Y`ci2Kv>IhH5U%Aq<)MJU?Pkb!eN_8yp`ss$xA2vy zUl)BLk<`q^b>wV>Qv&c*s&!W3O*_GxyC}^QXvf>l+zgq#=w>|c=BQ!8SA{{HNc`bp zkXclw7oR9(A=aRX*OxD|BE;|_>NZ$MQVBAfjR{{!&4-u~%k@Fjd_J7$1*`;LHTLKh z6JXwK=nQcS;yM&bqx2NYjZ9REI3H2AL}CPBw2(Yeq4laP!tbUjNs59xzy-Oun+P^? z94=`3w0BAE>u1}y&9rZOJymGmDYfr}tlo5gxeU5K0`zl!(X#g1`a;Vlsby2XZqvM1 z%}dSo9rC@aKC&;p|DMlQO`EuW1vR0$NdJ7f;d7_GV43$u&<>XyA{j(#1L2}hj6B{f zG%=WYT67S<6HKDCg*RK4V1fIs~PaPuj8PB zCg*jJ8v)nLo#bzF4J`9sUv7shGG!B4Yxr3V7-$WXMwCdyj#Gz8_#lNaiIq;!dri;e z=k#bs;h#o+B00;cFGzS{U?LXME@5gXWga?P!01HW6n004BXs)i5)pct4xyLJ2tB}d z=4b|6gT+dm7f7O+l%Ni@e>#}G$y#|8#ovwI)lfWFxkclvmkO|K2wezZVc&q7rnJiK zVwl_y5Lp`BlrTlV47&pt0&gb4o($gXPum%I!>_hL^5Jl__!(3a%GK&>zlbxGb!b^! ziAVhw1+H-0Sfc%9WK4#KZbgtv2k3x|jet(CcDt+4vRP``oUgOok)23^>CqftyH@&#?!#>%S* z7Uw$a5$q03qtdK$0A2Fo;nQLWR%4YX9d}@e3Ej(=$`F@cMKh`S$;cMAff=%8Hi8vi z;#WYnSQ6Ec?PqDmXi)5Pcr?lE7|Yve9g2#A+98^1jYy}1WWOTsd-?FCiC-&@S4O;d zJ1=(L>-fX6fo}J8f6YL<`+BQ;;BM#jb~lA|JIQ~yYhauAhRqIl5ybmz%j$~H(}4U- z%$E`zZC!~`NXYaE!Gq6J!i(hSSvZ0X3JXVmjfE3SVvsA80XYv*o?oP=Cny;OeWbu$ z$3XlOhVm;k^2pK(D!3n}u24m$|C66ue9IT{Q{q?2Da|>xFV^HT3w4TG{6)&+Yvhms zq_oKGpBMumzC_LOmuQX>&?&lD!xESxy9(lE%Hiwe5SS8wgPgYs!juF@-=f##Q1e>| zTI>riy&s87j7ku%ABdo3-$l{X3uT}SwteC1_8tY~1Aca|D!qONBkjjV~c3=0_0IVPXu?J!H!0N7j~Tc1?rW5 zMP+${oFp7WfvD2@0--aMOOw!i7eU`sf??IkcwjnTFLiP~O{z95+ORTcC#9P=(s4^N zA*H1J@SJC95Rg&}%qujuURn9|-YdO09Y;I=Tom!Lbm>XxZnPjXt*Z%M%9pVw%EoAi zcongWo{=negIW(H{%yRR2=K!4D4#`9Z`C4CSa+dgrDww(GvSUxxJ!4ww56cWQorv+ zA}h_ll)~!e2gZUgVobG+mzqqeK2Octi_goHEKI2;W@}4_j_u4<9wO zG00FIbr^pFZ$5atpSSDx$H6)n<;N}@{e#B-p4xYqN{)Rvh9yYH=w%aB4;U-}$-_E~ zPQlATUvOk7D^eN7A0Q!^Y0^SuLHV z#^mo&1^jXaQn^c1a@ymDlEbWNc-Gf6&vY_enNZIR>z50a7~u^fSuEL&lQ09r$!rcP zou3>Z5mVy7qQ)hdXT&22r4eQT+jvy2(y(OGw4qXlApEpA2Rki}ea|pU7(NL+2>n0> zoqP>lx)3^{a;c+#Cmt~RmvC^h5hUxao9K3G_tBndvk}xI)df z0vWuJx;{hcDKb2OVbBg{9z{r8y0=2r}Q>fv~%c|a^irobf((r6iL{?V2-hN>Tx&f z-Xk11?pI<%+Sbi>CegfO*GV28 z1}hO{DKki0I%S91sp+4I^j~upBI~8d`g~;lT%-o;`0vlV5s7|%wqVuNZmgn#TEx!N zbu*!Lh0q2mv?1>+anC#GyaGDNZ#J-UCa@BFDy2YgUb*Q=pNpRYcJudX4or=_*e_Lf z&Q|u!RQBBQSRkAj1T|z-f=+{09DH&%&@&V0xw@keSSy3!550c;W=00Oh$ zBEIA$Zh#3sew9XF3rq~kNxn215(5{ucJ)J<*`m`;ICW^dmDKuQ^TM6oW(5q2jwp?4 z@wz&WX=L)_gW1@&h$txLL=^+G#xeav8lG9Crp-7@?0nkyMdniBU}M?zihQ8+!*wZH zAb6&s#rAS^px*hD+JP#raBl20!e*?~epObB0Rm4NC@p0*j{m<<1C_G|;xYaJ-xY}; zu;LT7L`29LvG39c5${Nc44%YPI+ZMO5Z%wHSR9_nQLf|bw+saLLZ>;1D^Wbd_@`0F zn({jzs^H9?GF6^kVzoh=(XJ_f89Av@*gie)$f@Xqwx??LKVW~ut|2$$RuhHU^s+`0 ziS94DVNe`HfU~_lvmhO5mA9>_!fy)W0Wo;p{PKvC{<39Mvl>275WiHSp1(r|mx_YnFb04-v-L?rl0Q)m)pKofs21(j)xD!3JwC8eXhj&8!sh1+0WGQp3E3rwi)e+^V&h`_@BHwJ?uu^#;_P ztSc_$_-vj^GUT|M@lc9O#_KDe`?&nVS4kH7jZU|h!i-L3X_k%bLmRF3yXhR(1su+r zQN4%ouU;e*n&1m_ipKx~-Ip0VdzrsWlUE(B{qocVI&mzXb4$_w@@Vqw~R z2yY;^%!q8_ex$?MXJFbI>8!Ij6vA<=cK|eelSrb%eY;i>p&I zE)QovW|F5*jEO0Q)%#N#a$LssUdR@yUHDjVDmGp8tHQR=;^D(=%;X0=Lk@(7Fl=|z z;c5-nQ*0c$hA(TDn9PPR$>wh!4FGP4ng9#LucK^SoRK0Qbz-qPp|*gInRIhz(%61{ zYbBM38d1L$r&7&BUEcXKYDW43lp)cM{*ZPk_~n*sv7ce11WpHkRPsHV_dQD7XW!M9 zH)8q52Mdi4N{tU1*iZu&p-z03sHpo^eD&+Pgu%pOSM5Z*{CTO9%Ub>b#OEzPD&V%pk6j6LI*f7zsaH8Jnq$@tyj4ScJCR zIMVxra1u^`-`_hY0W&TBK4K0kQLXEdhJha2^`3Qu%bhpc>~Jl^7E{}P>ons2LlOUq zUJ0l6Tq5gN)`zTLSx1_?k6usU98m=<8VUCQM7_8hRUm@hiE|K^z^#=a*s0~%@dPw} z84X^)!Ps6X1;+Yvl&AH!jwc{?Y02p_W&{t4B;248$% zBdlRrs;y(LW%)dg4uL_gg`7qume2hVsOKfS)n#soZH!L6i`G4ij$$?)+p6ufw;GP_ zP^p-Ds1z9nb8|=czJpdvtfaTYJ;*5irMY~NQ)3O`U%iO(zy(1rTy32MN_#8h)sYUY zj(FovT}UU4u6sd>chPDIP8{!MBsG!Zu@VOe`%*ql&?&4eabz$N>peofg;+0RIW}0r z%kkw#d^sTW3N82z;<**SAv`a`Zy3)}{6_HHhTjTdmC%mgO2H07zfUA;eBY~f@nQTH z1G%vrNc-H_snlrpc3?O?mLwZr`^LZ%Q-s@1bbw3Wj^yd&&`9pwgZxk@B?hsQD#?$b z_tBF4V7otoJjK7DxkQCAvfYf>uQQcQA^DvEUkb^Oy}U~x`3=Q?1YZNpb9~wlae|Gk z&hU#!$w~VK$NezIska)Yi7Lz@H*;!^x1CtMFqK>*)wv*QRXzN^*}7b6U3+b7p>?~|x?PD;8eu(4 zvt=i8wbJQJK?{1yTmk(Kk(N=!Zy-|(f~CNTMr#$5Pz=HOYl%9lBoRFZRe=7Pn*Kt~ z8mVSYK5V&tYdA1S)AusujFK}(4pDOAC*cgqkO5xK39@?c!^2YR&AC4#@29W5ae17z zz&DY-I1b08*-POQ4W%04$&p+l(MWATat7W8=xhkp$7VxaGoh}lzH42tZ!ClcrO;sB zx8TiNcFp@lz z97!jSrBe$P@jp`$qvj%-ll9@l;vdTLrE|uIb9K8VopDuGgQ8FF1W|kp@eP9%necX|sksya+Kf7^5Te+mux?|ciDRh~ z$@FkyY*;QeCLmK6_^;>*!!Un`x~6BLDwoJ<1J$3Vma2lYZpOFn+I4B(!(l?~atg!UiqH z!69QAd?}8T^d8QqyhQ~iW<~tJ$j27j7%9KV`y@ptu>qtEi&CY!O))P}n$MHNqzo>R zz&=AlS|qd;`#v>ktZHG|1Eahd@yTQlL>7r(rmR_y5oYI7VnQTbP(i?lOD1TPmt63p zN;6*5LGAv#h;~8!1IORFa^CHMP{Lj z))e)Q$K&3C6c#rkpX#R5$kd4+dPzJ{DY@%O;S*+=6o;ZTsKJO6q6qyIfjhc9`c)AJ z_Ke%f76csK`_&}k&`C$=J;Wk*H%_=UItVMJOuCKY>76C#=cN_Q1so1`s3VIFP-5aD z0Oerk#95Jy9E(GEtzPJAy6nvMrY28$7)QUQoPuL3-U-$0h*=kwIcd{@Th=4>;28^< zaj(2Y=@Y5|H|n7jd1&PLXfl0}AK@lWR1Rd%jSlSv_m_lm6?XDT(VxHp1MIoz&9dm( z+g03P6HlG(jrR5R9W~HrD#2NeQgJ52$msKVZ7=!~a-K5m5$z;uqvXoE;|cgD>P;n8 z8S%$y0&v!5u6`Mo!GcrxX2Q(&`_(CKYxGwt8tXp;$czBi3@|l{552k!-6Lor$50NIaKF%$S8Dqc=ES*VuJv z5SeSIQ$w<=5C{7ss_LYw-mAiEnS9k&w2cq&_e%Y2L(fb@PoZIz)UXPHA)v*na^7N# z0?6Ct$8f&1ES|FP@T^^zPL0z^E=K-cBLuuu>m1d;1iwz3<*i3BtZNk&qt zBji^jR2D+q3@0j0OboB#%ZSCv-ed4AmFzVV8+xMGOn8)D5pc4h#p;2>O(5qGsay*F z_t2ai&lsj*5S>!8vOIm7DoX+}nGUXNdhzMmy8fBE{zBavscuca!hBD8ZiZ_woq7IK z7eAHvwXz8=Z)qq8J@)S0MG# z(hi@hRInkGNxe`5y6m?|kfxyr2;2Fo;~nyuSev;E}P>tVm?FMiCiCHI=5EO7kEq4GH|y zwhXK-+X2&HOb?;o!#}?ODCN=vg&9FE?F?`!@kr*R9L9!Ge?)0A;+9-(fL1lsc9iIz^|rmjbpZ1BX6Rkh`A9dmBLG#hc!-L7-i-`du5YntE5h)h0MF6@Ka84iu$_ZX zxy)uW$W#V~vKoW5Gs$A^q@&PV0W!eepQ-NAas!#M%hW?b24b zXkaXIY^R9E0=2XrMc`v5i2yN5kMEE}Xddqw#~PCNY%5dUH8duU6+>g=xuG#^UO6$A z767u4uSA_p*+O(X#{hDV;vjf<)5#Bx0(C>`f{8j_n( zJdXWt_U`$az0iBV)O&xy$2JT#T)t;62t9hQ|8C~Y^${Kj;$bnTP`mPyaCzUn!(DMV zEN5PhYk!w^gI}v@pRJC~RL8#Gan1AUs@GN(sy9j1oAT^_|2?mK8q`K$mkRF8RWDal zIA2})+R8%p2B~^O-f}}rhfd6`*hs%#TmQDJqw`Ls@T>;!P+i_tE2LGel#g;*G-`GS zdgF?7u*LaJ&tS;)iVMEq_6^jy{zW@{*K5iK%e~i^Eg$rFZ`j=kx#4jm zW{i;0k?e_-Fwv?XA=dXV(&&ibLqHqNQHB=sz6RVJlM@8J4e374mBSjqkpsQa0ouR9 z9u6lCvLSo)DBG!Z+jF2VDIU*?k5U@nfxc5`+2a8`8u%|FJ8@tT4jadyG$M%$$4W1* z>a-l)k|(!F~k`x!S==-?4wuZbSqZU>jDS&r-DS7DFsQ=*GcS zF65{b!8To{dUYOr6`G$TI82+$H0c_)7%IhCknJBq*<8QVKIsy4#}zMSYZW7AVvb@x z0Tp7rab^d^p1BjWr!SivP8EX!bOjheLlgm-P9PO>hCrD{+K&)W3_}cueR#*m0lEl= ziBZIpaqH>voQV3_#5!^s;S|dmNyPU^6+PplBx-=ND}hmw+MEqEHo(MI#LrUa>%e3+ zr>`&v@F`G(Y${AF)6W1#fEgpaL{s3uAtw!I=gU{zgf`qmQXqz{QBtIL-suj8-iob~ zVs}fiZF974z7YnHf+0u);rM`}Ut9%2p%TDC0}A5qSt5e(fw(BvGZn((6FYRbW5(Ap zotw^GJ)G~_dhHQ7xL+U5cRp0`?UQ`_^1gj@l|!P?t!V2BFe;% z%d9+vC_3R7*dJxi^dkYAE=6CGdJmsb`1Y@{I&?`jrl7y2YF8IoZ3mssujTa*$R~QdrbrVw(I?61KXU}x5A#6(>&sLfKVHU zwT9FY3~@Hjd!y>OwhnBxf^zCJ1KWJmz@4-Y+m!(><8tU>QEw{Tp4w3cZVxArqC4af zF;T07W4iD+sPUKKD*#_*wn%I$2kqCZ&H3NFIizYCu=W=*nB7Rwi==Al}En1s$&Pfh&p;~ z{^dlcv`qtUZNz=`4F6SKR#RGdVm!1_5U`lEhEBK8LL1i^ZJU9W1|(6;3|qG zb||$HJJn2x@Bt6Nx|VEvbG-EiMQ5usYY?WqCv%wQ_i}pHVB1Q(Pg4Hn=G7e%5O4t{ zL$wUS(nu5UB4-OZ_mU$}yeG&Z;kOu}FmldNQ~wx27t}w{_#{FyIw9kk>FfygTE81y zgVDiZ>V$d>j;F@Ga^7Zi`XcTjV~|D>TbvB6|e zMopo`F(M#rg;dF0^X8LjmzrGXF@C|A8{0lfvzuKgBh`dm#zkFhOIA< n?9HL%O9 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 (3, 10): + from typing import ParamSpec +else: + from typing_extensions import ParamSpec + +if sys.version_info >= (3, 11): + from asyncio import Runner + from typing import TypeVarTuple, Unpack +else: + import contextvars + import enum + import signal + from asyncio import coroutines, events, exceptions, tasks + + from exceptiongroup import BaseExceptionGroup + from typing_extensions import TypeVarTuple, Unpack + + class _State(enum.Enum): + CREATED = "created" + INITIALIZED = "initialized" + CLOSED = "closed" + + class Runner: + # Copied from CPython 3.11 + def __init__( + self, + *, + debug: bool | None = None, + loop_factory: Callable[[], AbstractEventLoop] | None = None, + ): + self._state = _State.CREATED + self._debug = debug + self._loop_factory = loop_factory + self._loop: AbstractEventLoop | None = None + self._context = None + self._interrupt_count = 0 + self._set_event_loop = False + + def __enter__(self) -> Runner: + self._lazy_init() + return self + + def __exit__( + self, + exc_type: type[BaseException], + exc_val: BaseException, + exc_tb: TracebackType, + ) -> None: + self.close() + + def close(self) -> None: + """Shutdown and close event loop.""" + if self._state is not _State.INITIALIZED: + return + try: + loop = self._loop + _cancel_all_tasks(loop) + loop.run_until_complete(loop.shutdown_asyncgens()) + if hasattr(loop, "shutdown_default_executor"): + loop.run_until_complete(loop.shutdown_default_executor()) + else: + loop.run_until_complete(_shutdown_default_executor(loop)) + finally: + if self._set_event_loop: + events.set_event_loop(None) + loop.close() + self._loop = None + self._state = _State.CLOSED + + def get_loop(self) -> AbstractEventLoop: + """Return embedded event loop.""" + self._lazy_init() + return self._loop + + def run(self, coro: Coroutine[T_Retval], *, context=None) -> T_Retval: + """Run a coroutine inside the embedded event loop.""" + if not coroutines.iscoroutine(coro): + raise ValueError(f"a coroutine was expected, got {coro!r}") + + if events._get_running_loop() is not None: + # fail fast with short traceback + raise RuntimeError( + "Runner.run() cannot be called from a running event loop" + ) + + self._lazy_init() + + if context is None: + context = self._context + task = context.run(self._loop.create_task, coro) + + if ( + threading.current_thread() is threading.main_thread() + and signal.getsignal(signal.SIGINT) is signal.default_int_handler + ): + sigint_handler = partial(self._on_sigint, main_task=task) + try: + signal.signal(signal.SIGINT, sigint_handler) + except ValueError: + # `signal.signal` may throw if `threading.main_thread` does + # not support signals (e.g. embedded interpreter with signals + # not registered - see gh-91880) + sigint_handler = None + else: + sigint_handler = None + + self._interrupt_count = 0 + try: + return self._loop.run_until_complete(task) + except exceptions.CancelledError: + if self._interrupt_count > 0: + uncancel = getattr(task, "uncancel", None) + if uncancel is not None and uncancel() == 0: + raise KeyboardInterrupt() + raise # CancelledError + finally: + if ( + sigint_handler is not None + and signal.getsignal(signal.SIGINT) is sigint_handler + ): + signal.signal(signal.SIGINT, signal.default_int_handler) + + def _lazy_init(self) -> None: + if self._state is _State.CLOSED: + raise RuntimeError("Runner is closed") + if self._state is _State.INITIALIZED: + return + if self._loop_factory is None: + self._loop = events.new_event_loop() + if not self._set_event_loop: + # Call set_event_loop only once to avoid calling + # attach_loop multiple times on child watchers + events.set_event_loop(self._loop) + self._set_event_loop = True + else: + self._loop = self._loop_factory() + if self._debug is not None: + self._loop.set_debug(self._debug) + self._context = contextvars.copy_context() + self._state = _State.INITIALIZED + + def _on_sigint(self, signum, frame, main_task: asyncio.Task) -> None: + self._interrupt_count += 1 + if self._interrupt_count == 1 and not main_task.done(): + main_task.cancel() + # wakeup loop if it is blocked by select() with long timeout + self._loop.call_soon_threadsafe(lambda: None) + return + raise KeyboardInterrupt() + + def _cancel_all_tasks(loop: AbstractEventLoop) -> None: + to_cancel = tasks.all_tasks(loop) + if not to_cancel: + return + + for task in to_cancel: + task.cancel() + + loop.run_until_complete(tasks.gather(*to_cancel, return_exceptions=True)) + + for task in to_cancel: + if task.cancelled(): + continue + if task.exception() is not None: + loop.call_exception_handler( + { + "message": "unhandled exception during asyncio.run() shutdown", + "exception": task.exception(), + "task": task, + } + ) + + async def _shutdown_default_executor(loop: AbstractEventLoop) -> None: + """Schedule the shutdown of the default executor.""" + + def _do_shutdown(future: asyncio.futures.Future) -> None: + try: + loop._default_executor.shutdown(wait=True) # type: ignore[attr-defined] + loop.call_soon_threadsafe(future.set_result, None) + except Exception as ex: + loop.call_soon_threadsafe(future.set_exception, ex) + + loop._executor_shutdown_called = True + if loop._default_executor is None: + return + future = loop.create_future() + thread = threading.Thread(target=_do_shutdown, args=(future,)) + thread.start() + try: + await future + finally: + thread.join() + + +T_Retval = TypeVar("T_Retval") +T_contra = TypeVar("T_contra", contravariant=True) +PosArgsT = TypeVarTuple("PosArgsT") +P = ParamSpec("P") + +_root_task: RunVar[asyncio.Task | None] = RunVar("_root_task") + + +def find_root_task() -> asyncio.Task: + root_task = _root_task.get(None) + if root_task is not None and not root_task.done(): + return root_task + + # Look for a task that has been started via run_until_complete() + for task in all_tasks(): + if task._callbacks and not task.done(): + callbacks = [cb for cb, context in task._callbacks] + for cb in callbacks: + if ( + cb is _run_until_complete_cb + or getattr(cb, "__module__", None) == "uvloop.loop" + ): + _root_task.set(task) + return task + + # Look up the topmost task in the AnyIO task tree, if possible + task = cast(asyncio.Task, current_task()) + state = _task_states.get(task) + if state: + cancel_scope = state.cancel_scope + while cancel_scope and cancel_scope._parent_scope is not None: + cancel_scope = cancel_scope._parent_scope + + if cancel_scope is not None: + return cast(asyncio.Task, cancel_scope._host_task) + + return task + + +def get_callable_name(func: Callable) -> str: + module = getattr(func, "__module__", None) + qualname = getattr(func, "__qualname__", None) + return ".".join([x for x in (module, qualname) if x]) + + +# +# Event loop +# + +_run_vars: WeakKeyDictionary[asyncio.AbstractEventLoop, Any] = WeakKeyDictionary() + + +def _task_started(task: asyncio.Task) -> bool: + """Return ``True`` if the task has been started and has not finished.""" + # The task coro should never be None here, as we never add finished tasks to the + # task list + coro = task.get_coro() + assert coro is not None + try: + return getcoroutinestate(coro) in (CORO_RUNNING, CORO_SUSPENDED) + except AttributeError: + # task coro is async_genenerator_asend https://bugs.python.org/issue37771 + raise Exception(f"Cannot determine if task {task} has started or not") from None + + +# +# Timeouts and cancellation +# + + +def is_anyio_cancellation(exc: CancelledError) -> bool: + # Sometimes third party frameworks catch a CancelledError and raise a new one, so as + # a workaround we have to look at the previous ones in __context__ too for a + # matching cancel message + while True: + if ( + exc.args + and isinstance(exc.args[0], str) + and exc.args[0].startswith("Cancelled by cancel scope ") + ): + return True + + if isinstance(exc.__context__, CancelledError): + exc = exc.__context__ + continue + + return False + + +class CancelScope(BaseCancelScope): + def __new__( + cls, *, deadline: float = math.inf, shield: bool = False + ) -> CancelScope: + return object.__new__(cls) + + def __init__(self, deadline: float = math.inf, shield: bool = False): + self._deadline = deadline + self._shield = shield + self._parent_scope: CancelScope | None = None + self._child_scopes: set[CancelScope] = set() + self._cancel_called = False + self._cancelled_caught = False + self._active = False + self._timeout_handle: asyncio.TimerHandle | None = None + self._cancel_handle: asyncio.Handle | None = None + self._tasks: set[asyncio.Task] = set() + self._host_task: asyncio.Task | None = None + if sys.version_info >= (3, 11): + self._pending_uncancellations: int | None = 0 + else: + self._pending_uncancellations = None + + def __enter__(self) -> CancelScope: + if self._active: + raise RuntimeError( + "Each CancelScope may only be used for a single 'with' block" + ) + + self._host_task = host_task = cast(asyncio.Task, current_task()) + self._tasks.add(host_task) + try: + task_state = _task_states[host_task] + except KeyError: + task_state = TaskState(None, self) + _task_states[host_task] = task_state + else: + self._parent_scope = task_state.cancel_scope + task_state.cancel_scope = self + if self._parent_scope is not None: + # If using an eager task factory, the parent scope may not even contain + # the host task + self._parent_scope._child_scopes.add(self) + self._parent_scope._tasks.discard(host_task) + + self._timeout() + self._active = True + + # Start cancelling the host task if the scope was cancelled before entering + if self._cancel_called: + self._deliver_cancellation(self) + + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool: + del exc_tb + + if not self._active: + raise RuntimeError("This cancel scope is not active") + if current_task() is not self._host_task: + raise RuntimeError( + "Attempted to exit cancel scope in a different task than it was " + "entered in" + ) + + assert self._host_task is not None + host_task_state = _task_states.get(self._host_task) + if host_task_state is None or host_task_state.cancel_scope is not self: + raise RuntimeError( + "Attempted to exit a cancel scope that isn't the current tasks's " + "current cancel scope" + ) + + try: + self._active = False + if self._timeout_handle: + self._timeout_handle.cancel() + self._timeout_handle = None + + self._tasks.remove(self._host_task) + if self._parent_scope is not None: + self._parent_scope._child_scopes.remove(self) + self._parent_scope._tasks.add(self._host_task) + + host_task_state.cancel_scope = self._parent_scope + + # Restart the cancellation effort in the closest visible, cancelled parent + # scope if necessary + self._restart_cancellation_in_parent() + + # We only swallow the exception iff it was an AnyIO CancelledError, either + # directly as exc_val or inside an exception group and there are no cancelled + # parent cancel scopes visible to us here + if self._cancel_called and not self._parent_cancellation_is_visible_to_us: + # For each level-cancel() call made on the host task, call uncancel() + while self._pending_uncancellations: + self._host_task.uncancel() + self._pending_uncancellations -= 1 + + # Update cancelled_caught and check for exceptions we must not swallow + cannot_swallow_exc_val = False + if exc_val is not None: + for exc in iterate_exceptions(exc_val): + if isinstance(exc, CancelledError) and is_anyio_cancellation( + exc + ): + self._cancelled_caught = True + else: + cannot_swallow_exc_val = True + + return self._cancelled_caught and not cannot_swallow_exc_val + else: + if self._pending_uncancellations: + assert self._parent_scope is not None + assert self._parent_scope._pending_uncancellations is not None + self._parent_scope._pending_uncancellations += ( + self._pending_uncancellations + ) + self._pending_uncancellations = 0 + + return False + finally: + self._host_task = None + del exc_val + + @property + def _effectively_cancelled(self) -> bool: + cancel_scope: CancelScope | None = self + while cancel_scope is not None: + if cancel_scope._cancel_called: + return True + + if cancel_scope.shield: + return False + + cancel_scope = cancel_scope._parent_scope + + return False + + @property + def _parent_cancellation_is_visible_to_us(self) -> bool: + return ( + self._parent_scope is not None + and not self.shield + and self._parent_scope._effectively_cancelled + ) + + def _timeout(self) -> None: + if self._deadline != math.inf: + loop = get_running_loop() + if loop.time() >= self._deadline: + self.cancel() + else: + self._timeout_handle = loop.call_at(self._deadline, self._timeout) + + def _deliver_cancellation(self, origin: CancelScope) -> bool: + """ + Deliver cancellation to directly contained tasks and nested cancel scopes. + + Schedule another run at the end if we still have tasks eligible for + cancellation. + + :param origin: the cancel scope that originated the cancellation + :return: ``True`` if the delivery needs to be retried on the next cycle + + """ + should_retry = False + current = current_task() + for task in self._tasks: + should_retry = True + if task._must_cancel: # type: ignore[attr-defined] + continue + + # The task is eligible for cancellation if it has started + if task is not current and (task is self._host_task or _task_started(task)): + waiter = task._fut_waiter # type: ignore[attr-defined] + if not isinstance(waiter, asyncio.Future) or not waiter.done(): + task.cancel(f"Cancelled by cancel scope {id(origin):x}") + if ( + task is origin._host_task + and origin._pending_uncancellations is not None + ): + origin._pending_uncancellations += 1 + + # Deliver cancellation to child scopes that aren't shielded or running their own + # cancellation callbacks + for scope in self._child_scopes: + if not scope._shield and not scope.cancel_called: + should_retry = scope._deliver_cancellation(origin) or should_retry + + # Schedule another callback if there are still tasks left + if origin is self: + if should_retry: + self._cancel_handle = get_running_loop().call_soon( + self._deliver_cancellation, origin + ) + else: + self._cancel_handle = None + + return should_retry + + def _restart_cancellation_in_parent(self) -> None: + """ + Restart the cancellation effort in the closest directly cancelled parent scope. + + """ + scope = self._parent_scope + while scope is not None: + if scope._cancel_called: + if scope._cancel_handle is None: + scope._deliver_cancellation(scope) + + break + + # No point in looking beyond any shielded scope + if scope._shield: + break + + scope = scope._parent_scope + + def cancel(self) -> None: + if not self._cancel_called: + if self._timeout_handle: + self._timeout_handle.cancel() + self._timeout_handle = None + + self._cancel_called = True + if self._host_task is not None: + self._deliver_cancellation(self) + + @property + def deadline(self) -> float: + return self._deadline + + @deadline.setter + def deadline(self, value: float) -> None: + self._deadline = float(value) + if self._timeout_handle is not None: + self._timeout_handle.cancel() + self._timeout_handle = None + + if self._active and not self._cancel_called: + self._timeout() + + @property + def cancel_called(self) -> bool: + return self._cancel_called + + @property + def cancelled_caught(self) -> bool: + return self._cancelled_caught + + @property + def shield(self) -> bool: + return self._shield + + @shield.setter + def shield(self, value: bool) -> None: + if self._shield != value: + self._shield = value + if not value: + self._restart_cancellation_in_parent() + + +# +# Task states +# + + +class TaskState: + """ + Encapsulates auxiliary task information that cannot be added to the Task instance + itself because there are no guarantees about its implementation. + """ + + __slots__ = "parent_id", "cancel_scope", "__weakref__" + + def __init__(self, parent_id: int | None, cancel_scope: CancelScope | None): + self.parent_id = parent_id + self.cancel_scope = cancel_scope + + +_task_states: WeakKeyDictionary[asyncio.Task, TaskState] = WeakKeyDictionary() + + +# +# Task groups +# + + +class _AsyncioTaskStatus(abc.TaskStatus): + def __init__(self, future: asyncio.Future, parent_id: int): + self._future = future + self._parent_id = parent_id + + def started(self, value: T_contra | None = None) -> None: + try: + self._future.set_result(value) + except asyncio.InvalidStateError: + if not self._future.cancelled(): + raise RuntimeError( + "called 'started' twice on the same task status" + ) from None + + task = cast(asyncio.Task, current_task()) + _task_states[task].parent_id = self._parent_id + + +if sys.version_info >= (3, 12): + _eager_task_factory_code: CodeType | None = asyncio.eager_task_factory.__code__ +else: + _eager_task_factory_code = None + + +class TaskGroup(abc.TaskGroup): + def __init__(self) -> None: + self.cancel_scope: CancelScope = CancelScope() + self._active = False + self._exceptions: list[BaseException] = [] + self._tasks: set[asyncio.Task] = set() + self._on_completed_fut: asyncio.Future[None] | None = None + + async def __aenter__(self) -> TaskGroup: + self.cancel_scope.__enter__() + self._active = True + return self + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + try: + if exc_val is not None: + self.cancel_scope.cancel() + if not isinstance(exc_val, CancelledError): + self._exceptions.append(exc_val) + + loop = get_running_loop() + try: + if self._tasks: + with CancelScope() as wait_scope: + while self._tasks: + self._on_completed_fut = loop.create_future() + + try: + await self._on_completed_fut + except CancelledError as exc: + # Shield the scope against further cancellation attempts, + # as they're not productive (#695) + wait_scope.shield = True + self.cancel_scope.cancel() + + # Set exc_val from the cancellation exception if it was + # previously unset. However, we should not replace a native + # cancellation exception with one raise by a cancel scope. + if exc_val is None or ( + isinstance(exc_val, CancelledError) + and not is_anyio_cancellation(exc) + ): + exc_val = exc + + self._on_completed_fut = None + else: + # If there are no child tasks to wait on, run at least one checkpoint + # anyway + await AsyncIOBackend.cancel_shielded_checkpoint() + + self._active = False + if self._exceptions: + raise BaseExceptionGroup( + "unhandled errors in a TaskGroup", self._exceptions + ) + elif exc_val: + raise exc_val + except BaseException as exc: + if self.cancel_scope.__exit__(type(exc), exc, exc.__traceback__): + return True + + raise + + return self.cancel_scope.__exit__(exc_type, exc_val, exc_tb) + finally: + del exc_val, exc_tb, self._exceptions + + def _spawn( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[Any]], + args: tuple[Unpack[PosArgsT]], + name: object, + task_status_future: asyncio.Future | None = None, + ) -> asyncio.Task: + def task_done(_task: asyncio.Task) -> None: + task_state = _task_states[_task] + assert task_state.cancel_scope is not None + assert _task in task_state.cancel_scope._tasks + task_state.cancel_scope._tasks.remove(_task) + self._tasks.remove(task) + del _task_states[_task] + + if self._on_completed_fut is not None and not self._tasks: + try: + self._on_completed_fut.set_result(None) + except asyncio.InvalidStateError: + pass + + try: + exc = _task.exception() + except CancelledError as e: + while isinstance(e.__context__, CancelledError): + e = e.__context__ + + exc = e + + if exc is not None: + # The future can only be in the cancelled state if the host task was + # cancelled, so return immediately instead of adding one more + # CancelledError to the exceptions list + if task_status_future is not None and task_status_future.cancelled(): + return + + if task_status_future is None or task_status_future.done(): + if not isinstance(exc, CancelledError): + self._exceptions.append(exc) + + if not self.cancel_scope._effectively_cancelled: + self.cancel_scope.cancel() + else: + task_status_future.set_exception(exc) + elif task_status_future is not None and not task_status_future.done(): + task_status_future.set_exception( + RuntimeError("Child exited without calling task_status.started()") + ) + + if not self._active: + raise RuntimeError( + "This task group is not active; no new tasks can be started." + ) + + kwargs = {} + if task_status_future: + parent_id = id(current_task()) + kwargs["task_status"] = _AsyncioTaskStatus( + task_status_future, id(self.cancel_scope._host_task) + ) + else: + parent_id = id(self.cancel_scope._host_task) + + coro = func(*args, **kwargs) + if not iscoroutine(coro): + prefix = f"{func.__module__}." if hasattr(func, "__module__") else "" + raise TypeError( + f"Expected {prefix}{func.__qualname__}() to return a coroutine, but " + f"the return value ({coro!r}) is not a coroutine object" + ) + + name = get_callable_name(func) if name is None else str(name) + loop = asyncio.get_running_loop() + if ( + (factory := loop.get_task_factory()) + and getattr(factory, "__code__", None) is _eager_task_factory_code + and (closure := getattr(factory, "__closure__", None)) + ): + custom_task_constructor = closure[0].cell_contents + task = custom_task_constructor(coro, loop=loop, name=name) + else: + task = create_task(coro, name=name) + + # Make the spawned task inherit the task group's cancel scope + _task_states[task] = TaskState( + parent_id=parent_id, cancel_scope=self.cancel_scope + ) + self.cancel_scope._tasks.add(task) + self._tasks.add(task) + task.add_done_callback(task_done) + return task + + def start_soon( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[Any]], + *args: Unpack[PosArgsT], + name: object = None, + ) -> None: + self._spawn(func, args, name) + + async def start( + self, func: Callable[..., Awaitable[Any]], *args: object, name: object = None + ) -> Any: + future: asyncio.Future = asyncio.Future() + task = self._spawn(func, args, name, future) + + # If the task raises an exception after sending a start value without a switch + # point between, the task group is cancelled and this method never proceeds to + # process the completed future. That's why we have to have a shielded cancel + # scope here. + try: + return await future + except CancelledError: + # Cancel the task and wait for it to exit before returning + task.cancel() + with CancelScope(shield=True), suppress(CancelledError): + await task + + raise + + +# +# Threads +# + +_Retval_Queue_Type = tuple[Optional[T_Retval], Optional[BaseException]] + + +class WorkerThread(Thread): + MAX_IDLE_TIME = 10 # seconds + + def __init__( + self, + root_task: asyncio.Task, + workers: set[WorkerThread], + idle_workers: deque[WorkerThread], + ): + super().__init__(name="AnyIO worker thread") + self.root_task = root_task + self.workers = workers + self.idle_workers = idle_workers + self.loop = root_task._loop + self.queue: Queue[ + tuple[Context, Callable, tuple, asyncio.Future, CancelScope] | None + ] = Queue(2) + self.idle_since = AsyncIOBackend.current_time() + self.stopping = False + + def _report_result( + self, future: asyncio.Future, result: Any, exc: BaseException | None + ) -> None: + self.idle_since = AsyncIOBackend.current_time() + if not self.stopping: + self.idle_workers.append(self) + + if not future.cancelled(): + if exc is not None: + if isinstance(exc, StopIteration): + new_exc = RuntimeError("coroutine raised StopIteration") + new_exc.__cause__ = exc + exc = new_exc + + future.set_exception(exc) + else: + future.set_result(result) + + def run(self) -> None: + with claim_worker_thread(AsyncIOBackend, self.loop): + while True: + item = self.queue.get() + if item is None: + # Shutdown command received + return + + context, func, args, future, cancel_scope = item + if not future.cancelled(): + result = None + exception: BaseException | None = None + threadlocals.current_cancel_scope = cancel_scope + try: + result = context.run(func, *args) + except BaseException as exc: + exception = exc + finally: + del threadlocals.current_cancel_scope + + if not self.loop.is_closed(): + self.loop.call_soon_threadsafe( + self._report_result, future, result, exception + ) + + self.queue.task_done() + + def stop(self, f: asyncio.Task | None = None) -> None: + self.stopping = True + self.queue.put_nowait(None) + self.workers.discard(self) + try: + self.idle_workers.remove(self) + except ValueError: + pass + + +_threadpool_idle_workers: RunVar[deque[WorkerThread]] = RunVar( + "_threadpool_idle_workers" +) +_threadpool_workers: RunVar[set[WorkerThread]] = RunVar("_threadpool_workers") + + +class BlockingPortal(abc.BlockingPortal): + def __new__(cls) -> BlockingPortal: + return object.__new__(cls) + + def __init__(self) -> None: + super().__init__() + self._loop = get_running_loop() + + def _spawn_task_from_thread( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + name: object, + future: Future[T_Retval], + ) -> None: + AsyncIOBackend.run_sync_from_thread( + partial(self._task_group.start_soon, name=name), + (self._call_func, func, args, kwargs, future), + self._loop, + ) + + +# +# Subprocesses +# + + +@dataclass(eq=False) +class StreamReaderWrapper(abc.ByteReceiveStream): + _stream: asyncio.StreamReader + + async def receive(self, max_bytes: int = 65536) -> bytes: + data = await self._stream.read(max_bytes) + if data: + return data + else: + raise EndOfStream + + async def aclose(self) -> None: + self._stream.set_exception(ClosedResourceError()) + await AsyncIOBackend.checkpoint() + + +@dataclass(eq=False) +class StreamWriterWrapper(abc.ByteSendStream): + _stream: asyncio.StreamWriter + + async def send(self, item: bytes) -> None: + self._stream.write(item) + await self._stream.drain() + + async def aclose(self) -> None: + self._stream.close() + await AsyncIOBackend.checkpoint() + + +@dataclass(eq=False) +class Process(abc.Process): + _process: asyncio.subprocess.Process + _stdin: StreamWriterWrapper | None + _stdout: StreamReaderWrapper | None + _stderr: StreamReaderWrapper | None + + async def aclose(self) -> None: + with CancelScope(shield=True) as scope: + if self._stdin: + await self._stdin.aclose() + if self._stdout: + await self._stdout.aclose() + if self._stderr: + await self._stderr.aclose() + + scope.shield = False + try: + await self.wait() + except BaseException: + scope.shield = True + self.kill() + await self.wait() + raise + + async def wait(self) -> int: + return await self._process.wait() + + def terminate(self) -> None: + self._process.terminate() + + def kill(self) -> None: + self._process.kill() + + def send_signal(self, signal: int) -> None: + self._process.send_signal(signal) + + @property + def pid(self) -> int: + return self._process.pid + + @property + def returncode(self) -> int | None: + return self._process.returncode + + @property + def stdin(self) -> abc.ByteSendStream | None: + return self._stdin + + @property + def stdout(self) -> abc.ByteReceiveStream | None: + return self._stdout + + @property + def stderr(self) -> abc.ByteReceiveStream | None: + return self._stderr + + +def _forcibly_shutdown_process_pool_on_exit( + workers: set[Process], _task: object +) -> None: + """ + Forcibly shuts down worker processes belonging to this event loop.""" + child_watcher: asyncio.AbstractChildWatcher | None = None + if sys.version_info < (3, 12): + try: + child_watcher = asyncio.get_event_loop_policy().get_child_watcher() + except NotImplementedError: + pass + + # Close as much as possible (w/o async/await) to avoid warnings + for process in workers: + if process.returncode is None: + continue + + process._stdin._stream._transport.close() # type: ignore[union-attr] + process._stdout._stream._transport.close() # type: ignore[union-attr] + process._stderr._stream._transport.close() # type: ignore[union-attr] + process.kill() + if child_watcher: + child_watcher.remove_child_handler(process.pid) + + +async def _shutdown_process_pool_on_exit(workers: set[abc.Process]) -> None: + """ + Shuts down worker processes belonging to this event loop. + + NOTE: this only works when the event loop was started using asyncio.run() or + anyio.run(). + + """ + process: abc.Process + try: + await sleep(math.inf) + except asyncio.CancelledError: + for process in workers: + if process.returncode is None: + process.kill() + + for process in workers: + await process.aclose() + + +# +# Sockets and networking +# + + +class StreamProtocol(asyncio.Protocol): + read_queue: deque[bytes] + read_event: asyncio.Event + write_event: asyncio.Event + exception: Exception | None = None + is_at_eof: bool = False + + def connection_made(self, transport: asyncio.BaseTransport) -> None: + self.read_queue = deque() + self.read_event = asyncio.Event() + self.write_event = asyncio.Event() + self.write_event.set() + cast(asyncio.Transport, transport).set_write_buffer_limits(0) + + def connection_lost(self, exc: Exception | None) -> None: + if exc: + self.exception = BrokenResourceError() + self.exception.__cause__ = exc + + self.read_event.set() + self.write_event.set() + + def data_received(self, data: bytes) -> None: + # ProactorEventloop sometimes sends bytearray instead of bytes + self.read_queue.append(bytes(data)) + self.read_event.set() + + def eof_received(self) -> bool | None: + self.is_at_eof = True + self.read_event.set() + return True + + def pause_writing(self) -> None: + self.write_event = asyncio.Event() + + def resume_writing(self) -> None: + self.write_event.set() + + +class DatagramProtocol(asyncio.DatagramProtocol): + read_queue: deque[tuple[bytes, IPSockAddrType]] + read_event: asyncio.Event + write_event: asyncio.Event + exception: Exception | None = None + + def connection_made(self, transport: asyncio.BaseTransport) -> None: + self.read_queue = deque(maxlen=100) # arbitrary value + self.read_event = asyncio.Event() + self.write_event = asyncio.Event() + self.write_event.set() + + def connection_lost(self, exc: Exception | None) -> None: + self.read_event.set() + self.write_event.set() + + def datagram_received(self, data: bytes, addr: IPSockAddrType) -> None: + addr = convert_ipv6_sockaddr(addr) + self.read_queue.append((data, addr)) + self.read_event.set() + + def error_received(self, exc: Exception) -> None: + self.exception = exc + + def pause_writing(self) -> None: + self.write_event.clear() + + def resume_writing(self) -> None: + self.write_event.set() + + +class SocketStream(abc.SocketStream): + def __init__(self, transport: asyncio.Transport, protocol: StreamProtocol): + self._transport = transport + self._protocol = protocol + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + self._closed = False + + @property + def _raw_socket(self) -> socket.socket: + return self._transport.get_extra_info("socket") + + async def receive(self, max_bytes: int = 65536) -> bytes: + with self._receive_guard: + if ( + not self._protocol.read_event.is_set() + and not self._transport.is_closing() + and not self._protocol.is_at_eof + ): + self._transport.resume_reading() + await self._protocol.read_event.wait() + self._transport.pause_reading() + else: + await AsyncIOBackend.checkpoint() + + try: + chunk = self._protocol.read_queue.popleft() + except IndexError: + if self._closed: + raise ClosedResourceError from None + elif self._protocol.exception: + raise self._protocol.exception from None + else: + raise EndOfStream from None + + if len(chunk) > max_bytes: + # Split the oversized chunk + chunk, leftover = chunk[:max_bytes], chunk[max_bytes:] + self._protocol.read_queue.appendleft(leftover) + + # If the read queue is empty, clear the flag so that the next call will + # block until data is available + if not self._protocol.read_queue: + self._protocol.read_event.clear() + + return chunk + + async def send(self, item: bytes) -> None: + with self._send_guard: + await AsyncIOBackend.checkpoint() + + if self._closed: + raise ClosedResourceError + elif self._protocol.exception is not None: + raise self._protocol.exception + + try: + self._transport.write(item) + except RuntimeError as exc: + if self._transport.is_closing(): + raise BrokenResourceError from exc + else: + raise + + await self._protocol.write_event.wait() + + async def send_eof(self) -> None: + try: + self._transport.write_eof() + except OSError: + pass + + async def aclose(self) -> None: + if not self._transport.is_closing(): + self._closed = True + try: + self._transport.write_eof() + except OSError: + pass + + self._transport.close() + await sleep(0) + self._transport.abort() + + +class _RawSocketMixin: + _receive_future: asyncio.Future | None = None + _send_future: asyncio.Future | None = None + _closing = False + + def __init__(self, raw_socket: socket.socket): + self.__raw_socket = raw_socket + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + + @property + def _raw_socket(self) -> socket.socket: + return self.__raw_socket + + def _wait_until_readable(self, loop: asyncio.AbstractEventLoop) -> asyncio.Future: + def callback(f: object) -> None: + del self._receive_future + loop.remove_reader(self.__raw_socket) + + f = self._receive_future = asyncio.Future() + loop.add_reader(self.__raw_socket, f.set_result, None) + f.add_done_callback(callback) + return f + + def _wait_until_writable(self, loop: asyncio.AbstractEventLoop) -> asyncio.Future: + def callback(f: object) -> None: + del self._send_future + loop.remove_writer(self.__raw_socket) + + f = self._send_future = asyncio.Future() + loop.add_writer(self.__raw_socket, f.set_result, None) + f.add_done_callback(callback) + return f + + async def aclose(self) -> None: + if not self._closing: + self._closing = True + if self.__raw_socket.fileno() != -1: + self.__raw_socket.close() + + if self._receive_future: + self._receive_future.set_result(None) + if self._send_future: + self._send_future.set_result(None) + + +class UNIXSocketStream(_RawSocketMixin, abc.UNIXSocketStream): + async def send_eof(self) -> None: + with self._send_guard: + self._raw_socket.shutdown(socket.SHUT_WR) + + async def receive(self, max_bytes: int = 65536) -> bytes: + loop = get_running_loop() + await AsyncIOBackend.checkpoint() + with self._receive_guard: + while True: + try: + data = self._raw_socket.recv(max_bytes) + except BlockingIOError: + await self._wait_until_readable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + if not data: + raise EndOfStream + + return data + + async def send(self, item: bytes) -> None: + loop = get_running_loop() + await AsyncIOBackend.checkpoint() + with self._send_guard: + view = memoryview(item) + while view: + try: + bytes_sent = self._raw_socket.send(view) + except BlockingIOError: + await self._wait_until_writable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + view = view[bytes_sent:] + + async def receive_fds(self, msglen: int, maxfds: int) -> tuple[bytes, list[int]]: + if not isinstance(msglen, int) or msglen < 0: + raise ValueError("msglen must be a non-negative integer") + if not isinstance(maxfds, int) or maxfds < 1: + raise ValueError("maxfds must be a positive integer") + + loop = get_running_loop() + fds = array.array("i") + await AsyncIOBackend.checkpoint() + with self._receive_guard: + while True: + try: + message, ancdata, flags, addr = self._raw_socket.recvmsg( + msglen, socket.CMSG_LEN(maxfds * fds.itemsize) + ) + except BlockingIOError: + await self._wait_until_readable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + if not message and not ancdata: + raise EndOfStream + + break + + for cmsg_level, cmsg_type, cmsg_data in ancdata: + if cmsg_level != socket.SOL_SOCKET or cmsg_type != socket.SCM_RIGHTS: + raise RuntimeError( + f"Received unexpected ancillary data; message = {message!r}, " + f"cmsg_level = {cmsg_level}, cmsg_type = {cmsg_type}" + ) + + fds.frombytes(cmsg_data[: len(cmsg_data) - (len(cmsg_data) % fds.itemsize)]) + + return message, list(fds) + + async def send_fds(self, message: bytes, fds: Collection[int | IOBase]) -> None: + if not message: + raise ValueError("message must not be empty") + if not fds: + raise ValueError("fds must not be empty") + + loop = get_running_loop() + filenos: list[int] = [] + for fd in fds: + if isinstance(fd, int): + filenos.append(fd) + elif isinstance(fd, IOBase): + filenos.append(fd.fileno()) + + fdarray = array.array("i", filenos) + await AsyncIOBackend.checkpoint() + with self._send_guard: + while True: + try: + # The ignore can be removed after mypy picks up + # https://github.com/python/typeshed/pull/5545 + self._raw_socket.sendmsg( + [message], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fdarray)] + ) + break + except BlockingIOError: + await self._wait_until_writable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + + +class TCPSocketListener(abc.SocketListener): + _accept_scope: CancelScope | None = None + _closed = False + + def __init__(self, raw_socket: socket.socket): + self.__raw_socket = raw_socket + self._loop = cast(asyncio.BaseEventLoop, get_running_loop()) + self._accept_guard = ResourceGuard("accepting connections from") + + @property + def _raw_socket(self) -> socket.socket: + return self.__raw_socket + + async def accept(self) -> abc.SocketStream: + if self._closed: + raise ClosedResourceError + + with self._accept_guard: + await AsyncIOBackend.checkpoint() + with CancelScope() as self._accept_scope: + try: + client_sock, _addr = await self._loop.sock_accept(self._raw_socket) + except asyncio.CancelledError: + # Workaround for https://bugs.python.org/issue41317 + try: + self._loop.remove_reader(self._raw_socket) + except (ValueError, NotImplementedError): + pass + + if self._closed: + raise ClosedResourceError from None + + raise + finally: + self._accept_scope = None + + client_sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + transport, protocol = await self._loop.connect_accepted_socket( + StreamProtocol, client_sock + ) + return SocketStream(transport, protocol) + + async def aclose(self) -> None: + if self._closed: + return + + self._closed = True + if self._accept_scope: + # Workaround for https://bugs.python.org/issue41317 + try: + self._loop.remove_reader(self._raw_socket) + except (ValueError, NotImplementedError): + pass + + self._accept_scope.cancel() + await sleep(0) + + self._raw_socket.close() + + +class UNIXSocketListener(abc.SocketListener): + def __init__(self, raw_socket: socket.socket): + self.__raw_socket = raw_socket + self._loop = get_running_loop() + self._accept_guard = ResourceGuard("accepting connections from") + self._closed = False + + async def accept(self) -> abc.SocketStream: + await AsyncIOBackend.checkpoint() + with self._accept_guard: + while True: + try: + client_sock, _ = self.__raw_socket.accept() + client_sock.setblocking(False) + return UNIXSocketStream(client_sock) + except BlockingIOError: + f: asyncio.Future = asyncio.Future() + self._loop.add_reader(self.__raw_socket, f.set_result, None) + f.add_done_callback( + lambda _: self._loop.remove_reader(self.__raw_socket) + ) + await f + except OSError as exc: + if self._closed: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + + async def aclose(self) -> None: + self._closed = True + self.__raw_socket.close() + + @property + def _raw_socket(self) -> socket.socket: + return self.__raw_socket + + +class UDPSocket(abc.UDPSocket): + def __init__( + self, transport: asyncio.DatagramTransport, protocol: DatagramProtocol + ): + self._transport = transport + self._protocol = protocol + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + self._closed = False + + @property + def _raw_socket(self) -> socket.socket: + return self._transport.get_extra_info("socket") + + async def aclose(self) -> None: + if not self._transport.is_closing(): + self._closed = True + self._transport.close() + + async def receive(self) -> tuple[bytes, IPSockAddrType]: + with self._receive_guard: + await AsyncIOBackend.checkpoint() + + # If the buffer is empty, ask for more data + if not self._protocol.read_queue and not self._transport.is_closing(): + self._protocol.read_event.clear() + await self._protocol.read_event.wait() + + try: + return self._protocol.read_queue.popleft() + except IndexError: + if self._closed: + raise ClosedResourceError from None + else: + raise BrokenResourceError from None + + async def send(self, item: UDPPacketType) -> None: + with self._send_guard: + await AsyncIOBackend.checkpoint() + await self._protocol.write_event.wait() + if self._closed: + raise ClosedResourceError + elif self._transport.is_closing(): + raise BrokenResourceError + else: + self._transport.sendto(*item) + + +class ConnectedUDPSocket(abc.ConnectedUDPSocket): + def __init__( + self, transport: asyncio.DatagramTransport, protocol: DatagramProtocol + ): + self._transport = transport + self._protocol = protocol + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + self._closed = False + + @property + def _raw_socket(self) -> socket.socket: + return self._transport.get_extra_info("socket") + + async def aclose(self) -> None: + if not self._transport.is_closing(): + self._closed = True + self._transport.close() + + async def receive(self) -> bytes: + with self._receive_guard: + await AsyncIOBackend.checkpoint() + + # If the buffer is empty, ask for more data + if not self._protocol.read_queue and not self._transport.is_closing(): + self._protocol.read_event.clear() + await self._protocol.read_event.wait() + + try: + packet = self._protocol.read_queue.popleft() + except IndexError: + if self._closed: + raise ClosedResourceError from None + else: + raise BrokenResourceError from None + + return packet[0] + + async def send(self, item: bytes) -> None: + with self._send_guard: + await AsyncIOBackend.checkpoint() + await self._protocol.write_event.wait() + if self._closed: + raise ClosedResourceError + elif self._transport.is_closing(): + raise BrokenResourceError + else: + self._transport.sendto(item) + + +class UNIXDatagramSocket(_RawSocketMixin, abc.UNIXDatagramSocket): + async def receive(self) -> UNIXDatagramPacketType: + loop = get_running_loop() + await AsyncIOBackend.checkpoint() + with self._receive_guard: + while True: + try: + data = self._raw_socket.recvfrom(65536) + except BlockingIOError: + await self._wait_until_readable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + return data + + async def send(self, item: UNIXDatagramPacketType) -> None: + loop = get_running_loop() + await AsyncIOBackend.checkpoint() + with self._send_guard: + while True: + try: + self._raw_socket.sendto(*item) + except BlockingIOError: + await self._wait_until_writable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + return + + +class ConnectedUNIXDatagramSocket(_RawSocketMixin, abc.ConnectedUNIXDatagramSocket): + async def receive(self) -> bytes: + loop = get_running_loop() + await AsyncIOBackend.checkpoint() + with self._receive_guard: + while True: + try: + data = self._raw_socket.recv(65536) + except BlockingIOError: + await self._wait_until_readable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + return data + + async def send(self, item: bytes) -> None: + loop = get_running_loop() + await AsyncIOBackend.checkpoint() + with self._send_guard: + while True: + try: + self._raw_socket.send(item) + except BlockingIOError: + await self._wait_until_writable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + return + + +_read_events: RunVar[dict[int, asyncio.Event]] = RunVar("read_events") +_write_events: RunVar[dict[int, asyncio.Event]] = RunVar("write_events") + + +# +# Synchronization +# + + +class Event(BaseEvent): + def __new__(cls) -> Event: + return object.__new__(cls) + + def __init__(self) -> None: + self._event = asyncio.Event() + + def set(self) -> None: + self._event.set() + + def is_set(self) -> bool: + return self._event.is_set() + + async def wait(self) -> None: + if self.is_set(): + await AsyncIOBackend.checkpoint() + else: + await self._event.wait() + + def statistics(self) -> EventStatistics: + return EventStatistics(len(self._event._waiters)) + + +class Lock(BaseLock): + def __new__(cls, *, fast_acquire: bool = False) -> Lock: + return object.__new__(cls) + + def __init__(self, *, fast_acquire: bool = False) -> None: + self._fast_acquire = fast_acquire + self._owner_task: asyncio.Task | None = None + self._waiters: deque[tuple[asyncio.Task, asyncio.Future]] = deque() + + async def acquire(self) -> None: + task = cast(asyncio.Task, current_task()) + if self._owner_task is None and not self._waiters: + await AsyncIOBackend.checkpoint_if_cancelled() + self._owner_task = task + + # Unless on the "fast path", yield control of the event loop so that other + # tasks can run too + if not self._fast_acquire: + try: + await AsyncIOBackend.cancel_shielded_checkpoint() + except CancelledError: + self.release() + raise + + return + + if self._owner_task == task: + raise RuntimeError("Attempted to acquire an already held Lock") + + fut: asyncio.Future[None] = asyncio.Future() + item = task, fut + self._waiters.append(item) + try: + await fut + except CancelledError: + self._waiters.remove(item) + if self._owner_task is task: + self.release() + + raise + + self._waiters.remove(item) + + def acquire_nowait(self) -> None: + task = cast(asyncio.Task, current_task()) + if self._owner_task is None and not self._waiters: + self._owner_task = task + return + + if self._owner_task is task: + raise RuntimeError("Attempted to acquire an already held Lock") + + raise WouldBlock + + def locked(self) -> bool: + return self._owner_task is not None + + def release(self) -> None: + if self._owner_task != current_task(): + raise RuntimeError("The current task is not holding this lock") + + for task, fut in self._waiters: + if not fut.cancelled(): + self._owner_task = task + fut.set_result(None) + return + + self._owner_task = None + + def statistics(self) -> LockStatistics: + task_info = AsyncIOTaskInfo(self._owner_task) if self._owner_task else None + return LockStatistics(self.locked(), task_info, len(self._waiters)) + + +class Semaphore(BaseSemaphore): + def __new__( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> Semaphore: + return object.__new__(cls) + + def __init__( + self, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ): + super().__init__(initial_value, max_value=max_value) + self._value = initial_value + self._max_value = max_value + self._fast_acquire = fast_acquire + self._waiters: deque[asyncio.Future[None]] = deque() + + async def acquire(self) -> None: + if self._value > 0 and not self._waiters: + await AsyncIOBackend.checkpoint_if_cancelled() + self._value -= 1 + + # Unless on the "fast path", yield control of the event loop so that other + # tasks can run too + if not self._fast_acquire: + try: + await AsyncIOBackend.cancel_shielded_checkpoint() + except CancelledError: + self.release() + raise + + return + + fut: asyncio.Future[None] = asyncio.Future() + self._waiters.append(fut) + try: + await fut + except CancelledError: + try: + self._waiters.remove(fut) + except ValueError: + self.release() + + raise + + def acquire_nowait(self) -> None: + if self._value == 0: + raise WouldBlock + + self._value -= 1 + + def release(self) -> None: + if self._max_value is not None and self._value == self._max_value: + raise ValueError("semaphore released too many times") + + for fut in self._waiters: + if not fut.cancelled(): + fut.set_result(None) + self._waiters.remove(fut) + return + + self._value += 1 + + @property + def value(self) -> int: + return self._value + + @property + def max_value(self) -> int | None: + return self._max_value + + def statistics(self) -> SemaphoreStatistics: + return SemaphoreStatistics(len(self._waiters)) + + +class CapacityLimiter(BaseCapacityLimiter): + _total_tokens: float = 0 + + def __new__(cls, total_tokens: float) -> CapacityLimiter: + return object.__new__(cls) + + def __init__(self, total_tokens: float): + self._borrowers: set[Any] = set() + self._wait_queue: OrderedDict[Any, asyncio.Event] = OrderedDict() + self.total_tokens = total_tokens + + async def __aenter__(self) -> None: + await self.acquire() + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self.release() + + @property + def total_tokens(self) -> float: + return self._total_tokens + + @total_tokens.setter + def total_tokens(self, value: float) -> None: + if not isinstance(value, int) and not math.isinf(value): + raise TypeError("total_tokens must be an int or math.inf") + if value < 1: + raise ValueError("total_tokens must be >= 1") + + waiters_to_notify = max(value - self._total_tokens, 0) + self._total_tokens = value + + # Notify waiting tasks that they have acquired the limiter + while self._wait_queue and waiters_to_notify: + event = self._wait_queue.popitem(last=False)[1] + event.set() + waiters_to_notify -= 1 + + @property + def borrowed_tokens(self) -> int: + return len(self._borrowers) + + @property + def available_tokens(self) -> float: + return self._total_tokens - len(self._borrowers) + + def acquire_nowait(self) -> None: + self.acquire_on_behalf_of_nowait(current_task()) + + def acquire_on_behalf_of_nowait(self, borrower: object) -> None: + if borrower in self._borrowers: + raise RuntimeError( + "this borrower is already holding one of this CapacityLimiter's " + "tokens" + ) + + if self._wait_queue or len(self._borrowers) >= self._total_tokens: + raise WouldBlock + + self._borrowers.add(borrower) + + async def acquire(self) -> None: + return await self.acquire_on_behalf_of(current_task()) + + async def acquire_on_behalf_of(self, borrower: object) -> None: + await AsyncIOBackend.checkpoint_if_cancelled() + try: + self.acquire_on_behalf_of_nowait(borrower) + except WouldBlock: + event = asyncio.Event() + self._wait_queue[borrower] = event + try: + await event.wait() + except BaseException: + self._wait_queue.pop(borrower, None) + raise + + self._borrowers.add(borrower) + else: + try: + await AsyncIOBackend.cancel_shielded_checkpoint() + except BaseException: + self.release() + raise + + def release(self) -> None: + self.release_on_behalf_of(current_task()) + + def release_on_behalf_of(self, borrower: object) -> None: + try: + self._borrowers.remove(borrower) + except KeyError: + raise RuntimeError( + "this borrower isn't holding any of this CapacityLimiter's tokens" + ) from None + + # Notify the next task in line if this limiter has free capacity now + if self._wait_queue and len(self._borrowers) < self._total_tokens: + event = self._wait_queue.popitem(last=False)[1] + event.set() + + def statistics(self) -> CapacityLimiterStatistics: + return CapacityLimiterStatistics( + self.borrowed_tokens, + self.total_tokens, + tuple(self._borrowers), + len(self._wait_queue), + ) + + +_default_thread_limiter: RunVar[CapacityLimiter] = RunVar("_default_thread_limiter") + + +# +# Operating system signals +# + + +class _SignalReceiver: + def __init__(self, signals: tuple[Signals, ...]): + self._signals = signals + self._loop = get_running_loop() + self._signal_queue: deque[Signals] = deque() + self._future: asyncio.Future = asyncio.Future() + self._handled_signals: set[Signals] = set() + + def _deliver(self, signum: Signals) -> None: + self._signal_queue.append(signum) + if not self._future.done(): + self._future.set_result(None) + + def __enter__(self) -> _SignalReceiver: + for sig in set(self._signals): + self._loop.add_signal_handler(sig, self._deliver, sig) + self._handled_signals.add(sig) + + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + for sig in self._handled_signals: + self._loop.remove_signal_handler(sig) + + def __aiter__(self) -> _SignalReceiver: + return self + + async def __anext__(self) -> Signals: + await AsyncIOBackend.checkpoint() + if not self._signal_queue: + self._future = asyncio.Future() + await self._future + + return self._signal_queue.popleft() + + +# +# Testing and debugging +# + + +class AsyncIOTaskInfo(TaskInfo): + def __init__(self, task: asyncio.Task): + task_state = _task_states.get(task) + if task_state is None: + parent_id = None + else: + parent_id = task_state.parent_id + + coro = task.get_coro() + assert coro is not None, "created TaskInfo from a completed Task" + super().__init__(id(task), parent_id, task.get_name(), coro) + self._task = weakref.ref(task) + + def has_pending_cancellation(self) -> bool: + if not (task := self._task()): + # If the task isn't around anymore, it won't have a pending cancellation + return False + + if task._must_cancel: # type: ignore[attr-defined] + return True + elif ( + isinstance(task._fut_waiter, asyncio.Future) # type: ignore[attr-defined] + and task._fut_waiter.cancelled() # type: ignore[attr-defined] + ): + return True + + if task_state := _task_states.get(task): + if cancel_scope := task_state.cancel_scope: + return cancel_scope._effectively_cancelled + + return False + + +class TestRunner(abc.TestRunner): + _send_stream: MemoryObjectSendStream[tuple[Awaitable[Any], asyncio.Future[Any]]] + + def __init__( + self, + *, + debug: bool | None = None, + use_uvloop: bool = False, + loop_factory: Callable[[], AbstractEventLoop] | None = None, + ) -> None: + if use_uvloop and loop_factory is None: + import uvloop + + loop_factory = uvloop.new_event_loop + + self._runner = Runner(debug=debug, loop_factory=loop_factory) + self._exceptions: list[BaseException] = [] + self._runner_task: asyncio.Task | None = None + + def __enter__(self) -> TestRunner: + self._runner.__enter__() + self.get_loop().set_exception_handler(self._exception_handler) + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self._runner.__exit__(exc_type, exc_val, exc_tb) + + def get_loop(self) -> AbstractEventLoop: + return self._runner.get_loop() + + def _exception_handler( + self, loop: asyncio.AbstractEventLoop, context: dict[str, Any] + ) -> None: + if isinstance(context.get("exception"), Exception): + self._exceptions.append(context["exception"]) + else: + loop.default_exception_handler(context) + + def _raise_async_exceptions(self) -> None: + # Re-raise any exceptions raised in asynchronous callbacks + if self._exceptions: + exceptions, self._exceptions = self._exceptions, [] + if len(exceptions) == 1: + raise exceptions[0] + elif exceptions: + raise BaseExceptionGroup( + "Multiple exceptions occurred in asynchronous callbacks", exceptions + ) + + async def _run_tests_and_fixtures( + self, + receive_stream: MemoryObjectReceiveStream[ + tuple[Awaitable[T_Retval], asyncio.Future[T_Retval]] + ], + ) -> None: + from _pytest.outcomes import OutcomeException + + with receive_stream, self._send_stream: + async for coro, future in receive_stream: + try: + retval = await coro + except CancelledError as exc: + if not future.cancelled(): + future.cancel(*exc.args) + + raise + except BaseException as exc: + if not future.cancelled(): + future.set_exception(exc) + + if not isinstance(exc, (Exception, OutcomeException)): + raise + else: + if not future.cancelled(): + future.set_result(retval) + + async def _call_in_runner_task( + self, + func: Callable[P, Awaitable[T_Retval]], + *args: P.args, + **kwargs: P.kwargs, + ) -> T_Retval: + if not self._runner_task: + self._send_stream, receive_stream = create_memory_object_stream[ + tuple[Awaitable[Any], asyncio.Future] + ](1) + self._runner_task = self.get_loop().create_task( + self._run_tests_and_fixtures(receive_stream) + ) + + coro = func(*args, **kwargs) + future: asyncio.Future[T_Retval] = self.get_loop().create_future() + self._send_stream.send_nowait((coro, future)) + return await future + + def run_asyncgen_fixture( + self, + fixture_func: Callable[..., AsyncGenerator[T_Retval, Any]], + kwargs: dict[str, Any], + ) -> Iterable[T_Retval]: + asyncgen = fixture_func(**kwargs) + fixturevalue: T_Retval = self.get_loop().run_until_complete( + self._call_in_runner_task(asyncgen.asend, None) + ) + self._raise_async_exceptions() + + yield fixturevalue + + try: + self.get_loop().run_until_complete( + self._call_in_runner_task(asyncgen.asend, None) + ) + except StopAsyncIteration: + self._raise_async_exceptions() + else: + self.get_loop().run_until_complete(asyncgen.aclose()) + raise RuntimeError("Async generator fixture did not stop") + + def run_fixture( + self, + fixture_func: Callable[..., Coroutine[Any, Any, T_Retval]], + kwargs: dict[str, Any], + ) -> T_Retval: + retval = self.get_loop().run_until_complete( + self._call_in_runner_task(fixture_func, **kwargs) + ) + self._raise_async_exceptions() + return retval + + def run_test( + self, test_func: Callable[..., Coroutine[Any, Any, Any]], kwargs: dict[str, Any] + ) -> None: + try: + self.get_loop().run_until_complete( + self._call_in_runner_task(test_func, **kwargs) + ) + except Exception as exc: + self._exceptions.append(exc) + + self._raise_async_exceptions() + + +class AsyncIOBackend(AsyncBackend): + @classmethod + def run( + cls, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + options: dict[str, Any], + ) -> T_Retval: + @wraps(func) + async def wrapper() -> T_Retval: + task = cast(asyncio.Task, current_task()) + task.set_name(get_callable_name(func)) + _task_states[task] = TaskState(None, None) + + try: + return await func(*args) + finally: + del _task_states[task] + + debug = options.get("debug", None) + loop_factory = options.get("loop_factory", None) + if loop_factory is None and options.get("use_uvloop", False): + import uvloop + + loop_factory = uvloop.new_event_loop + + with Runner(debug=debug, loop_factory=loop_factory) as runner: + return runner.run(wrapper()) + + @classmethod + def current_token(cls) -> object: + return get_running_loop() + + @classmethod + def current_time(cls) -> float: + return get_running_loop().time() + + @classmethod + def cancelled_exception_class(cls) -> type[BaseException]: + return CancelledError + + @classmethod + async def checkpoint(cls) -> None: + await sleep(0) + + @classmethod + async def checkpoint_if_cancelled(cls) -> None: + task = current_task() + if task is None: + return + + try: + cancel_scope = _task_states[task].cancel_scope + except KeyError: + return + + while cancel_scope: + if cancel_scope.cancel_called: + await sleep(0) + elif cancel_scope.shield: + break + else: + cancel_scope = cancel_scope._parent_scope + + @classmethod + async def cancel_shielded_checkpoint(cls) -> None: + with CancelScope(shield=True): + await sleep(0) + + @classmethod + async def sleep(cls, delay: float) -> None: + await sleep(delay) + + @classmethod + def create_cancel_scope( + cls, *, deadline: float = math.inf, shield: bool = False + ) -> CancelScope: + return CancelScope(deadline=deadline, shield=shield) + + @classmethod + def current_effective_deadline(cls) -> float: + if (task := current_task()) is None: + return math.inf + + try: + cancel_scope = _task_states[task].cancel_scope + except KeyError: + return math.inf + + deadline = math.inf + while cancel_scope: + deadline = min(deadline, cancel_scope.deadline) + if cancel_scope._cancel_called: + deadline = -math.inf + break + elif cancel_scope.shield: + break + else: + cancel_scope = cancel_scope._parent_scope + + return deadline + + @classmethod + def create_task_group(cls) -> abc.TaskGroup: + return TaskGroup() + + @classmethod + def create_event(cls) -> abc.Event: + return Event() + + @classmethod + def create_lock(cls, *, fast_acquire: bool) -> abc.Lock: + return Lock(fast_acquire=fast_acquire) + + @classmethod + def create_semaphore( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> abc.Semaphore: + return Semaphore(initial_value, max_value=max_value, fast_acquire=fast_acquire) + + @classmethod + def create_capacity_limiter(cls, total_tokens: float) -> abc.CapacityLimiter: + return CapacityLimiter(total_tokens) + + @classmethod + async def run_sync_in_worker_thread( # type: ignore[return] + cls, + func: Callable[[Unpack[PosArgsT]], T_Retval], + args: tuple[Unpack[PosArgsT]], + abandon_on_cancel: bool = False, + limiter: abc.CapacityLimiter | None = None, + ) -> T_Retval: + await cls.checkpoint() + + # If this is the first run in this event loop thread, set up the necessary + # variables + try: + idle_workers = _threadpool_idle_workers.get() + workers = _threadpool_workers.get() + except LookupError: + idle_workers = deque() + workers = set() + _threadpool_idle_workers.set(idle_workers) + _threadpool_workers.set(workers) + + async with limiter or cls.current_default_thread_limiter(): + with CancelScope(shield=not abandon_on_cancel) as scope: + future = asyncio.Future[T_Retval]() + root_task = find_root_task() + if not idle_workers: + worker = WorkerThread(root_task, workers, idle_workers) + worker.start() + workers.add(worker) + root_task.add_done_callback(worker.stop) + else: + worker = idle_workers.pop() + + # Prune any other workers that have been idle for MAX_IDLE_TIME + # seconds or longer + now = cls.current_time() + while idle_workers: + if ( + now - idle_workers[0].idle_since + < WorkerThread.MAX_IDLE_TIME + ): + break + + expired_worker = idle_workers.popleft() + expired_worker.root_task.remove_done_callback( + expired_worker.stop + ) + expired_worker.stop() + + context = copy_context() + context.run(sniffio.current_async_library_cvar.set, None) + if abandon_on_cancel or scope._parent_scope is None: + worker_scope = scope + else: + worker_scope = scope._parent_scope + + worker.queue.put_nowait((context, func, args, future, worker_scope)) + return await future + + @classmethod + def check_cancelled(cls) -> None: + scope: CancelScope | None = threadlocals.current_cancel_scope + while scope is not None: + if scope.cancel_called: + raise CancelledError(f"Cancelled by cancel scope {id(scope):x}") + + if scope.shield: + return + + scope = scope._parent_scope + + @classmethod + def run_async_from_thread( + cls, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + args: tuple[Unpack[PosArgsT]], + token: object, + ) -> T_Retval: + async def task_wrapper(scope: CancelScope) -> T_Retval: + __tracebackhide__ = True + task = cast(asyncio.Task, current_task()) + _task_states[task] = TaskState(None, scope) + scope._tasks.add(task) + try: + return await func(*args) + except CancelledError as exc: + raise concurrent.futures.CancelledError(str(exc)) from None + finally: + scope._tasks.discard(task) + + loop = cast(AbstractEventLoop, token) + context = copy_context() + context.run(sniffio.current_async_library_cvar.set, "asyncio") + wrapper = task_wrapper(threadlocals.current_cancel_scope) + f: concurrent.futures.Future[T_Retval] = context.run( + asyncio.run_coroutine_threadsafe, wrapper, loop + ) + return f.result() + + @classmethod + def run_sync_from_thread( + cls, + func: Callable[[Unpack[PosArgsT]], T_Retval], + args: tuple[Unpack[PosArgsT]], + token: object, + ) -> T_Retval: + @wraps(func) + def wrapper() -> None: + try: + sniffio.current_async_library_cvar.set("asyncio") + f.set_result(func(*args)) + except BaseException as exc: + f.set_exception(exc) + if not isinstance(exc, Exception): + raise + + f: concurrent.futures.Future[T_Retval] = Future() + loop = cast(AbstractEventLoop, token) + loop.call_soon_threadsafe(wrapper) + return f.result() + + @classmethod + def create_blocking_portal(cls) -> abc.BlockingPortal: + return BlockingPortal() + + @classmethod + async def open_process( + cls, + command: StrOrBytesPath | Sequence[StrOrBytesPath], + *, + stdin: int | IO[Any] | None, + stdout: int | IO[Any] | None, + stderr: int | IO[Any] | None, + **kwargs: Any, + ) -> Process: + await cls.checkpoint() + if isinstance(command, PathLike): + command = os.fspath(command) + + if isinstance(command, (str, bytes)): + process = await asyncio.create_subprocess_shell( + command, + stdin=stdin, + stdout=stdout, + stderr=stderr, + **kwargs, + ) + else: + process = await asyncio.create_subprocess_exec( + *command, + stdin=stdin, + stdout=stdout, + stderr=stderr, + **kwargs, + ) + + stdin_stream = StreamWriterWrapper(process.stdin) if process.stdin else None + stdout_stream = StreamReaderWrapper(process.stdout) if process.stdout else None + stderr_stream = StreamReaderWrapper(process.stderr) if process.stderr else None + return Process(process, stdin_stream, stdout_stream, stderr_stream) + + @classmethod + def setup_process_pool_exit_at_shutdown(cls, workers: set[abc.Process]) -> None: + create_task( + _shutdown_process_pool_on_exit(workers), + name="AnyIO process pool shutdown task", + ) + find_root_task().add_done_callback( + partial(_forcibly_shutdown_process_pool_on_exit, workers) # type:ignore[arg-type] + ) + + @classmethod + async def connect_tcp( + cls, host: str, port: int, local_address: IPSockAddrType | None = None + ) -> abc.SocketStream: + transport, protocol = cast( + tuple[asyncio.Transport, StreamProtocol], + await get_running_loop().create_connection( + StreamProtocol, host, port, local_addr=local_address + ), + ) + transport.pause_reading() + return SocketStream(transport, protocol) + + @classmethod + async def connect_unix(cls, path: str | bytes) -> abc.UNIXSocketStream: + await cls.checkpoint() + loop = get_running_loop() + raw_socket = socket.socket(socket.AF_UNIX) + raw_socket.setblocking(False) + while True: + try: + raw_socket.connect(path) + except BlockingIOError: + f: asyncio.Future = asyncio.Future() + loop.add_writer(raw_socket, f.set_result, None) + f.add_done_callback(lambda _: loop.remove_writer(raw_socket)) + await f + except BaseException: + raw_socket.close() + raise + else: + return UNIXSocketStream(raw_socket) + + @classmethod + def create_tcp_listener(cls, sock: socket.socket) -> SocketListener: + return TCPSocketListener(sock) + + @classmethod + def create_unix_listener(cls, sock: socket.socket) -> SocketListener: + return UNIXSocketListener(sock) + + @classmethod + async def create_udp_socket( + cls, + family: AddressFamily, + local_address: IPSockAddrType | None, + remote_address: IPSockAddrType | None, + reuse_port: bool, + ) -> UDPSocket | ConnectedUDPSocket: + transport, protocol = await get_running_loop().create_datagram_endpoint( + DatagramProtocol, + local_addr=local_address, + remote_addr=remote_address, + family=family, + reuse_port=reuse_port, + ) + if protocol.exception: + transport.close() + raise protocol.exception + + if not remote_address: + return UDPSocket(transport, protocol) + else: + return ConnectedUDPSocket(transport, protocol) + + @classmethod + async def create_unix_datagram_socket( # type: ignore[override] + cls, raw_socket: socket.socket, remote_path: str | bytes | None + ) -> abc.UNIXDatagramSocket | abc.ConnectedUNIXDatagramSocket: + await cls.checkpoint() + loop = get_running_loop() + + if remote_path: + while True: + try: + raw_socket.connect(remote_path) + except BlockingIOError: + f: asyncio.Future = asyncio.Future() + loop.add_writer(raw_socket, f.set_result, None) + f.add_done_callback(lambda _: loop.remove_writer(raw_socket)) + await f + except BaseException: + raw_socket.close() + raise + else: + return ConnectedUNIXDatagramSocket(raw_socket) + else: + return UNIXDatagramSocket(raw_socket) + + @classmethod + async def getaddrinfo( + cls, + host: bytes | str | None, + port: str | int | None, + *, + family: int | AddressFamily = 0, + type: int | SocketKind = 0, + proto: int = 0, + flags: int = 0, + ) -> list[ + tuple[ + AddressFamily, + SocketKind, + int, + str, + tuple[str, int] | tuple[str, int, int, int], + ] + ]: + return await get_running_loop().getaddrinfo( + host, port, family=family, type=type, proto=proto, flags=flags + ) + + @classmethod + async def getnameinfo( + cls, sockaddr: IPSockAddrType, flags: int = 0 + ) -> tuple[str, str]: + return await get_running_loop().getnameinfo(sockaddr, flags) + + @classmethod + async def wait_readable(cls, obj: FileDescriptorLike) -> None: + await cls.checkpoint() + try: + read_events = _read_events.get() + except LookupError: + read_events = {} + _read_events.set(read_events) + + if not isinstance(obj, int): + obj = obj.fileno() + + if read_events.get(obj): + raise BusyResourceError("reading from") + + loop = get_running_loop() + event = asyncio.Event() + try: + loop.add_reader(obj, event.set) + except NotImplementedError: + from anyio._core._asyncio_selector_thread import get_selector + + selector = get_selector() + selector.add_reader(obj, event.set) + remove_reader = selector.remove_reader + else: + remove_reader = loop.remove_reader + + read_events[obj] = event + try: + await event.wait() + finally: + remove_reader(obj) + del read_events[obj] + + @classmethod + async def wait_writable(cls, obj: FileDescriptorLike) -> None: + await cls.checkpoint() + try: + write_events = _write_events.get() + except LookupError: + write_events = {} + _write_events.set(write_events) + + if not isinstance(obj, int): + obj = obj.fileno() + + if write_events.get(obj): + raise BusyResourceError("writing to") + + loop = get_running_loop() + event = asyncio.Event() + try: + loop.add_writer(obj, event.set) + except NotImplementedError: + from anyio._core._asyncio_selector_thread import get_selector + + selector = get_selector() + selector.add_writer(obj, event.set) + remove_writer = selector.remove_writer + else: + remove_writer = loop.remove_writer + + write_events[obj] = event + try: + await event.wait() + finally: + del write_events[obj] + remove_writer(obj) + + @classmethod + def current_default_thread_limiter(cls) -> CapacityLimiter: + try: + return _default_thread_limiter.get() + except LookupError: + limiter = CapacityLimiter(40) + _default_thread_limiter.set(limiter) + return limiter + + @classmethod + def open_signal_receiver( + cls, *signals: Signals + ) -> AbstractContextManager[AsyncIterator[Signals]]: + return _SignalReceiver(signals) + + @classmethod + def get_current_task(cls) -> TaskInfo: + return AsyncIOTaskInfo(current_task()) # type: ignore[arg-type] + + @classmethod + def get_running_tasks(cls) -> Sequence[TaskInfo]: + return [AsyncIOTaskInfo(task) for task in all_tasks() if not task.done()] + + @classmethod + async def wait_all_tasks_blocked(cls) -> None: + await cls.checkpoint() + this_task = current_task() + while True: + for task in all_tasks(): + if task is this_task: + continue + + waiter = task._fut_waiter # type: ignore[attr-defined] + if waiter is None or waiter.done(): + await sleep(0.1) + break + else: + return + + @classmethod + def create_test_runner(cls, options: dict[str, Any]) -> TestRunner: + return TestRunner(**options) + + +backend_class = AsyncIOBackend diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_backends/_trio.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_backends/_trio.py new file mode 100644 index 0000000..32ae8ac --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_backends/_trio.py @@ -0,0 +1,1334 @@ +from __future__ import annotations + +import array +import math +import os +import socket +import sys +import types +import weakref +from collections.abc import ( + AsyncGenerator, + AsyncIterator, + Awaitable, + Callable, + Collection, + Coroutine, + Iterable, + Sequence, +) +from concurrent.futures import Future +from contextlib import AbstractContextManager +from dataclasses import dataclass +from functools import partial +from io import IOBase +from os import PathLike +from signal import Signals +from socket import AddressFamily, SocketKind +from types import TracebackType +from typing import ( + IO, + TYPE_CHECKING, + Any, + Generic, + NoReturn, + TypeVar, + cast, + overload, +) + +import trio.from_thread +import trio.lowlevel +from outcome import Error, Outcome, Value +from trio.lowlevel import ( + current_root_task, + current_task, + wait_readable, + wait_writable, +) +from trio.socket import SocketType as TrioSocketType +from trio.to_thread import run_sync + +from .. import ( + CapacityLimiterStatistics, + EventStatistics, + LockStatistics, + TaskInfo, + WouldBlock, + abc, +) +from .._core._eventloop import claim_worker_thread +from .._core._exceptions import ( + BrokenResourceError, + BusyResourceError, + ClosedResourceError, + EndOfStream, +) +from .._core._sockets import convert_ipv6_sockaddr +from .._core._streams import create_memory_object_stream +from .._core._synchronization import ( + CapacityLimiter as BaseCapacityLimiter, +) +from .._core._synchronization import Event as BaseEvent +from .._core._synchronization import Lock as BaseLock +from .._core._synchronization import ( + ResourceGuard, + SemaphoreStatistics, +) +from .._core._synchronization import Semaphore as BaseSemaphore +from .._core._tasks import CancelScope as BaseCancelScope +from ..abc import IPSockAddrType, UDPPacketType, UNIXDatagramPacketType +from ..abc._eventloop import AsyncBackend, StrOrBytesPath +from ..streams.memory import MemoryObjectSendStream + +if TYPE_CHECKING: + from _typeshed import HasFileno + +if sys.version_info >= (3, 10): + from typing import ParamSpec +else: + from typing_extensions import ParamSpec + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from exceptiongroup import BaseExceptionGroup + from typing_extensions import TypeVarTuple, Unpack + +T = TypeVar("T") +T_Retval = TypeVar("T_Retval") +T_SockAddr = TypeVar("T_SockAddr", str, IPSockAddrType) +PosArgsT = TypeVarTuple("PosArgsT") +P = ParamSpec("P") + + +# +# Event loop +# + +RunVar = trio.lowlevel.RunVar + + +# +# Timeouts and cancellation +# + + +class CancelScope(BaseCancelScope): + def __new__( + cls, original: trio.CancelScope | None = None, **kwargs: object + ) -> CancelScope: + return object.__new__(cls) + + def __init__(self, original: trio.CancelScope | None = None, **kwargs: Any) -> None: + self.__original = original or trio.CancelScope(**kwargs) + + def __enter__(self) -> CancelScope: + self.__original.__enter__() + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool: + return self.__original.__exit__(exc_type, exc_val, exc_tb) + + def cancel(self) -> None: + self.__original.cancel() + + @property + def deadline(self) -> float: + return self.__original.deadline + + @deadline.setter + def deadline(self, value: float) -> None: + self.__original.deadline = value + + @property + def cancel_called(self) -> bool: + return self.__original.cancel_called + + @property + def cancelled_caught(self) -> bool: + return self.__original.cancelled_caught + + @property + def shield(self) -> bool: + return self.__original.shield + + @shield.setter + def shield(self, value: bool) -> None: + self.__original.shield = value + + +# +# Task groups +# + + +class TaskGroup(abc.TaskGroup): + def __init__(self) -> None: + self._active = False + self._nursery_manager = trio.open_nursery(strict_exception_groups=True) + self.cancel_scope = None # type: ignore[assignment] + + async def __aenter__(self) -> TaskGroup: + self._active = True + self._nursery = await self._nursery_manager.__aenter__() + self.cancel_scope = CancelScope(self._nursery.cancel_scope) + return self + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool: + try: + # trio.Nursery.__exit__ returns bool; .open_nursery has wrong type + return await self._nursery_manager.__aexit__(exc_type, exc_val, exc_tb) # type: ignore[return-value] + except BaseExceptionGroup as exc: + if not exc.split(trio.Cancelled)[1]: + raise trio.Cancelled._create() from exc + + raise + finally: + del exc_val, exc_tb + self._active = False + + def start_soon( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[Any]], + *args: Unpack[PosArgsT], + name: object = None, + ) -> None: + if not self._active: + raise RuntimeError( + "This task group is not active; no new tasks can be started." + ) + + self._nursery.start_soon(func, *args, name=name) + + async def start( + self, func: Callable[..., Awaitable[Any]], *args: object, name: object = None + ) -> Any: + if not self._active: + raise RuntimeError( + "This task group is not active; no new tasks can be started." + ) + + return await self._nursery.start(func, *args, name=name) + + +# +# Threads +# + + +class BlockingPortal(abc.BlockingPortal): + def __new__(cls) -> BlockingPortal: + return object.__new__(cls) + + def __init__(self) -> None: + super().__init__() + self._token = trio.lowlevel.current_trio_token() + + def _spawn_task_from_thread( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + name: object, + future: Future[T_Retval], + ) -> None: + trio.from_thread.run_sync( + partial(self._task_group.start_soon, name=name), + self._call_func, + func, + args, + kwargs, + future, + trio_token=self._token, + ) + + +# +# Subprocesses +# + + +@dataclass(eq=False) +class ReceiveStreamWrapper(abc.ByteReceiveStream): + _stream: trio.abc.ReceiveStream + + async def receive(self, max_bytes: int | None = None) -> bytes: + try: + data = await self._stream.receive_some(max_bytes) + except trio.ClosedResourceError as exc: + raise ClosedResourceError from exc.__cause__ + except trio.BrokenResourceError as exc: + raise BrokenResourceError from exc.__cause__ + + if data: + return data + else: + raise EndOfStream + + async def aclose(self) -> None: + await self._stream.aclose() + + +@dataclass(eq=False) +class SendStreamWrapper(abc.ByteSendStream): + _stream: trio.abc.SendStream + + async def send(self, item: bytes) -> None: + try: + await self._stream.send_all(item) + except trio.ClosedResourceError as exc: + raise ClosedResourceError from exc.__cause__ + except trio.BrokenResourceError as exc: + raise BrokenResourceError from exc.__cause__ + + async def aclose(self) -> None: + await self._stream.aclose() + + +@dataclass(eq=False) +class Process(abc.Process): + _process: trio.Process + _stdin: abc.ByteSendStream | None + _stdout: abc.ByteReceiveStream | None + _stderr: abc.ByteReceiveStream | None + + async def aclose(self) -> None: + with CancelScope(shield=True): + if self._stdin: + await self._stdin.aclose() + if self._stdout: + await self._stdout.aclose() + if self._stderr: + await self._stderr.aclose() + + try: + await self.wait() + except BaseException: + self.kill() + with CancelScope(shield=True): + await self.wait() + raise + + async def wait(self) -> int: + return await self._process.wait() + + def terminate(self) -> None: + self._process.terminate() + + def kill(self) -> None: + self._process.kill() + + def send_signal(self, signal: Signals) -> None: + self._process.send_signal(signal) + + @property + def pid(self) -> int: + return self._process.pid + + @property + def returncode(self) -> int | None: + return self._process.returncode + + @property + def stdin(self) -> abc.ByteSendStream | None: + return self._stdin + + @property + def stdout(self) -> abc.ByteReceiveStream | None: + return self._stdout + + @property + def stderr(self) -> abc.ByteReceiveStream | None: + return self._stderr + + +class _ProcessPoolShutdownInstrument(trio.abc.Instrument): + def after_run(self) -> None: + super().after_run() + + +current_default_worker_process_limiter: trio.lowlevel.RunVar = RunVar( + "current_default_worker_process_limiter" +) + + +async def _shutdown_process_pool(workers: set[abc.Process]) -> None: + try: + await trio.sleep(math.inf) + except trio.Cancelled: + for process in workers: + if process.returncode is None: + process.kill() + + with CancelScope(shield=True): + for process in workers: + await process.aclose() + + +# +# Sockets and networking +# + + +class _TrioSocketMixin(Generic[T_SockAddr]): + def __init__(self, trio_socket: TrioSocketType) -> None: + self._trio_socket = trio_socket + self._closed = False + + def _check_closed(self) -> None: + if self._closed: + raise ClosedResourceError + if self._trio_socket.fileno() < 0: + raise BrokenResourceError + + @property + def _raw_socket(self) -> socket.socket: + return self._trio_socket._sock # type: ignore[attr-defined] + + async def aclose(self) -> None: + if self._trio_socket.fileno() >= 0: + self._closed = True + self._trio_socket.close() + + def _convert_socket_error(self, exc: BaseException) -> NoReturn: + if isinstance(exc, trio.ClosedResourceError): + raise ClosedResourceError from exc + elif self._trio_socket.fileno() < 0 and self._closed: + raise ClosedResourceError from None + elif isinstance(exc, OSError): + raise BrokenResourceError from exc + else: + raise exc + + +class SocketStream(_TrioSocketMixin, abc.SocketStream): + def __init__(self, trio_socket: TrioSocketType) -> None: + super().__init__(trio_socket) + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + + async def receive(self, max_bytes: int = 65536) -> bytes: + with self._receive_guard: + try: + data = await self._trio_socket.recv(max_bytes) + except BaseException as exc: + self._convert_socket_error(exc) + + if data: + return data + else: + raise EndOfStream + + async def send(self, item: bytes) -> None: + with self._send_guard: + view = memoryview(item) + while view: + try: + bytes_sent = await self._trio_socket.send(view) + except BaseException as exc: + self._convert_socket_error(exc) + + view = view[bytes_sent:] + + async def send_eof(self) -> None: + self._trio_socket.shutdown(socket.SHUT_WR) + + +class UNIXSocketStream(SocketStream, abc.UNIXSocketStream): + async def receive_fds(self, msglen: int, maxfds: int) -> tuple[bytes, list[int]]: + if not isinstance(msglen, int) or msglen < 0: + raise ValueError("msglen must be a non-negative integer") + if not isinstance(maxfds, int) or maxfds < 1: + raise ValueError("maxfds must be a positive integer") + + fds = array.array("i") + await trio.lowlevel.checkpoint() + with self._receive_guard: + while True: + try: + message, ancdata, flags, addr = await self._trio_socket.recvmsg( + msglen, socket.CMSG_LEN(maxfds * fds.itemsize) + ) + except BaseException as exc: + self._convert_socket_error(exc) + else: + if not message and not ancdata: + raise EndOfStream + + break + + for cmsg_level, cmsg_type, cmsg_data in ancdata: + if cmsg_level != socket.SOL_SOCKET or cmsg_type != socket.SCM_RIGHTS: + raise RuntimeError( + f"Received unexpected ancillary data; message = {message!r}, " + f"cmsg_level = {cmsg_level}, cmsg_type = {cmsg_type}" + ) + + fds.frombytes(cmsg_data[: len(cmsg_data) - (len(cmsg_data) % fds.itemsize)]) + + return message, list(fds) + + async def send_fds(self, message: bytes, fds: Collection[int | IOBase]) -> None: + if not message: + raise ValueError("message must not be empty") + if not fds: + raise ValueError("fds must not be empty") + + filenos: list[int] = [] + for fd in fds: + if isinstance(fd, int): + filenos.append(fd) + elif isinstance(fd, IOBase): + filenos.append(fd.fileno()) + + fdarray = array.array("i", filenos) + await trio.lowlevel.checkpoint() + with self._send_guard: + while True: + try: + await self._trio_socket.sendmsg( + [message], + [ + ( + socket.SOL_SOCKET, + socket.SCM_RIGHTS, + fdarray, + ) + ], + ) + break + except BaseException as exc: + self._convert_socket_error(exc) + + +class TCPSocketListener(_TrioSocketMixin, abc.SocketListener): + def __init__(self, raw_socket: socket.socket): + super().__init__(trio.socket.from_stdlib_socket(raw_socket)) + self._accept_guard = ResourceGuard("accepting connections from") + + async def accept(self) -> SocketStream: + with self._accept_guard: + try: + trio_socket, _addr = await self._trio_socket.accept() + except BaseException as exc: + self._convert_socket_error(exc) + + trio_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + return SocketStream(trio_socket) + + +class UNIXSocketListener(_TrioSocketMixin, abc.SocketListener): + def __init__(self, raw_socket: socket.socket): + super().__init__(trio.socket.from_stdlib_socket(raw_socket)) + self._accept_guard = ResourceGuard("accepting connections from") + + async def accept(self) -> UNIXSocketStream: + with self._accept_guard: + try: + trio_socket, _addr = await self._trio_socket.accept() + except BaseException as exc: + self._convert_socket_error(exc) + + return UNIXSocketStream(trio_socket) + + +class UDPSocket(_TrioSocketMixin[IPSockAddrType], abc.UDPSocket): + def __init__(self, trio_socket: TrioSocketType) -> None: + super().__init__(trio_socket) + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + + async def receive(self) -> tuple[bytes, IPSockAddrType]: + with self._receive_guard: + try: + data, addr = await self._trio_socket.recvfrom(65536) + return data, convert_ipv6_sockaddr(addr) + except BaseException as exc: + self._convert_socket_error(exc) + + async def send(self, item: UDPPacketType) -> None: + with self._send_guard: + try: + await self._trio_socket.sendto(*item) + except BaseException as exc: + self._convert_socket_error(exc) + + +class ConnectedUDPSocket(_TrioSocketMixin[IPSockAddrType], abc.ConnectedUDPSocket): + def __init__(self, trio_socket: TrioSocketType) -> None: + super().__init__(trio_socket) + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + + async def receive(self) -> bytes: + with self._receive_guard: + try: + return await self._trio_socket.recv(65536) + except BaseException as exc: + self._convert_socket_error(exc) + + async def send(self, item: bytes) -> None: + with self._send_guard: + try: + await self._trio_socket.send(item) + except BaseException as exc: + self._convert_socket_error(exc) + + +class UNIXDatagramSocket(_TrioSocketMixin[str], abc.UNIXDatagramSocket): + def __init__(self, trio_socket: TrioSocketType) -> None: + super().__init__(trio_socket) + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + + async def receive(self) -> UNIXDatagramPacketType: + with self._receive_guard: + try: + data, addr = await self._trio_socket.recvfrom(65536) + return data, addr + except BaseException as exc: + self._convert_socket_error(exc) + + async def send(self, item: UNIXDatagramPacketType) -> None: + with self._send_guard: + try: + await self._trio_socket.sendto(*item) + except BaseException as exc: + self._convert_socket_error(exc) + + +class ConnectedUNIXDatagramSocket( + _TrioSocketMixin[str], abc.ConnectedUNIXDatagramSocket +): + def __init__(self, trio_socket: TrioSocketType) -> None: + super().__init__(trio_socket) + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + + async def receive(self) -> bytes: + with self._receive_guard: + try: + return await self._trio_socket.recv(65536) + except BaseException as exc: + self._convert_socket_error(exc) + + async def send(self, item: bytes) -> None: + with self._send_guard: + try: + await self._trio_socket.send(item) + except BaseException as exc: + self._convert_socket_error(exc) + + +# +# Synchronization +# + + +class Event(BaseEvent): + def __new__(cls) -> Event: + return object.__new__(cls) + + def __init__(self) -> None: + self.__original = trio.Event() + + def is_set(self) -> bool: + return self.__original.is_set() + + async def wait(self) -> None: + return await self.__original.wait() + + def statistics(self) -> EventStatistics: + orig_statistics = self.__original.statistics() + return EventStatistics(tasks_waiting=orig_statistics.tasks_waiting) + + def set(self) -> None: + self.__original.set() + + +class Lock(BaseLock): + def __new__(cls, *, fast_acquire: bool = False) -> Lock: + return object.__new__(cls) + + def __init__(self, *, fast_acquire: bool = False) -> None: + self._fast_acquire = fast_acquire + self.__original = trio.Lock() + + @staticmethod + def _convert_runtime_error_msg(exc: RuntimeError) -> None: + if exc.args == ("attempt to re-acquire an already held Lock",): + exc.args = ("Attempted to acquire an already held Lock",) + + async def acquire(self) -> None: + if not self._fast_acquire: + try: + await self.__original.acquire() + except RuntimeError as exc: + self._convert_runtime_error_msg(exc) + raise + + return + + # This is the "fast path" where we don't let other tasks run + await trio.lowlevel.checkpoint_if_cancelled() + try: + self.__original.acquire_nowait() + except trio.WouldBlock: + await self.__original._lot.park() + except RuntimeError as exc: + self._convert_runtime_error_msg(exc) + raise + + def acquire_nowait(self) -> None: + try: + self.__original.acquire_nowait() + except trio.WouldBlock: + raise WouldBlock from None + except RuntimeError as exc: + self._convert_runtime_error_msg(exc) + raise + + def locked(self) -> bool: + return self.__original.locked() + + def release(self) -> None: + self.__original.release() + + def statistics(self) -> LockStatistics: + orig_statistics = self.__original.statistics() + owner = TrioTaskInfo(orig_statistics.owner) if orig_statistics.owner else None + return LockStatistics( + orig_statistics.locked, owner, orig_statistics.tasks_waiting + ) + + +class Semaphore(BaseSemaphore): + def __new__( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> Semaphore: + return object.__new__(cls) + + def __init__( + self, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> None: + super().__init__(initial_value, max_value=max_value, fast_acquire=fast_acquire) + self.__original = trio.Semaphore(initial_value, max_value=max_value) + + async def acquire(self) -> None: + if not self._fast_acquire: + await self.__original.acquire() + return + + # This is the "fast path" where we don't let other tasks run + await trio.lowlevel.checkpoint_if_cancelled() + try: + self.__original.acquire_nowait() + except trio.WouldBlock: + await self.__original._lot.park() + + def acquire_nowait(self) -> None: + try: + self.__original.acquire_nowait() + except trio.WouldBlock: + raise WouldBlock from None + + @property + def max_value(self) -> int | None: + return self.__original.max_value + + @property + def value(self) -> int: + return self.__original.value + + def release(self) -> None: + self.__original.release() + + def statistics(self) -> SemaphoreStatistics: + orig_statistics = self.__original.statistics() + return SemaphoreStatistics(orig_statistics.tasks_waiting) + + +class CapacityLimiter(BaseCapacityLimiter): + def __new__( + cls, + total_tokens: float | None = None, + *, + original: trio.CapacityLimiter | None = None, + ) -> CapacityLimiter: + return object.__new__(cls) + + def __init__( + self, + total_tokens: float | None = None, + *, + original: trio.CapacityLimiter | None = None, + ) -> None: + if original is not None: + self.__original = original + else: + assert total_tokens is not None + self.__original = trio.CapacityLimiter(total_tokens) + + async def __aenter__(self) -> None: + return await self.__original.__aenter__() + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + await self.__original.__aexit__(exc_type, exc_val, exc_tb) + + @property + def total_tokens(self) -> float: + return self.__original.total_tokens + + @total_tokens.setter + def total_tokens(self, value: float) -> None: + self.__original.total_tokens = value + + @property + def borrowed_tokens(self) -> int: + return self.__original.borrowed_tokens + + @property + def available_tokens(self) -> float: + return self.__original.available_tokens + + def acquire_nowait(self) -> None: + self.__original.acquire_nowait() + + def acquire_on_behalf_of_nowait(self, borrower: object) -> None: + self.__original.acquire_on_behalf_of_nowait(borrower) + + async def acquire(self) -> None: + await self.__original.acquire() + + async def acquire_on_behalf_of(self, borrower: object) -> None: + await self.__original.acquire_on_behalf_of(borrower) + + def release(self) -> None: + return self.__original.release() + + def release_on_behalf_of(self, borrower: object) -> None: + return self.__original.release_on_behalf_of(borrower) + + def statistics(self) -> CapacityLimiterStatistics: + orig = self.__original.statistics() + return CapacityLimiterStatistics( + borrowed_tokens=orig.borrowed_tokens, + total_tokens=orig.total_tokens, + borrowers=tuple(orig.borrowers), + tasks_waiting=orig.tasks_waiting, + ) + + +_capacity_limiter_wrapper: trio.lowlevel.RunVar = RunVar("_capacity_limiter_wrapper") + + +# +# Signal handling +# + + +class _SignalReceiver: + _iterator: AsyncIterator[int] + + def __init__(self, signals: tuple[Signals, ...]): + self._signals = signals + + def __enter__(self) -> _SignalReceiver: + self._cm = trio.open_signal_receiver(*self._signals) + self._iterator = self._cm.__enter__() + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + return self._cm.__exit__(exc_type, exc_val, exc_tb) + + def __aiter__(self) -> _SignalReceiver: + return self + + async def __anext__(self) -> Signals: + signum = await self._iterator.__anext__() + return Signals(signum) + + +# +# Testing and debugging +# + + +class TestRunner(abc.TestRunner): + def __init__(self, **options: Any) -> None: + from queue import Queue + + self._call_queue: Queue[Callable[[], object]] = Queue() + self._send_stream: MemoryObjectSendStream | None = None + self._options = options + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: types.TracebackType | None, + ) -> None: + if self._send_stream: + self._send_stream.close() + while self._send_stream is not None: + self._call_queue.get()() + + async def _run_tests_and_fixtures(self) -> None: + self._send_stream, receive_stream = create_memory_object_stream(1) + with receive_stream: + async for coro, outcome_holder in receive_stream: + try: + retval = await coro + except BaseException as exc: + outcome_holder.append(Error(exc)) + else: + outcome_holder.append(Value(retval)) + + def _main_task_finished(self, outcome: object) -> None: + self._send_stream = None + + def _call_in_runner_task( + self, + func: Callable[P, Awaitable[T_Retval]], + *args: P.args, + **kwargs: P.kwargs, + ) -> T_Retval: + if self._send_stream is None: + trio.lowlevel.start_guest_run( + self._run_tests_and_fixtures, + run_sync_soon_threadsafe=self._call_queue.put, + done_callback=self._main_task_finished, + **self._options, + ) + while self._send_stream is None: + self._call_queue.get()() + + outcome_holder: list[Outcome] = [] + self._send_stream.send_nowait((func(*args, **kwargs), outcome_holder)) + while not outcome_holder: + self._call_queue.get()() + + return outcome_holder[0].unwrap() + + def run_asyncgen_fixture( + self, + fixture_func: Callable[..., AsyncGenerator[T_Retval, Any]], + kwargs: dict[str, Any], + ) -> Iterable[T_Retval]: + asyncgen = fixture_func(**kwargs) + fixturevalue: T_Retval = self._call_in_runner_task(asyncgen.asend, None) + + yield fixturevalue + + try: + self._call_in_runner_task(asyncgen.asend, None) + except StopAsyncIteration: + pass + else: + self._call_in_runner_task(asyncgen.aclose) + raise RuntimeError("Async generator fixture did not stop") + + def run_fixture( + self, + fixture_func: Callable[..., Coroutine[Any, Any, T_Retval]], + kwargs: dict[str, Any], + ) -> T_Retval: + return self._call_in_runner_task(fixture_func, **kwargs) + + def run_test( + self, test_func: Callable[..., Coroutine[Any, Any, Any]], kwargs: dict[str, Any] + ) -> None: + self._call_in_runner_task(test_func, **kwargs) + + +class TrioTaskInfo(TaskInfo): + def __init__(self, task: trio.lowlevel.Task): + parent_id = None + if task.parent_nursery and task.parent_nursery.parent_task: + parent_id = id(task.parent_nursery.parent_task) + + super().__init__(id(task), parent_id, task.name, task.coro) + self._task = weakref.proxy(task) + + def has_pending_cancellation(self) -> bool: + try: + return self._task._cancel_status.effectively_cancelled + except ReferenceError: + # If the task is no longer around, it surely doesn't have a cancellation + # pending + return False + + +class TrioBackend(AsyncBackend): + @classmethod + def run( + cls, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + options: dict[str, Any], + ) -> T_Retval: + return trio.run(func, *args) + + @classmethod + def current_token(cls) -> object: + return trio.lowlevel.current_trio_token() + + @classmethod + def current_time(cls) -> float: + return trio.current_time() + + @classmethod + def cancelled_exception_class(cls) -> type[BaseException]: + return trio.Cancelled + + @classmethod + async def checkpoint(cls) -> None: + await trio.lowlevel.checkpoint() + + @classmethod + async def checkpoint_if_cancelled(cls) -> None: + await trio.lowlevel.checkpoint_if_cancelled() + + @classmethod + async def cancel_shielded_checkpoint(cls) -> None: + await trio.lowlevel.cancel_shielded_checkpoint() + + @classmethod + async def sleep(cls, delay: float) -> None: + await trio.sleep(delay) + + @classmethod + def create_cancel_scope( + cls, *, deadline: float = math.inf, shield: bool = False + ) -> abc.CancelScope: + return CancelScope(deadline=deadline, shield=shield) + + @classmethod + def current_effective_deadline(cls) -> float: + return trio.current_effective_deadline() + + @classmethod + def create_task_group(cls) -> abc.TaskGroup: + return TaskGroup() + + @classmethod + def create_event(cls) -> abc.Event: + return Event() + + @classmethod + def create_lock(cls, *, fast_acquire: bool) -> Lock: + return Lock(fast_acquire=fast_acquire) + + @classmethod + def create_semaphore( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> abc.Semaphore: + return Semaphore(initial_value, max_value=max_value, fast_acquire=fast_acquire) + + @classmethod + def create_capacity_limiter(cls, total_tokens: float) -> CapacityLimiter: + return CapacityLimiter(total_tokens) + + @classmethod + async def run_sync_in_worker_thread( + cls, + func: Callable[[Unpack[PosArgsT]], T_Retval], + args: tuple[Unpack[PosArgsT]], + abandon_on_cancel: bool = False, + limiter: abc.CapacityLimiter | None = None, + ) -> T_Retval: + def wrapper() -> T_Retval: + with claim_worker_thread(TrioBackend, token): + return func(*args) + + token = TrioBackend.current_token() + return await run_sync( + wrapper, + abandon_on_cancel=abandon_on_cancel, + limiter=cast(trio.CapacityLimiter, limiter), + ) + + @classmethod + def check_cancelled(cls) -> None: + trio.from_thread.check_cancelled() + + @classmethod + def run_async_from_thread( + cls, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + args: tuple[Unpack[PosArgsT]], + token: object, + ) -> T_Retval: + return trio.from_thread.run(func, *args) + + @classmethod + def run_sync_from_thread( + cls, + func: Callable[[Unpack[PosArgsT]], T_Retval], + args: tuple[Unpack[PosArgsT]], + token: object, + ) -> T_Retval: + return trio.from_thread.run_sync(func, *args) + + @classmethod + def create_blocking_portal(cls) -> abc.BlockingPortal: + return BlockingPortal() + + @classmethod + async def open_process( + cls, + command: StrOrBytesPath | Sequence[StrOrBytesPath], + *, + stdin: int | IO[Any] | None, + stdout: int | IO[Any] | None, + stderr: int | IO[Any] | None, + **kwargs: Any, + ) -> Process: + def convert_item(item: StrOrBytesPath) -> str: + str_or_bytes = os.fspath(item) + if isinstance(str_or_bytes, str): + return str_or_bytes + else: + return os.fsdecode(str_or_bytes) + + if isinstance(command, (str, bytes, PathLike)): + process = await trio.lowlevel.open_process( + convert_item(command), + stdin=stdin, + stdout=stdout, + stderr=stderr, + shell=True, + **kwargs, + ) + else: + process = await trio.lowlevel.open_process( + [convert_item(item) for item in command], + stdin=stdin, + stdout=stdout, + stderr=stderr, + shell=False, + **kwargs, + ) + + stdin_stream = SendStreamWrapper(process.stdin) if process.stdin else None + stdout_stream = ReceiveStreamWrapper(process.stdout) if process.stdout else None + stderr_stream = ReceiveStreamWrapper(process.stderr) if process.stderr else None + return Process(process, stdin_stream, stdout_stream, stderr_stream) + + @classmethod + def setup_process_pool_exit_at_shutdown(cls, workers: set[abc.Process]) -> None: + trio.lowlevel.spawn_system_task(_shutdown_process_pool, workers) + + @classmethod + async def connect_tcp( + cls, host: str, port: int, local_address: IPSockAddrType | None = None + ) -> SocketStream: + family = socket.AF_INET6 if ":" in host else socket.AF_INET + trio_socket = trio.socket.socket(family) + trio_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + if local_address: + await trio_socket.bind(local_address) + + try: + await trio_socket.connect((host, port)) + except BaseException: + trio_socket.close() + raise + + return SocketStream(trio_socket) + + @classmethod + async def connect_unix(cls, path: str | bytes) -> abc.UNIXSocketStream: + trio_socket = trio.socket.socket(socket.AF_UNIX) + try: + await trio_socket.connect(path) + except BaseException: + trio_socket.close() + raise + + return UNIXSocketStream(trio_socket) + + @classmethod + def create_tcp_listener(cls, sock: socket.socket) -> abc.SocketListener: + return TCPSocketListener(sock) + + @classmethod + def create_unix_listener(cls, sock: socket.socket) -> abc.SocketListener: + return UNIXSocketListener(sock) + + @classmethod + async def create_udp_socket( + cls, + family: socket.AddressFamily, + local_address: IPSockAddrType | None, + remote_address: IPSockAddrType | None, + reuse_port: bool, + ) -> UDPSocket | ConnectedUDPSocket: + trio_socket = trio.socket.socket(family=family, type=socket.SOCK_DGRAM) + + if reuse_port: + trio_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) + + if local_address: + await trio_socket.bind(local_address) + + if remote_address: + await trio_socket.connect(remote_address) + return ConnectedUDPSocket(trio_socket) + else: + return UDPSocket(trio_socket) + + @classmethod + @overload + async def create_unix_datagram_socket( + cls, raw_socket: socket.socket, remote_path: None + ) -> abc.UNIXDatagramSocket: ... + + @classmethod + @overload + async def create_unix_datagram_socket( + cls, raw_socket: socket.socket, remote_path: str | bytes + ) -> abc.ConnectedUNIXDatagramSocket: ... + + @classmethod + async def create_unix_datagram_socket( + cls, raw_socket: socket.socket, remote_path: str | bytes | None + ) -> abc.UNIXDatagramSocket | abc.ConnectedUNIXDatagramSocket: + trio_socket = trio.socket.from_stdlib_socket(raw_socket) + + if remote_path: + await trio_socket.connect(remote_path) + return ConnectedUNIXDatagramSocket(trio_socket) + else: + return UNIXDatagramSocket(trio_socket) + + @classmethod + async def getaddrinfo( + cls, + host: bytes | str | None, + port: str | int | None, + *, + family: int | AddressFamily = 0, + type: int | SocketKind = 0, + proto: int = 0, + flags: int = 0, + ) -> list[ + tuple[ + AddressFamily, + SocketKind, + int, + str, + tuple[str, int] | tuple[str, int, int, int], + ] + ]: + return await trio.socket.getaddrinfo(host, port, family, type, proto, flags) + + @classmethod + async def getnameinfo( + cls, sockaddr: IPSockAddrType, flags: int = 0 + ) -> tuple[str, str]: + return await trio.socket.getnameinfo(sockaddr, flags) + + @classmethod + async def wait_readable(cls, obj: HasFileno | int) -> None: + try: + await wait_readable(obj) + except trio.ClosedResourceError as exc: + raise ClosedResourceError().with_traceback(exc.__traceback__) from None + except trio.BusyResourceError: + raise BusyResourceError("reading from") from None + + @classmethod + async def wait_writable(cls, obj: HasFileno | int) -> None: + try: + await wait_writable(obj) + except trio.ClosedResourceError as exc: + raise ClosedResourceError().with_traceback(exc.__traceback__) from None + except trio.BusyResourceError: + raise BusyResourceError("writing to") from None + + @classmethod + def current_default_thread_limiter(cls) -> CapacityLimiter: + try: + return _capacity_limiter_wrapper.get() + except LookupError: + limiter = CapacityLimiter( + original=trio.to_thread.current_default_thread_limiter() + ) + _capacity_limiter_wrapper.set(limiter) + return limiter + + @classmethod + def open_signal_receiver( + cls, *signals: Signals + ) -> AbstractContextManager[AsyncIterator[Signals]]: + return _SignalReceiver(signals) + + @classmethod + def get_current_task(cls) -> TaskInfo: + task = current_task() + return TrioTaskInfo(task) + + @classmethod + def get_running_tasks(cls) -> Sequence[TaskInfo]: + root_task = current_root_task() + assert root_task + task_infos = [TrioTaskInfo(root_task)] + nurseries = root_task.child_nurseries + while nurseries: + new_nurseries: list[trio.Nursery] = [] + for nursery in nurseries: + for task in nursery.child_tasks: + task_infos.append(TrioTaskInfo(task)) + new_nurseries.extend(task.child_nurseries) + + nurseries = new_nurseries + + return task_infos + + @classmethod + async def wait_all_tasks_blocked(cls) -> None: + from trio.testing import wait_all_tasks_blocked + + await wait_all_tasks_blocked() + + @classmethod + def create_test_runner(cls, options: dict[str, Any]) -> TestRunner: + return TestRunner(**options) + + +backend_class = TrioBackend diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__init__.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..62144c2ce792a29d10d81694a85bde862d43592c GIT binary patch literal 185 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_exceptions.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_exceptions.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0dc27655adf70905b7f1d2d189d0d38c26337997 GIT binary patch literal 7190 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 STv?N!h%3Xid7Bamq<;g(I*)Jw literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_fileio.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_fileio.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1ddab85e4b146b204ad8c75b5d68dfcfeb2b1ac0 GIT binary patch literal 41425 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%0A5E}UZ8BMFZ_#P76+QH_6 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 H4ekE}mu8RM literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_resources.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_resources.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..270b72e92679d5801e61a8d92a1ff8ef8a984ff2 GIT binary patch literal 1109 zcmZ`&&ubGw6n?Y2Nn_fLR%~yji{fDqcB$f}h*0WH$iafpT$b(bG+DYk6J|EXXa%7n zwiJq|dMq9)Qg7-X(Ep%94`EM&7ki6Vq4eaNP0}`CXD5$0@B7}5d^`KWG>d@i_t%5! zX9Dm;9r{b_I^^g!I$IDxKq81qg%Aj|K##OoujuF-K`t`lTqTG8NKkxbRPw>_JlN); zDqxdz*kg<*UJ`O94^>r+nX|IR{6|#shVbbj_Rg4d9`k85@AEoM3!;aL9HMDn(4-+) zYLq#nzDnq?JUXiY0Y0Pazm&5?F!lo(N|gN%VUzW|-7?Be9xZm?$F0 zO00!+R_zs-se8hUPcvo)^Ap}J+ih01buolGr1|bJY2M44+L|b+a4wrns{e0UCuOI` zW9lsOMExie)QMY^J#nIN(W&DQoZXq4o_1uI&|7uSU-qh0Iyhd)9oOebcl!#+sd_6N z?KX3lINqG4MijNg73`!2lJC*{#OEday$Z##wTX?14rn>+-OYBv+#FdSSu1Un-jv#< z@lC$Yzm+BrN|XDA|LjfyU7=$r)xAZ(_f@!wCzoaRIx-nP!Vxk+Tt;(J wxEJ%F5z+f%9FOYG%LOzYoe-&TIJ525m?)Kmj(N2DtpavHhF^1Lu0YoJdzyJUM literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_signals.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_signals.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..23f68aca52b177315e94209d1dba1106cc4ecabb GIT binary patch literal 1354 zcmZ`(L2DC16rN4eq)i%2L3&V;M^6UY4W*ufEffz@(R!#*NGY4i?le2PJG0D8QUfX; zym;~2f1rpLFaD1R6-rKmr{0Ra_2iq~O(9f=$>hzXM0&3pT~Uat~tf4-meJ`@T0 zZ6}jf$PDM=F&f7tAb}H+*l9bCwF^-pF1CxQU5rZcOnWA^OHnzlv@2-O1m$Qpo@>vc zT@PySOYLefze^f7&TQa@GpbN@(nH~I8>Xm{3Ky2Py4on}n}<>u_R2h^ zg7%o*sqFHeppiavvPg?PW;|+-dtK_kWFi<>bmpSU=rS%VX8KB8y8jNjKXvtf9{u3J zw@4=q^&u5PoC_C?V^Sc--k!Hl`2Te>Auq0WUXzamIXiR-<*Wj>T|<=t#eBvGT=YOD zmaw(-P#YFQ4&1G#?yZC>dbQY^?1GVb3hPYt@CBof)@6hR>I0gHy9C2#{=Lzih|xzT~-!PQL)eNwFim=L|V0AES1 zSCfbu1ReuTl8F0RF6GKiL3x(5=W-7tBNanP6dQ0WP);wTB8Zr> z`dr~LA%h+w7ZWBcs4Zw_V8AJ~VrIft=WQxCmu@6w;?f}SvWQ+Dv6JI$6x1wc&iE!~ zf|&SZ`C*e?&EclD2?du=nxTwYvn!4LF`-y99x^d#M!efhh9;C^-CbL2YJ9lW1Slll8UYj=Ls?w;7b{%vnm+ZdHLE^wRd zG)gI)w5XIlrfN7eYU8Ts9rm%rnCB^5DB}fRMiKMV;&y4*S0%ez&9e^isu{ab&NRuY zwCXX`)L6YzNm6iMh+05TbpwaX*$1%<`VreyOE|Tn=r=f=7ahkrCCj7f{);q5)BTjJ Zj;8x5xiy;Z*H4|77oE*>@}D7v_ZR89kJJDF literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_sockets.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_sockets.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0db47fe2773342cb478cc8c459b50e6456036efd GIT binary patch literal 32430 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_streams.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_streams.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..05453a4aa6204e40e414773f8c1bf650ab7b6f73 GIT binary patch literal 2650 zcmb7GO>7%Q6rQ!$8~-J73~gxo!>B|hu3EcQ3kM5TZCapJOVX002v^l+vpcr8*`F{w zPH+^YfO_bWTRDJKaVSEi5*H+n9JwGlm64(qm5>mJ-ds{HJ@MY|#)$(h>U#HOe%{Rc z-ka~e$v6G|X#&q*KeTJvK0^M$&gPR08`8!dXxt_SF(ixFQbm%m9kXJU82pV}aa*p) z!I*3%Y^9<=J7FkRpPj5E?NlXYrz>fR#0Zm(zPl13_uvbkN+w3$B}VclF;XncQY^D) zbBeI!_Fgr%HFGx(d%zd%(Qm}2NFn_Qy9LS5XpZ9wO_;9ZO+deIy1BrvY8;yKlE$4! zG1QCud){NV%bSyPH<&KoXF4+%*_7Z+v;E!Mr>2-=MB~FfTzYQxdXv(Eu= zEp+etY-FOmpmEKnw)U|)*Qiz*S3Pr?m8sLP=NPAMHL&Z^IX#E06`DuELWd5omz-2w1ZBl=tP;iu;G%{L=(2gQ8Cy&41hR8 zxLKhi7?Fe<`v++oacnMZ*%b?mtgJ>xVlOwyBuFrWylSfmD9;7o@z zGRkFovUse!8KpBG1DBo`zz^L9M}{C5ua6arMReVCJi#=h82ZYYXmF2gEf3qpnmj#uCm!C+@tx9JUL+z0x8_A|tG!i_ zR(9a|Braas(p%YqLF{_=Top@M-^B78JI<5Z4NqYHGGI8Q7$mdl2v);vP2k`j(1g1RmWN2ePKfP3{yEZG$xdK1ta8|OL z%vmg1=3Hr^DeA6sqImpx$%7yrT>!XRjd>-_X_{_H)m>1JinCW-X!?Ds>aZnMU4HF3 zp(#d6qkzHt8pJB;C?vc0E91-hgUq2;=Ft7+A4|WSSSwAoOOw!jnBUjhKfRWpY3FBJ z*_rjs$QM^0WDc}42ZEV1Yx(hZe!P_(U(dYU%Fu_|TqhIgz+4Ju^^}%lYtMR$fI7uPlAh@%~aJ-tE%l94GY^@RsE=;SDf-Csu;Oe8x5#V9#7E_LF$#1*MS{$GX$aPPtZ!m2i)&H^ls zC5U4#`U+ew$Rrs%N&F`PdS1x5f#_~2hF5MtuaIb6-ua23l!o|6ao4U-Pm^zjVK~JP z!vxkp?>7*gxFkvIyQ@_S&|;QHT?N2YpIcT xYGhUED5DZa@xSG|oNA@%o!#y9SnKfFpWbO7zSv4%Y|ED($8o`vXDkc6{|B8k%Jl#M literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5abda855d05b5b80166550bd5c9d768ef123fc82 GIT binary patch literal 9571 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_synchronization.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_synchronization.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7814ff79af8f2c7001ac3a881d1944c510ae21ac GIT binary patch literal 35708 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_tasks.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_tasks.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..88a83179a9b4c1746443fd651a9d2b440e1d2f74 GIT binary patch literal 7695 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 T`;aO3z^R1xc89zKNDKTA`#6m* literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_typedattr.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/__pycache__/_typedattr.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..30e40533a436527671cc9db7f9b1d13be2d7d9e5 GIT binary patch literal 4407 zcmb7HO>7&-6`ox#e?|S$mh7akHe`WQ*j5Ao6b%hyv)Ub*8!va6 z*`@v<2ZABAbfJSUgqZwEKfR&q%>#_nVD6kG$fPr#OzxoX7;fR9PksZG|X4}VP&9aWyBo3M)Jd7 zBV%3)`gF%}eciWQ$IHt>>a1?t`ixD3+>h za_1t6Yq#t2M{^s76(H=0j@uN7R}}P1SeR ziq7t+K5C}w9o4)7sGAU+pOG!x`Nedx>{e)T#`W<>9Y%|lMe58IZEL1jUG&SYbFy&! zc+szW^IhQj$zkl1-@;GvjqKE1Ak_wxra_f>erw9TLHC)cDt^ zzx4Br3hi30N||Bno~O>btk)8%;o3IX3%y^+@E6XOsd2|s{j%<>6kNQhR%m+mpiH|CHFo%tpyT1B($+s<@GB|m>1Bv7i#&$) zCv9sGa#!-hF(Jz&8Ykz-t-@V-S$-780Ei8nDMz`zv1NH#nv+=0Plimyj4jK*l}+W7 zSd{yov{v*15jrh;4}Xc@P!APx0wsP}8~=@-!`ww51FN2M-!`X}@ZDYQ^$A z2tC#E!4XlTg0GXeDFiHpQ_Qqjknwz-`QE(cmm$7@S%h5NL&pchnr1ncuXQ}7X&BFj z?J=}vkU}|*UZFu+)3_@&%|on%o3p}lFkmW>rSX@pSK%eWdx6or4`h3VJe@fDsnIxj z?u(iAiHjQ(7wdgb_q_h=v%g9GF4ZDRdW4hug=X&cuW}P#<|ZC_>$$@lxx+0I>mT_% z^+jLf*d^#sNB1{(U4FEuvFozv&tme}$a4auMdaa;?SG|6dfzm}}T@ytN7srZ2w`9BEPpG!7CXxPv{(4?(7 zpiy+73SFkenkE&h7;Un4xlzGc5BPv$~cN>oAg3t6WzIX-hu@?v18R(|S9!JzpZn}B% z))7@q-ntb574!;RY-uaOO=DruN%}>Y=2(P)cm`4ePizQdewnJhyQ6+aI}5he7P*RZ z1JpC>Rb9t~01buC>2{5F5EOU0C}g+K$<%qKR{Z&3~@ttGoH8f=Buwrp_lPZkmw=4 zu8`I!85*gl`OOc~p=DSWR*jv|-s5S6*UzMBp`6T)0y`_BSbPVRMkov7eB-5WeUn<> z!Iv;6tdQo3Q=g9uO_HW4TNq~W7bD{CsmpK)+x3iraN23F(2X63MWJ1+s~tNDvmU;R zhD9CO2_WCB;dk+!6cEtx>W#+L8v-Wq#{!UhP zrdPUXGs&YQ+*&`N7B0D+A@#2YJAWFosYq8wy^mvBJsrPVJ+J zeT2fixDt_#!5jv!HLE&q`%q8@%(`%VQMT=fSKKR9x4RkBEe~M!V_uRLqWbQr#V1wR z1Wo5rof&0yR<~@hmkt}j)@@xwskoO=c^)b}Zs4vTmU3spx&?qus5_lkSOIQJkh(+{ zMJbXFoyf5E1%@y@c>n|nC}@1jI)%so90`*k%`<=iZtP2>_cwR%-Prxsr{CMyeX2fH zpW1#pIEIDB{w`?_j((DF430y8I$CTTdv|?wYGZWjFXtLV?`@9ldoX~1tu(x|y}jMa zlA+Q1-2H{Mh5Dd}2z0N1h&(uWI`&8DbZoj)SR58-LbTy9CCUwC&nGwriCGMF4j*D2 zai+7*Lzk~({EBrPusfdr8M|IFccP`CuaoI|EC8h)YiYKxny$A&Lb-xt;5 z57|4whY;`m8%QfANm7%1yAkc1 None: + self._thread = threading.Thread(target=self.run, name="AnyIO socket selector") + self._selector = DefaultSelector() + self._send, self._receive = socket.socketpair() + self._send.setblocking(False) + self._receive.setblocking(False) + # This somewhat reduces the amount of memory wasted queueing up data + # for wakeups. With these settings, maximum number of 1-byte sends + # before getting BlockingIOError: + # Linux 4.8: 6 + # macOS (darwin 15.5): 1 + # Windows 10: 525347 + # Windows you're weird. (And on Windows setting SNDBUF to 0 makes send + # blocking, even on non-blocking sockets, so don't do that.) + self._receive.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 1) + self._send.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 1) + # On Windows this is a TCP socket so this might matter. On other + # platforms this fails b/c AF_UNIX sockets aren't actually TCP. + try: + self._send.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + except OSError: + pass + + self._selector.register(self._receive, EVENT_READ) + self._closed = False + + def start(self) -> None: + self._thread.start() + threading._register_atexit(self._stop) # type: ignore[attr-defined] + + def _stop(self) -> None: + global _selector + self._closed = True + self._notify_self() + self._send.close() + self._thread.join() + self._selector.unregister(self._receive) + self._receive.close() + self._selector.close() + _selector = None + assert ( + not self._selector.get_map() + ), "selector still has registered file descriptors after shutdown" + + def _notify_self(self) -> None: + try: + self._send.send(b"\x00") + except BlockingIOError: + pass + + def add_reader(self, fd: FileDescriptorLike, callback: Callable[[], Any]) -> None: + loop = asyncio.get_running_loop() + try: + key = self._selector.get_key(fd) + except KeyError: + self._selector.register(fd, EVENT_READ, {EVENT_READ: (loop, callback)}) + else: + if EVENT_READ in key.data: + raise ValueError( + "this file descriptor is already registered for reading" + ) + + key.data[EVENT_READ] = loop, callback + self._selector.modify(fd, key.events | EVENT_READ, key.data) + + self._notify_self() + + def add_writer(self, fd: FileDescriptorLike, callback: Callable[[], Any]) -> None: + loop = asyncio.get_running_loop() + try: + key = self._selector.get_key(fd) + except KeyError: + self._selector.register(fd, EVENT_WRITE, {EVENT_WRITE: (loop, callback)}) + else: + if EVENT_WRITE in key.data: + raise ValueError( + "this file descriptor is already registered for writing" + ) + + key.data[EVENT_WRITE] = loop, callback + self._selector.modify(fd, key.events | EVENT_WRITE, key.data) + + self._notify_self() + + def remove_reader(self, fd: FileDescriptorLike) -> bool: + try: + key = self._selector.get_key(fd) + except KeyError: + return False + + if new_events := key.events ^ EVENT_READ: + del key.data[EVENT_READ] + self._selector.modify(fd, new_events, key.data) + else: + self._selector.unregister(fd) + + return True + + def remove_writer(self, fd: FileDescriptorLike) -> bool: + try: + key = self._selector.get_key(fd) + except KeyError: + return False + + if new_events := key.events ^ EVENT_WRITE: + del key.data[EVENT_WRITE] + self._selector.modify(fd, new_events, key.data) + else: + self._selector.unregister(fd) + + return True + + def run(self) -> None: + while not self._closed: + for key, events in self._selector.select(): + if key.fileobj is self._receive: + try: + while self._receive.recv(4096): + pass + except BlockingIOError: + pass + + continue + + if events & EVENT_READ: + loop, callback = key.data[EVENT_READ] + self.remove_reader(key.fd) + try: + loop.call_soon_threadsafe(callback) + except RuntimeError: + pass # the loop was already closed + + if events & EVENT_WRITE: + loop, callback = key.data[EVENT_WRITE] + self.remove_writer(key.fd) + try: + loop.call_soon_threadsafe(callback) + except RuntimeError: + pass # the loop was already closed + + +def get_selector() -> Selector: + global _selector + + with _selector_lock: + if _selector is None: + _selector = Selector() + _selector.start() + + return _selector diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_eventloop.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_eventloop.py new file mode 100644 index 0000000..6dcb458 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_eventloop.py @@ -0,0 +1,166 @@ +from __future__ import annotations + +import math +import sys +import threading +from collections.abc import Awaitable, Callable, Generator +from contextlib import contextmanager +from importlib import import_module +from typing import TYPE_CHECKING, Any, TypeVar + +import sniffio + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +if TYPE_CHECKING: + from ..abc import AsyncBackend + +# This must be updated when new backends are introduced +BACKENDS = "asyncio", "trio" + +T_Retval = TypeVar("T_Retval") +PosArgsT = TypeVarTuple("PosArgsT") + +threadlocals = threading.local() +loaded_backends: dict[str, type[AsyncBackend]] = {} + + +def run( + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + *args: Unpack[PosArgsT], + backend: str = "asyncio", + backend_options: dict[str, Any] | None = None, +) -> T_Retval: + """ + Run the given coroutine function in an asynchronous event loop. + + The current thread must not be already running an event loop. + + :param func: a coroutine function + :param args: positional arguments to ``func`` + :param backend: name of the asynchronous event loop implementation – currently + either ``asyncio`` or ``trio`` + :param backend_options: keyword arguments to call the backend ``run()`` + implementation with (documented :ref:`here `) + :return: the return value of the coroutine function + :raises RuntimeError: if an asynchronous event loop is already running in this + thread + :raises LookupError: if the named backend is not found + + """ + try: + asynclib_name = sniffio.current_async_library() + except sniffio.AsyncLibraryNotFoundError: + pass + else: + raise RuntimeError(f"Already running {asynclib_name} in this thread") + + try: + async_backend = get_async_backend(backend) + except ImportError as exc: + raise LookupError(f"No such backend: {backend}") from exc + + token = None + if sniffio.current_async_library_cvar.get(None) is None: + # Since we're in control of the event loop, we can cache the name of the async + # library + token = sniffio.current_async_library_cvar.set(backend) + + try: + backend_options = backend_options or {} + return async_backend.run(func, args, {}, backend_options) + finally: + if token: + sniffio.current_async_library_cvar.reset(token) + + +async def sleep(delay: float) -> None: + """ + Pause the current task for the specified duration. + + :param delay: the duration, in seconds + + """ + return await get_async_backend().sleep(delay) + + +async def sleep_forever() -> None: + """ + Pause the current task until it's cancelled. + + This is a shortcut for ``sleep(math.inf)``. + + .. versionadded:: 3.1 + + """ + await sleep(math.inf) + + +async def sleep_until(deadline: float) -> None: + """ + Pause the current task until the given time. + + :param deadline: the absolute time to wake up at (according to the internal + monotonic clock of the event loop) + + .. versionadded:: 3.1 + + """ + now = current_time() + await sleep(max(deadline - now, 0)) + + +def current_time() -> float: + """ + Return the current value of the event loop's internal clock. + + :return: the clock value (seconds) + + """ + return get_async_backend().current_time() + + +def get_all_backends() -> tuple[str, ...]: + """Return a tuple of the names of all built-in backends.""" + return BACKENDS + + +def get_cancelled_exc_class() -> type[BaseException]: + """Return the current async library's cancellation exception class.""" + return get_async_backend().cancelled_exception_class() + + +# +# Private API +# + + +@contextmanager +def claim_worker_thread( + backend_class: type[AsyncBackend], token: object +) -> Generator[Any, None, None]: + threadlocals.current_async_backend = backend_class + threadlocals.current_token = token + try: + yield + finally: + del threadlocals.current_async_backend + del threadlocals.current_token + + +def get_async_backend(asynclib_name: str | None = None) -> type[AsyncBackend]: + if asynclib_name is None: + asynclib_name = sniffio.current_async_library() + + # We use our own dict instead of sys.modules to get the already imported back-end + # class because the appropriate modules in sys.modules could potentially be only + # partially initialized + try: + return loaded_backends[asynclib_name] + except KeyError: + module = import_module(f"anyio._backends._{asynclib_name}") + loaded_backends[asynclib_name] = module.backend_class + return module.backend_class diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_exceptions.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_exceptions.py new file mode 100644 index 0000000..16b9448 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_exceptions.py @@ -0,0 +1,126 @@ +from __future__ import annotations + +import sys +from collections.abc import Generator +from textwrap import dedent +from typing import Any + +if sys.version_info < (3, 11): + from exceptiongroup import BaseExceptionGroup + + +class BrokenResourceError(Exception): + """ + Raised when trying to use a resource that has been rendered unusable due to external + causes (e.g. a send stream whose peer has disconnected). + """ + + +class BrokenWorkerProcess(Exception): + """ + Raised by :meth:`~anyio.to_process.run_sync` if the worker process terminates abruptly or + otherwise misbehaves. + """ + + +class BrokenWorkerIntepreter(Exception): + """ + Raised by :meth:`~anyio.to_interpreter.run_sync` if an unexpected exception is + raised in the subinterpreter. + """ + + def __init__(self, excinfo: Any): + # This was adapted from concurrent.futures.interpreter.ExecutionFailed + msg = excinfo.formatted + if not msg: + if excinfo.type and excinfo.msg: + msg = f"{excinfo.type.__name__}: {excinfo.msg}" + else: + msg = excinfo.type.__name__ or excinfo.msg + + super().__init__(msg) + self.excinfo = excinfo + + def __str__(self) -> str: + try: + formatted = self.excinfo.errdisplay + except Exception: + return super().__str__() + else: + return dedent( + f""" + {super().__str__()} + + Uncaught in the interpreter: + + {formatted} + """.strip() + ) + + +class BusyResourceError(Exception): + """ + Raised when two tasks are trying to read from or write to the same resource + concurrently. + """ + + def __init__(self, action: str): + super().__init__(f"Another task is already {action} this resource") + + +class ClosedResourceError(Exception): + """Raised when trying to use a resource that has been closed.""" + + +class DelimiterNotFound(Exception): + """ + Raised during + :meth:`~anyio.streams.buffered.BufferedByteReceiveStream.receive_until` if the + maximum number of bytes has been read without the delimiter being found. + """ + + def __init__(self, max_bytes: int) -> None: + super().__init__( + f"The delimiter was not found among the first {max_bytes} bytes" + ) + + +class EndOfStream(Exception): + """ + Raised when trying to read from a stream that has been closed from the other end. + """ + + +class IncompleteRead(Exception): + """ + Raised during + :meth:`~anyio.streams.buffered.BufferedByteReceiveStream.receive_exactly` or + :meth:`~anyio.streams.buffered.BufferedByteReceiveStream.receive_until` if the + connection is closed before the requested amount of bytes has been read. + """ + + def __init__(self) -> None: + super().__init__( + "The stream was closed before the read operation could be completed" + ) + + +class TypedAttributeLookupError(LookupError): + """ + Raised by :meth:`~anyio.TypedAttributeProvider.extra` when the given typed attribute + is not found and no default value has been given. + """ + + +class WouldBlock(Exception): + """Raised by ``X_nowait`` functions if ``X()`` would block.""" + + +def iterate_exceptions( + exception: BaseException, +) -> Generator[BaseException, None, None]: + if isinstance(exception, BaseExceptionGroup): + for exc in exception.exceptions: + yield from iterate_exceptions(exc) + else: + yield exception diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_fileio.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_fileio.py new file mode 100644 index 0000000..4e34f2a --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_fileio.py @@ -0,0 +1,729 @@ +from __future__ import annotations + +import os +import pathlib +import sys +from collections.abc import ( + AsyncIterator, + Callable, + Iterable, + Iterator, + Sequence, +) +from dataclasses import dataclass +from functools import partial +from os import PathLike +from typing import ( + IO, + TYPE_CHECKING, + Any, + AnyStr, + Final, + Generic, + overload, +) + +from .. import to_thread +from ..abc import AsyncResource + +if TYPE_CHECKING: + from _typeshed import OpenBinaryMode, OpenTextMode, ReadableBuffer, WriteableBuffer +else: + ReadableBuffer = OpenBinaryMode = OpenTextMode = WriteableBuffer = object + + +class AsyncFile(AsyncResource, Generic[AnyStr]): + """ + An asynchronous file object. + + This class wraps a standard file object and provides async friendly versions of the + following blocking methods (where available on the original file object): + + * read + * read1 + * readline + * readlines + * readinto + * readinto1 + * write + * writelines + * truncate + * seek + * tell + * flush + + All other methods are directly passed through. + + This class supports the asynchronous context manager protocol which closes the + underlying file at the end of the context block. + + This class also supports asynchronous iteration:: + + async with await open_file(...) as f: + async for line in f: + print(line) + """ + + def __init__(self, fp: IO[AnyStr]) -> None: + self._fp: Any = fp + + def __getattr__(self, name: str) -> object: + return getattr(self._fp, name) + + @property + def wrapped(self) -> IO[AnyStr]: + """The wrapped file object.""" + return self._fp + + async def __aiter__(self) -> AsyncIterator[AnyStr]: + while True: + line = await self.readline() + if line: + yield line + else: + break + + async def aclose(self) -> None: + return await to_thread.run_sync(self._fp.close) + + async def read(self, size: int = -1) -> AnyStr: + return await to_thread.run_sync(self._fp.read, size) + + async def read1(self: AsyncFile[bytes], size: int = -1) -> bytes: + return await to_thread.run_sync(self._fp.read1, size) + + async def readline(self) -> AnyStr: + return await to_thread.run_sync(self._fp.readline) + + async def readlines(self) -> list[AnyStr]: + return await to_thread.run_sync(self._fp.readlines) + + async def readinto(self: AsyncFile[bytes], b: WriteableBuffer) -> int: + return await to_thread.run_sync(self._fp.readinto, b) + + async def readinto1(self: AsyncFile[bytes], b: WriteableBuffer) -> int: + return await to_thread.run_sync(self._fp.readinto1, b) + + @overload + async def write(self: AsyncFile[bytes], b: ReadableBuffer) -> int: ... + + @overload + async def write(self: AsyncFile[str], b: str) -> int: ... + + async def write(self, b: ReadableBuffer | str) -> int: + return await to_thread.run_sync(self._fp.write, b) + + @overload + async def writelines( + self: AsyncFile[bytes], lines: Iterable[ReadableBuffer] + ) -> None: ... + + @overload + async def writelines(self: AsyncFile[str], lines: Iterable[str]) -> None: ... + + async def writelines(self, lines: Iterable[ReadableBuffer] | Iterable[str]) -> None: + return await to_thread.run_sync(self._fp.writelines, lines) + + async def truncate(self, size: int | None = None) -> int: + return await to_thread.run_sync(self._fp.truncate, size) + + async def seek(self, offset: int, whence: int | None = os.SEEK_SET) -> int: + return await to_thread.run_sync(self._fp.seek, offset, whence) + + async def tell(self) -> int: + return await to_thread.run_sync(self._fp.tell) + + async def flush(self) -> None: + return await to_thread.run_sync(self._fp.flush) + + +@overload +async def open_file( + file: str | PathLike[str] | int, + mode: OpenBinaryMode, + buffering: int = ..., + encoding: str | None = ..., + errors: str | None = ..., + newline: str | None = ..., + closefd: bool = ..., + opener: Callable[[str, int], int] | None = ..., +) -> AsyncFile[bytes]: ... + + +@overload +async def open_file( + file: str | PathLike[str] | int, + mode: OpenTextMode = ..., + buffering: int = ..., + encoding: str | None = ..., + errors: str | None = ..., + newline: str | None = ..., + closefd: bool = ..., + opener: Callable[[str, int], int] | None = ..., +) -> AsyncFile[str]: ... + + +async def open_file( + file: str | PathLike[str] | int, + mode: str = "r", + buffering: int = -1, + encoding: str | None = None, + errors: str | None = None, + newline: str | None = None, + closefd: bool = True, + opener: Callable[[str, int], int] | None = None, +) -> AsyncFile[Any]: + """ + Open a file asynchronously. + + The arguments are exactly the same as for the builtin :func:`open`. + + :return: an asynchronous file object + + """ + fp = await to_thread.run_sync( + open, file, mode, buffering, encoding, errors, newline, closefd, opener + ) + return AsyncFile(fp) + + +def wrap_file(file: IO[AnyStr]) -> AsyncFile[AnyStr]: + """ + Wrap an existing file as an asynchronous file. + + :param file: an existing file-like object + :return: an asynchronous file object + + """ + return AsyncFile(file) + + +@dataclass(eq=False) +class _PathIterator(AsyncIterator["Path"]): + iterator: Iterator[PathLike[str]] + + async def __anext__(self) -> Path: + nextval = await to_thread.run_sync( + next, self.iterator, None, abandon_on_cancel=True + ) + if nextval is None: + raise StopAsyncIteration from None + + return Path(nextval) + + +class Path: + """ + An asynchronous version of :class:`pathlib.Path`. + + This class cannot be substituted for :class:`pathlib.Path` or + :class:`pathlib.PurePath`, but it is compatible with the :class:`os.PathLike` + interface. + + It implements the Python 3.10 version of :class:`pathlib.Path` interface, except for + the deprecated :meth:`~pathlib.Path.link_to` method. + + Some methods may be unavailable or have limited functionality, based on the Python + version: + + * :meth:`~pathlib.Path.copy` (available on Python 3.14 or later) + * :meth:`~pathlib.Path.copy_into` (available on Python 3.14 or later) + * :meth:`~pathlib.Path.from_uri` (available on Python 3.13 or later) + * :meth:`~pathlib.Path.full_match` (available on Python 3.13 or later) + * :meth:`~pathlib.Path.is_junction` (available on Python 3.12 or later) + * :meth:`~pathlib.Path.match` (the ``case_sensitive`` paramater is only available on + Python 3.13 or later) + * :meth:`~pathlib.Path.move` (available on Python 3.14 or later) + * :meth:`~pathlib.Path.move_into` (available on Python 3.14 or later) + * :meth:`~pathlib.Path.relative_to` (the ``walk_up`` parameter is only available on + Python 3.12 or later) + * :meth:`~pathlib.Path.walk` (available on Python 3.12 or later) + + Any methods that do disk I/O need to be awaited on. These methods are: + + * :meth:`~pathlib.Path.absolute` + * :meth:`~pathlib.Path.chmod` + * :meth:`~pathlib.Path.cwd` + * :meth:`~pathlib.Path.exists` + * :meth:`~pathlib.Path.expanduser` + * :meth:`~pathlib.Path.group` + * :meth:`~pathlib.Path.hardlink_to` + * :meth:`~pathlib.Path.home` + * :meth:`~pathlib.Path.is_block_device` + * :meth:`~pathlib.Path.is_char_device` + * :meth:`~pathlib.Path.is_dir` + * :meth:`~pathlib.Path.is_fifo` + * :meth:`~pathlib.Path.is_file` + * :meth:`~pathlib.Path.is_junction` + * :meth:`~pathlib.Path.is_mount` + * :meth:`~pathlib.Path.is_socket` + * :meth:`~pathlib.Path.is_symlink` + * :meth:`~pathlib.Path.lchmod` + * :meth:`~pathlib.Path.lstat` + * :meth:`~pathlib.Path.mkdir` + * :meth:`~pathlib.Path.open` + * :meth:`~pathlib.Path.owner` + * :meth:`~pathlib.Path.read_bytes` + * :meth:`~pathlib.Path.read_text` + * :meth:`~pathlib.Path.readlink` + * :meth:`~pathlib.Path.rename` + * :meth:`~pathlib.Path.replace` + * :meth:`~pathlib.Path.resolve` + * :meth:`~pathlib.Path.rmdir` + * :meth:`~pathlib.Path.samefile` + * :meth:`~pathlib.Path.stat` + * :meth:`~pathlib.Path.symlink_to` + * :meth:`~pathlib.Path.touch` + * :meth:`~pathlib.Path.unlink` + * :meth:`~pathlib.Path.walk` + * :meth:`~pathlib.Path.write_bytes` + * :meth:`~pathlib.Path.write_text` + + Additionally, the following methods return an async iterator yielding + :class:`~.Path` objects: + + * :meth:`~pathlib.Path.glob` + * :meth:`~pathlib.Path.iterdir` + * :meth:`~pathlib.Path.rglob` + """ + + __slots__ = "_path", "__weakref__" + + __weakref__: Any + + def __init__(self, *args: str | PathLike[str]) -> None: + self._path: Final[pathlib.Path] = pathlib.Path(*args) + + def __fspath__(self) -> str: + return self._path.__fspath__() + + def __str__(self) -> str: + return self._path.__str__() + + def __repr__(self) -> str: + return f"{self.__class__.__name__}({self.as_posix()!r})" + + def __bytes__(self) -> bytes: + return self._path.__bytes__() + + def __hash__(self) -> int: + return self._path.__hash__() + + def __eq__(self, other: object) -> bool: + target = other._path if isinstance(other, Path) else other + return self._path.__eq__(target) + + def __lt__(self, other: pathlib.PurePath | Path) -> bool: + target = other._path if isinstance(other, Path) else other + return self._path.__lt__(target) + + def __le__(self, other: pathlib.PurePath | Path) -> bool: + target = other._path if isinstance(other, Path) else other + return self._path.__le__(target) + + def __gt__(self, other: pathlib.PurePath | Path) -> bool: + target = other._path if isinstance(other, Path) else other + return self._path.__gt__(target) + + def __ge__(self, other: pathlib.PurePath | Path) -> bool: + target = other._path if isinstance(other, Path) else other + return self._path.__ge__(target) + + def __truediv__(self, other: str | PathLike[str]) -> Path: + return Path(self._path / other) + + def __rtruediv__(self, other: str | PathLike[str]) -> Path: + return Path(other) / self + + @property + def parts(self) -> tuple[str, ...]: + return self._path.parts + + @property + def drive(self) -> str: + return self._path.drive + + @property + def root(self) -> str: + return self._path.root + + @property + def anchor(self) -> str: + return self._path.anchor + + @property + def parents(self) -> Sequence[Path]: + return tuple(Path(p) for p in self._path.parents) + + @property + def parent(self) -> Path: + return Path(self._path.parent) + + @property + def name(self) -> str: + return self._path.name + + @property + def suffix(self) -> str: + return self._path.suffix + + @property + def suffixes(self) -> list[str]: + return self._path.suffixes + + @property + def stem(self) -> str: + return self._path.stem + + async def absolute(self) -> Path: + path = await to_thread.run_sync(self._path.absolute) + return Path(path) + + def as_posix(self) -> str: + return self._path.as_posix() + + def as_uri(self) -> str: + return self._path.as_uri() + + if sys.version_info >= (3, 13): + parser = pathlib.Path.parser + + @classmethod + def from_uri(cls, uri: str) -> Path: + return Path(pathlib.Path.from_uri(uri)) + + def full_match( + self, path_pattern: str, *, case_sensitive: bool | None = None + ) -> bool: + return self._path.full_match(path_pattern, case_sensitive=case_sensitive) + + def match( + self, path_pattern: str, *, case_sensitive: bool | None = None + ) -> bool: + return self._path.match(path_pattern, case_sensitive=case_sensitive) + else: + + def match(self, path_pattern: str) -> bool: + return self._path.match(path_pattern) + + if sys.version_info >= (3, 14): + + async def copy( + self, + target: str | os.PathLike[str], + *, + follow_symlinks: bool = True, + dirs_exist_ok: bool = False, + preserve_metadata: bool = False, + ) -> Path: + func = partial( + self._path.copy, + follow_symlinks=follow_symlinks, + dirs_exist_ok=dirs_exist_ok, + preserve_metadata=preserve_metadata, + ) + return Path(await to_thread.run_sync(func, target)) + + async def copy_into( + self, + target_dir: str | os.PathLike[str], + *, + follow_symlinks: bool = True, + dirs_exist_ok: bool = False, + preserve_metadata: bool = False, + ) -> Path: + func = partial( + self._path.copy_into, + follow_symlinks=follow_symlinks, + dirs_exist_ok=dirs_exist_ok, + preserve_metadata=preserve_metadata, + ) + return Path(await to_thread.run_sync(func, target_dir)) + + async def move(self, target: str | os.PathLike[str]) -> Path: + # Upstream does not handle anyio.Path properly as a PathLike + target = pathlib.Path(target) + return Path(await to_thread.run_sync(self._path.move, target)) + + async def move_into( + self, + target_dir: str | os.PathLike[str], + ) -> Path: + return Path(await to_thread.run_sync(self._path.move_into, target_dir)) + + def is_relative_to(self, other: str | PathLike[str]) -> bool: + try: + self.relative_to(other) + return True + except ValueError: + return False + + async def chmod(self, mode: int, *, follow_symlinks: bool = True) -> None: + func = partial(os.chmod, follow_symlinks=follow_symlinks) + return await to_thread.run_sync(func, self._path, mode) + + @classmethod + async def cwd(cls) -> Path: + path = await to_thread.run_sync(pathlib.Path.cwd) + return cls(path) + + async def exists(self) -> bool: + return await to_thread.run_sync(self._path.exists, abandon_on_cancel=True) + + async def expanduser(self) -> Path: + return Path( + await to_thread.run_sync(self._path.expanduser, abandon_on_cancel=True) + ) + + def glob(self, pattern: str) -> AsyncIterator[Path]: + gen = self._path.glob(pattern) + return _PathIterator(gen) + + async def group(self) -> str: + return await to_thread.run_sync(self._path.group, abandon_on_cancel=True) + + async def hardlink_to( + self, target: str | bytes | PathLike[str] | PathLike[bytes] + ) -> None: + if isinstance(target, Path): + target = target._path + + await to_thread.run_sync(os.link, target, self) + + @classmethod + async def home(cls) -> Path: + home_path = await to_thread.run_sync(pathlib.Path.home) + return cls(home_path) + + def is_absolute(self) -> bool: + return self._path.is_absolute() + + async def is_block_device(self) -> bool: + return await to_thread.run_sync( + self._path.is_block_device, abandon_on_cancel=True + ) + + async def is_char_device(self) -> bool: + return await to_thread.run_sync( + self._path.is_char_device, abandon_on_cancel=True + ) + + async def is_dir(self) -> bool: + return await to_thread.run_sync(self._path.is_dir, abandon_on_cancel=True) + + async def is_fifo(self) -> bool: + return await to_thread.run_sync(self._path.is_fifo, abandon_on_cancel=True) + + async def is_file(self) -> bool: + return await to_thread.run_sync(self._path.is_file, abandon_on_cancel=True) + + if sys.version_info >= (3, 12): + + async def is_junction(self) -> bool: + return await to_thread.run_sync(self._path.is_junction) + + async def is_mount(self) -> bool: + return await to_thread.run_sync( + os.path.ismount, self._path, abandon_on_cancel=True + ) + + def is_reserved(self) -> bool: + return self._path.is_reserved() + + async def is_socket(self) -> bool: + return await to_thread.run_sync(self._path.is_socket, abandon_on_cancel=True) + + async def is_symlink(self) -> bool: + return await to_thread.run_sync(self._path.is_symlink, abandon_on_cancel=True) + + def iterdir(self) -> AsyncIterator[Path]: + gen = self._path.iterdir() + return _PathIterator(gen) + + def joinpath(self, *args: str | PathLike[str]) -> Path: + return Path(self._path.joinpath(*args)) + + async def lchmod(self, mode: int) -> None: + await to_thread.run_sync(self._path.lchmod, mode) + + async def lstat(self) -> os.stat_result: + return await to_thread.run_sync(self._path.lstat, abandon_on_cancel=True) + + async def mkdir( + self, mode: int = 0o777, parents: bool = False, exist_ok: bool = False + ) -> None: + await to_thread.run_sync(self._path.mkdir, mode, parents, exist_ok) + + @overload + async def open( + self, + mode: OpenBinaryMode, + buffering: int = ..., + encoding: str | None = ..., + errors: str | None = ..., + newline: str | None = ..., + ) -> AsyncFile[bytes]: ... + + @overload + async def open( + self, + mode: OpenTextMode = ..., + buffering: int = ..., + encoding: str | None = ..., + errors: str | None = ..., + newline: str | None = ..., + ) -> AsyncFile[str]: ... + + async def open( + self, + mode: str = "r", + buffering: int = -1, + encoding: str | None = None, + errors: str | None = None, + newline: str | None = None, + ) -> AsyncFile[Any]: + fp = await to_thread.run_sync( + self._path.open, mode, buffering, encoding, errors, newline + ) + return AsyncFile(fp) + + async def owner(self) -> str: + return await to_thread.run_sync(self._path.owner, abandon_on_cancel=True) + + async def read_bytes(self) -> bytes: + return await to_thread.run_sync(self._path.read_bytes) + + async def read_text( + self, encoding: str | None = None, errors: str | None = None + ) -> str: + return await to_thread.run_sync(self._path.read_text, encoding, errors) + + if sys.version_info >= (3, 12): + + def relative_to( + self, *other: str | PathLike[str], walk_up: bool = False + ) -> Path: + return Path(self._path.relative_to(*other, walk_up=walk_up)) + + else: + + def relative_to(self, *other: str | PathLike[str]) -> Path: + return Path(self._path.relative_to(*other)) + + async def readlink(self) -> Path: + target = await to_thread.run_sync(os.readlink, self._path) + return Path(target) + + async def rename(self, target: str | pathlib.PurePath | Path) -> Path: + if isinstance(target, Path): + target = target._path + + await to_thread.run_sync(self._path.rename, target) + return Path(target) + + async def replace(self, target: str | pathlib.PurePath | Path) -> Path: + if isinstance(target, Path): + target = target._path + + await to_thread.run_sync(self._path.replace, target) + return Path(target) + + async def resolve(self, strict: bool = False) -> Path: + func = partial(self._path.resolve, strict=strict) + return Path(await to_thread.run_sync(func, abandon_on_cancel=True)) + + def rglob(self, pattern: str) -> AsyncIterator[Path]: + gen = self._path.rglob(pattern) + return _PathIterator(gen) + + async def rmdir(self) -> None: + await to_thread.run_sync(self._path.rmdir) + + async def samefile(self, other_path: str | PathLike[str]) -> bool: + if isinstance(other_path, Path): + other_path = other_path._path + + return await to_thread.run_sync( + self._path.samefile, other_path, abandon_on_cancel=True + ) + + async def stat(self, *, follow_symlinks: bool = True) -> os.stat_result: + func = partial(os.stat, follow_symlinks=follow_symlinks) + return await to_thread.run_sync(func, self._path, abandon_on_cancel=True) + + async def symlink_to( + self, + target: str | bytes | PathLike[str] | PathLike[bytes], + target_is_directory: bool = False, + ) -> None: + if isinstance(target, Path): + target = target._path + + await to_thread.run_sync(self._path.symlink_to, target, target_is_directory) + + async def touch(self, mode: int = 0o666, exist_ok: bool = True) -> None: + await to_thread.run_sync(self._path.touch, mode, exist_ok) + + async def unlink(self, missing_ok: bool = False) -> None: + try: + await to_thread.run_sync(self._path.unlink) + except FileNotFoundError: + if not missing_ok: + raise + + if sys.version_info >= (3, 12): + + async def walk( + self, + top_down: bool = True, + on_error: Callable[[OSError], object] | None = None, + follow_symlinks: bool = False, + ) -> AsyncIterator[tuple[Path, list[str], list[str]]]: + def get_next_value() -> tuple[pathlib.Path, list[str], list[str]] | None: + try: + return next(gen) + except StopIteration: + return None + + gen = self._path.walk(top_down, on_error, follow_symlinks) + while True: + value = await to_thread.run_sync(get_next_value) + if value is None: + return + + root, dirs, paths = value + yield Path(root), dirs, paths + + def with_name(self, name: str) -> Path: + return Path(self._path.with_name(name)) + + def with_stem(self, stem: str) -> Path: + return Path(self._path.with_name(stem + self._path.suffix)) + + def with_suffix(self, suffix: str) -> Path: + return Path(self._path.with_suffix(suffix)) + + def with_segments(self, *pathsegments: str | PathLike[str]) -> Path: + return Path(*pathsegments) + + async def write_bytes(self, data: bytes) -> int: + return await to_thread.run_sync(self._path.write_bytes, data) + + async def write_text( + self, + data: str, + encoding: str | None = None, + errors: str | None = None, + newline: str | None = None, + ) -> int: + # Path.write_text() does not support the "newline" parameter before Python 3.10 + def sync_write_text() -> int: + with self._path.open( + "w", encoding=encoding, errors=errors, newline=newline + ) as fp: + return fp.write(data) + + return await to_thread.run_sync(sync_write_text) + + +PathLike.register(Path) diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_resources.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_resources.py new file mode 100644 index 0000000..b9a5344 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_resources.py @@ -0,0 +1,18 @@ +from __future__ import annotations + +from ..abc import AsyncResource +from ._tasks import CancelScope + + +async def aclose_forcefully(resource: AsyncResource) -> None: + """ + Close an asynchronous resource in a cancelled scope. + + Doing this closes the resource without waiting on anything. + + :param resource: the resource to close + + """ + with CancelScope() as scope: + scope.cancel() + await resource.aclose() diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_signals.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_signals.py new file mode 100644 index 0000000..f3451d3 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_signals.py @@ -0,0 +1,27 @@ +from __future__ import annotations + +from collections.abc import AsyncIterator +from contextlib import AbstractContextManager +from signal import Signals + +from ._eventloop import get_async_backend + + +def open_signal_receiver( + *signals: Signals, +) -> AbstractContextManager[AsyncIterator[Signals]]: + """ + Start receiving operating system signals. + + :param signals: signals to receive (e.g. ``signal.SIGINT``) + :return: an asynchronous context manager for an asynchronous iterator which yields + signal numbers + + .. warning:: Windows does not support signals natively so it is best to avoid + relying on this in cross-platform applications. + + .. warning:: On asyncio, this permanently replaces any previous signal handler for + the given signals, as set via :meth:`~asyncio.loop.add_signal_handler`. + + """ + return get_async_backend().open_signal_receiver(*signals) diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_sockets.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_sockets.py new file mode 100644 index 0000000..a822d06 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_sockets.py @@ -0,0 +1,787 @@ +from __future__ import annotations + +import errno +import os +import socket +import ssl +import stat +import sys +from collections.abc import Awaitable +from ipaddress import IPv6Address, ip_address +from os import PathLike, chmod +from socket import AddressFamily, SocketKind +from typing import TYPE_CHECKING, Any, Literal, cast, overload + +from .. import to_thread +from ..abc import ( + ConnectedUDPSocket, + ConnectedUNIXDatagramSocket, + IPAddressType, + IPSockAddrType, + SocketListener, + SocketStream, + UDPSocket, + UNIXDatagramSocket, + UNIXSocketStream, +) +from ..streams.stapled import MultiListener +from ..streams.tls import TLSStream +from ._eventloop import get_async_backend +from ._resources import aclose_forcefully +from ._synchronization import Event +from ._tasks import create_task_group, move_on_after + +if TYPE_CHECKING: + from _typeshed import FileDescriptorLike +else: + FileDescriptorLike = object + +if sys.version_info < (3, 11): + from exceptiongroup import ExceptionGroup + +if sys.version_info < (3, 13): + from typing_extensions import deprecated +else: + from warnings import deprecated + +IPPROTO_IPV6 = getattr(socket, "IPPROTO_IPV6", 41) # https://bugs.python.org/issue29515 + +AnyIPAddressFamily = Literal[ + AddressFamily.AF_UNSPEC, AddressFamily.AF_INET, AddressFamily.AF_INET6 +] +IPAddressFamily = Literal[AddressFamily.AF_INET, AddressFamily.AF_INET6] + + +# tls_hostname given +@overload +async def connect_tcp( + remote_host: IPAddressType, + remote_port: int, + *, + local_host: IPAddressType | None = ..., + ssl_context: ssl.SSLContext | None = ..., + tls_standard_compatible: bool = ..., + tls_hostname: str, + happy_eyeballs_delay: float = ..., +) -> TLSStream: ... + + +# ssl_context given +@overload +async def connect_tcp( + remote_host: IPAddressType, + remote_port: int, + *, + local_host: IPAddressType | None = ..., + ssl_context: ssl.SSLContext, + tls_standard_compatible: bool = ..., + tls_hostname: str | None = ..., + happy_eyeballs_delay: float = ..., +) -> TLSStream: ... + + +# tls=True +@overload +async def connect_tcp( + remote_host: IPAddressType, + remote_port: int, + *, + local_host: IPAddressType | None = ..., + tls: Literal[True], + ssl_context: ssl.SSLContext | None = ..., + tls_standard_compatible: bool = ..., + tls_hostname: str | None = ..., + happy_eyeballs_delay: float = ..., +) -> TLSStream: ... + + +# tls=False +@overload +async def connect_tcp( + remote_host: IPAddressType, + remote_port: int, + *, + local_host: IPAddressType | None = ..., + tls: Literal[False], + ssl_context: ssl.SSLContext | None = ..., + tls_standard_compatible: bool = ..., + tls_hostname: str | None = ..., + happy_eyeballs_delay: float = ..., +) -> SocketStream: ... + + +# No TLS arguments +@overload +async def connect_tcp( + remote_host: IPAddressType, + remote_port: int, + *, + local_host: IPAddressType | None = ..., + happy_eyeballs_delay: float = ..., +) -> SocketStream: ... + + +async def connect_tcp( + remote_host: IPAddressType, + remote_port: int, + *, + local_host: IPAddressType | None = None, + tls: bool = False, + ssl_context: ssl.SSLContext | None = None, + tls_standard_compatible: bool = True, + tls_hostname: str | None = None, + happy_eyeballs_delay: float = 0.25, +) -> SocketStream | TLSStream: + """ + Connect to a host using the TCP protocol. + + This function implements the stateless version of the Happy Eyeballs algorithm (RFC + 6555). If ``remote_host`` is a host name that resolves to multiple IP addresses, + each one is tried until one connection attempt succeeds. If the first attempt does + not connected within 250 milliseconds, a second attempt is started using the next + address in the list, and so on. On IPv6 enabled systems, an IPv6 address (if + available) is tried first. + + When the connection has been established, a TLS handshake will be done if either + ``ssl_context`` or ``tls_hostname`` is not ``None``, or if ``tls`` is ``True``. + + :param remote_host: the IP address or host name to connect to + :param remote_port: port on the target host to connect to + :param local_host: the interface address or name to bind the socket to before + connecting + :param tls: ``True`` to do a TLS handshake with the connected stream and return a + :class:`~anyio.streams.tls.TLSStream` instead + :param ssl_context: the SSL context object to use (if omitted, a default context is + created) + :param tls_standard_compatible: If ``True``, performs the TLS shutdown handshake + before closing the stream and requires that the server does this as well. + Otherwise, :exc:`~ssl.SSLEOFError` may be raised during reads from the stream. + Some protocols, such as HTTP, require this option to be ``False``. + See :meth:`~ssl.SSLContext.wrap_socket` for details. + :param tls_hostname: host name to check the server certificate against (defaults to + the value of ``remote_host``) + :param happy_eyeballs_delay: delay (in seconds) before starting the next connection + attempt + :return: a socket stream object if no TLS handshake was done, otherwise a TLS stream + :raises OSError: if the connection attempt fails + + """ + # Placed here due to https://github.com/python/mypy/issues/7057 + connected_stream: SocketStream | None = None + + async def try_connect(remote_host: str, event: Event) -> None: + nonlocal connected_stream + try: + stream = await asynclib.connect_tcp(remote_host, remote_port, local_address) + except OSError as exc: + oserrors.append(exc) + return + else: + if connected_stream is None: + connected_stream = stream + tg.cancel_scope.cancel() + else: + await stream.aclose() + finally: + event.set() + + asynclib = get_async_backend() + local_address: IPSockAddrType | None = None + family = socket.AF_UNSPEC + if local_host: + gai_res = await getaddrinfo(str(local_host), None) + family, *_, local_address = gai_res[0] + + target_host = str(remote_host) + try: + addr_obj = ip_address(remote_host) + except ValueError: + addr_obj = None + + if addr_obj is not None: + if isinstance(addr_obj, IPv6Address): + target_addrs = [(socket.AF_INET6, addr_obj.compressed)] + else: + target_addrs = [(socket.AF_INET, addr_obj.compressed)] + else: + # getaddrinfo() will raise an exception if name resolution fails + gai_res = await getaddrinfo( + target_host, remote_port, family=family, type=socket.SOCK_STREAM + ) + + # Organize the list so that the first address is an IPv6 address (if available) + # and the second one is an IPv4 addresses. The rest can be in whatever order. + v6_found = v4_found = False + target_addrs = [] + for af, *rest, sa in gai_res: + if af == socket.AF_INET6 and not v6_found: + v6_found = True + target_addrs.insert(0, (af, sa[0])) + elif af == socket.AF_INET and not v4_found and v6_found: + v4_found = True + target_addrs.insert(1, (af, sa[0])) + else: + target_addrs.append((af, sa[0])) + + oserrors: list[OSError] = [] + async with create_task_group() as tg: + for i, (af, addr) in enumerate(target_addrs): + event = Event() + tg.start_soon(try_connect, addr, event) + with move_on_after(happy_eyeballs_delay): + await event.wait() + + if connected_stream is None: + cause = ( + oserrors[0] + if len(oserrors) == 1 + else ExceptionGroup("multiple connection attempts failed", oserrors) + ) + raise OSError("All connection attempts failed") from cause + + if tls or tls_hostname or ssl_context: + try: + return await TLSStream.wrap( + connected_stream, + server_side=False, + hostname=tls_hostname or str(remote_host), + ssl_context=ssl_context, + standard_compatible=tls_standard_compatible, + ) + except BaseException: + await aclose_forcefully(connected_stream) + raise + + return connected_stream + + +async def connect_unix(path: str | bytes | PathLike[Any]) -> UNIXSocketStream: + """ + Connect to the given UNIX socket. + + Not available on Windows. + + :param path: path to the socket + :return: a socket stream object + + """ + path = os.fspath(path) + return await get_async_backend().connect_unix(path) + + +async def create_tcp_listener( + *, + local_host: IPAddressType | None = None, + local_port: int = 0, + family: AnyIPAddressFamily = socket.AddressFamily.AF_UNSPEC, + backlog: int = 65536, + reuse_port: bool = False, +) -> MultiListener[SocketStream]: + """ + Create a TCP socket listener. + + :param local_port: port number to listen on + :param local_host: IP address of the interface to listen on. If omitted, listen on + all IPv4 and IPv6 interfaces. To listen on all interfaces on a specific address + family, use ``0.0.0.0`` for IPv4 or ``::`` for IPv6. + :param family: address family (used if ``local_host`` was omitted) + :param backlog: maximum number of queued incoming connections (up to a maximum of + 2**16, or 65536) + :param reuse_port: ``True`` to allow multiple sockets to bind to the same + address/port (not supported on Windows) + :return: a list of listener objects + + """ + asynclib = get_async_backend() + backlog = min(backlog, 65536) + local_host = str(local_host) if local_host is not None else None + gai_res = await getaddrinfo( + local_host, + local_port, + family=family, + type=socket.SocketKind.SOCK_STREAM if sys.platform == "win32" else 0, + flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG, + ) + listeners: list[SocketListener] = [] + try: + # The set() is here to work around a glibc bug: + # https://sourceware.org/bugzilla/show_bug.cgi?id=14969 + sockaddr: tuple[str, int] | tuple[str, int, int, int] + for fam, kind, *_, sockaddr in sorted(set(gai_res)): + # Workaround for an uvloop bug where we don't get the correct scope ID for + # IPv6 link-local addresses when passing type=socket.SOCK_STREAM to + # getaddrinfo(): https://github.com/MagicStack/uvloop/issues/539 + if sys.platform != "win32" and kind is not SocketKind.SOCK_STREAM: + continue + + raw_socket = socket.socket(fam) + raw_socket.setblocking(False) + + # For Windows, enable exclusive address use. For others, enable address + # reuse. + if sys.platform == "win32": + raw_socket.setsockopt(socket.SOL_SOCKET, socket.SO_EXCLUSIVEADDRUSE, 1) + else: + raw_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + + if reuse_port: + raw_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) + + # If only IPv6 was requested, disable dual stack operation + if fam == socket.AF_INET6: + raw_socket.setsockopt(IPPROTO_IPV6, socket.IPV6_V6ONLY, 1) + + # Workaround for #554 + if "%" in sockaddr[0]: + addr, scope_id = sockaddr[0].split("%", 1) + sockaddr = (addr, sockaddr[1], 0, int(scope_id)) + + raw_socket.bind(sockaddr) + raw_socket.listen(backlog) + listener = asynclib.create_tcp_listener(raw_socket) + listeners.append(listener) + except BaseException: + for listener in listeners: + await listener.aclose() + + raise + + return MultiListener(listeners) + + +async def create_unix_listener( + path: str | bytes | PathLike[Any], + *, + mode: int | None = None, + backlog: int = 65536, +) -> SocketListener: + """ + Create a UNIX socket listener. + + Not available on Windows. + + :param path: path of the socket + :param mode: permissions to set on the socket + :param backlog: maximum number of queued incoming connections (up to a maximum of + 2**16, or 65536) + :return: a listener object + + .. versionchanged:: 3.0 + If a socket already exists on the file system in the given path, it will be + removed first. + + """ + backlog = min(backlog, 65536) + raw_socket = await setup_unix_local_socket(path, mode, socket.SOCK_STREAM) + try: + raw_socket.listen(backlog) + return get_async_backend().create_unix_listener(raw_socket) + except BaseException: + raw_socket.close() + raise + + +async def create_udp_socket( + family: AnyIPAddressFamily = AddressFamily.AF_UNSPEC, + *, + local_host: IPAddressType | None = None, + local_port: int = 0, + reuse_port: bool = False, +) -> UDPSocket: + """ + Create a UDP socket. + + If ``port`` has been given, the socket will be bound to this port on the local + machine, making this socket suitable for providing UDP based services. + + :param family: address family (``AF_INET`` or ``AF_INET6``) – automatically + determined from ``local_host`` if omitted + :param local_host: IP address or host name of the local interface to bind to + :param local_port: local port to bind to + :param reuse_port: ``True`` to allow multiple sockets to bind to the same + address/port (not supported on Windows) + :return: a UDP socket + + """ + if family is AddressFamily.AF_UNSPEC and not local_host: + raise ValueError('Either "family" or "local_host" must be given') + + if local_host: + gai_res = await getaddrinfo( + str(local_host), + local_port, + family=family, + type=socket.SOCK_DGRAM, + flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG, + ) + family = cast(AnyIPAddressFamily, gai_res[0][0]) + local_address = gai_res[0][-1] + elif family is AddressFamily.AF_INET6: + local_address = ("::", 0) + else: + local_address = ("0.0.0.0", 0) + + sock = await get_async_backend().create_udp_socket( + family, local_address, None, reuse_port + ) + return cast(UDPSocket, sock) + + +async def create_connected_udp_socket( + remote_host: IPAddressType, + remote_port: int, + *, + family: AnyIPAddressFamily = AddressFamily.AF_UNSPEC, + local_host: IPAddressType | None = None, + local_port: int = 0, + reuse_port: bool = False, +) -> ConnectedUDPSocket: + """ + Create a connected UDP socket. + + Connected UDP sockets can only communicate with the specified remote host/port, an + any packets sent from other sources are dropped. + + :param remote_host: remote host to set as the default target + :param remote_port: port on the remote host to set as the default target + :param family: address family (``AF_INET`` or ``AF_INET6``) – automatically + determined from ``local_host`` or ``remote_host`` if omitted + :param local_host: IP address or host name of the local interface to bind to + :param local_port: local port to bind to + :param reuse_port: ``True`` to allow multiple sockets to bind to the same + address/port (not supported on Windows) + :return: a connected UDP socket + + """ + local_address = None + if local_host: + gai_res = await getaddrinfo( + str(local_host), + local_port, + family=family, + type=socket.SOCK_DGRAM, + flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG, + ) + family = cast(AnyIPAddressFamily, gai_res[0][0]) + local_address = gai_res[0][-1] + + gai_res = await getaddrinfo( + str(remote_host), remote_port, family=family, type=socket.SOCK_DGRAM + ) + family = cast(AnyIPAddressFamily, gai_res[0][0]) + remote_address = gai_res[0][-1] + + sock = await get_async_backend().create_udp_socket( + family, local_address, remote_address, reuse_port + ) + return cast(ConnectedUDPSocket, sock) + + +async def create_unix_datagram_socket( + *, + local_path: None | str | bytes | PathLike[Any] = None, + local_mode: int | None = None, +) -> UNIXDatagramSocket: + """ + Create a UNIX datagram socket. + + Not available on Windows. + + If ``local_path`` has been given, the socket will be bound to this path, making this + socket suitable for receiving datagrams from other processes. Other processes can + send datagrams to this socket only if ``local_path`` is set. + + If a socket already exists on the file system in the ``local_path``, it will be + removed first. + + :param local_path: the path on which to bind to + :param local_mode: permissions to set on the local socket + :return: a UNIX datagram socket + + """ + raw_socket = await setup_unix_local_socket( + local_path, local_mode, socket.SOCK_DGRAM + ) + return await get_async_backend().create_unix_datagram_socket(raw_socket, None) + + +async def create_connected_unix_datagram_socket( + remote_path: str | bytes | PathLike[Any], + *, + local_path: None | str | bytes | PathLike[Any] = None, + local_mode: int | None = None, +) -> ConnectedUNIXDatagramSocket: + """ + Create a connected UNIX datagram socket. + + Connected datagram sockets can only communicate with the specified remote path. + + If ``local_path`` has been given, the socket will be bound to this path, making + this socket suitable for receiving datagrams from other processes. Other processes + can send datagrams to this socket only if ``local_path`` is set. + + If a socket already exists on the file system in the ``local_path``, it will be + removed first. + + :param remote_path: the path to set as the default target + :param local_path: the path on which to bind to + :param local_mode: permissions to set on the local socket + :return: a connected UNIX datagram socket + + """ + remote_path = os.fspath(remote_path) + raw_socket = await setup_unix_local_socket( + local_path, local_mode, socket.SOCK_DGRAM + ) + return await get_async_backend().create_unix_datagram_socket( + raw_socket, remote_path + ) + + +async def getaddrinfo( + host: bytes | str | None, + port: str | int | None, + *, + family: int | AddressFamily = 0, + type: int | SocketKind = 0, + proto: int = 0, + flags: int = 0, +) -> list[tuple[AddressFamily, SocketKind, int, str, tuple[str, int]]]: + """ + Look up a numeric IP address given a host name. + + Internationalized domain names are translated according to the (non-transitional) + IDNA 2008 standard. + + .. note:: 4-tuple IPv6 socket addresses are automatically converted to 2-tuples of + (host, port), unlike what :func:`socket.getaddrinfo` does. + + :param host: host name + :param port: port number + :param family: socket family (`'AF_INET``, ...) + :param type: socket type (``SOCK_STREAM``, ...) + :param proto: protocol number + :param flags: flags to pass to upstream ``getaddrinfo()`` + :return: list of tuples containing (family, type, proto, canonname, sockaddr) + + .. seealso:: :func:`socket.getaddrinfo` + + """ + # Handle unicode hostnames + if isinstance(host, str): + try: + encoded_host: bytes | None = host.encode("ascii") + except UnicodeEncodeError: + import idna + + encoded_host = idna.encode(host, uts46=True) + else: + encoded_host = host + + gai_res = await get_async_backend().getaddrinfo( + encoded_host, port, family=family, type=type, proto=proto, flags=flags + ) + return [ + (family, type, proto, canonname, convert_ipv6_sockaddr(sockaddr)) + for family, type, proto, canonname, sockaddr in gai_res + ] + + +def getnameinfo(sockaddr: IPSockAddrType, flags: int = 0) -> Awaitable[tuple[str, str]]: + """ + Look up the host name of an IP address. + + :param sockaddr: socket address (e.g. (ipaddress, port) for IPv4) + :param flags: flags to pass to upstream ``getnameinfo()`` + :return: a tuple of (host name, service name) + + .. seealso:: :func:`socket.getnameinfo` + + """ + return get_async_backend().getnameinfo(sockaddr, flags) + + +@deprecated("This function is deprecated; use `wait_readable` instead") +def wait_socket_readable(sock: socket.socket) -> Awaitable[None]: + """ + .. deprecated:: 4.7.0 + Use :func:`wait_readable` instead. + + Wait until the given socket has data to be read. + + .. warning:: Only use this on raw sockets that have not been wrapped by any higher + level constructs like socket streams! + + :param sock: a socket object + :raises ~anyio.ClosedResourceError: if the socket was closed while waiting for the + socket to become readable + :raises ~anyio.BusyResourceError: if another task is already waiting for the socket + to become readable + + """ + return get_async_backend().wait_readable(sock.fileno()) + + +@deprecated("This function is deprecated; use `wait_writable` instead") +def wait_socket_writable(sock: socket.socket) -> Awaitable[None]: + """ + .. deprecated:: 4.7.0 + Use :func:`wait_writable` instead. + + Wait until the given socket can be written to. + + This does **NOT** work on Windows when using the asyncio backend with a proactor + event loop (default on py3.8+). + + .. warning:: Only use this on raw sockets that have not been wrapped by any higher + level constructs like socket streams! + + :param sock: a socket object + :raises ~anyio.ClosedResourceError: if the socket was closed while waiting for the + socket to become writable + :raises ~anyio.BusyResourceError: if another task is already waiting for the socket + to become writable + + """ + return get_async_backend().wait_writable(sock.fileno()) + + +def wait_readable(obj: FileDescriptorLike) -> Awaitable[None]: + """ + Wait until the given object has data to be read. + + On Unix systems, ``obj`` must either be an integer file descriptor, or else an + object with a ``.fileno()`` method which returns an integer file descriptor. Any + kind of file descriptor can be passed, though the exact semantics will depend on + your kernel. For example, this probably won't do anything useful for on-disk files. + + On Windows systems, ``obj`` must either be an integer ``SOCKET`` handle, or else an + object with a ``.fileno()`` method which returns an integer ``SOCKET`` handle. File + descriptors aren't supported, and neither are handles that refer to anything besides + a ``SOCKET``. + + On backends where this functionality is not natively provided (asyncio + ``ProactorEventLoop`` on Windows), it is provided using a separate selector thread + which is set to shut down when the interpreter shuts down. + + .. warning:: Don't use this on raw sockets that have been wrapped by any higher + level constructs like socket streams! + + :param obj: an object with a ``.fileno()`` method or an integer handle + :raises ~anyio.ClosedResourceError: if the object was closed while waiting for the + object to become readable + :raises ~anyio.BusyResourceError: if another task is already waiting for the object + to become readable + + """ + return get_async_backend().wait_readable(obj) + + +def wait_writable(obj: FileDescriptorLike) -> Awaitable[None]: + """ + Wait until the given object can be written to. + + :param obj: an object with a ``.fileno()`` method or an integer handle + :raises ~anyio.ClosedResourceError: if the object was closed while waiting for the + object to become writable + :raises ~anyio.BusyResourceError: if another task is already waiting for the object + to become writable + + .. seealso:: See the documentation of :func:`wait_readable` for the definition of + ``obj`` and notes on backend compatibility. + + .. warning:: Don't use this on raw sockets that have been wrapped by any higher + level constructs like socket streams! + + """ + return get_async_backend().wait_writable(obj) + + +# +# Private API +# + + +def convert_ipv6_sockaddr( + sockaddr: tuple[str, int, int, int] | tuple[str, int], +) -> tuple[str, int]: + """ + Convert a 4-tuple IPv6 socket address to a 2-tuple (address, port) format. + + If the scope ID is nonzero, it is added to the address, separated with ``%``. + Otherwise the flow id and scope id are simply cut off from the tuple. + Any other kinds of socket addresses are returned as-is. + + :param sockaddr: the result of :meth:`~socket.socket.getsockname` + :return: the converted socket address + + """ + # This is more complicated than it should be because of MyPy + if isinstance(sockaddr, tuple) and len(sockaddr) == 4: + host, port, flowinfo, scope_id = sockaddr + if scope_id: + # PyPy (as of v7.3.11) leaves the interface name in the result, so + # we discard it and only get the scope ID from the end + # (https://foss.heptapod.net/pypy/pypy/-/issues/3938) + host = host.split("%")[0] + + # Add scope_id to the address + return f"{host}%{scope_id}", port + else: + return host, port + else: + return sockaddr + + +async def setup_unix_local_socket( + path: None | str | bytes | PathLike[Any], + mode: int | None, + socktype: int, +) -> socket.socket: + """ + Create a UNIX local socket object, deleting the socket at the given path if it + exists. + + Not available on Windows. + + :param path: path of the socket + :param mode: permissions to set on the socket + :param socktype: socket.SOCK_STREAM or socket.SOCK_DGRAM + + """ + path_str: str | None + if path is not None: + path_str = os.fsdecode(path) + + # Linux abstract namespace sockets aren't backed by a concrete file so skip stat call + if not path_str.startswith("\0"): + # Copied from pathlib... + try: + stat_result = os.stat(path) + except OSError as e: + if e.errno not in ( + errno.ENOENT, + errno.ENOTDIR, + errno.EBADF, + errno.ELOOP, + ): + raise + else: + if stat.S_ISSOCK(stat_result.st_mode): + os.unlink(path) + else: + path_str = None + + raw_socket = socket.socket(socket.AF_UNIX, socktype) + raw_socket.setblocking(False) + + if path_str is not None: + try: + await to_thread.run_sync(raw_socket.bind, path_str, abandon_on_cancel=True) + if mode is not None: + await to_thread.run_sync(chmod, path_str, mode, abandon_on_cancel=True) + except BaseException: + raw_socket.close() + raise + + return raw_socket diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_streams.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_streams.py new file mode 100644 index 0000000..6a9814e --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_streams.py @@ -0,0 +1,52 @@ +from __future__ import annotations + +import math +from typing import TypeVar +from warnings import warn + +from ..streams.memory import ( + MemoryObjectReceiveStream, + MemoryObjectSendStream, + MemoryObjectStreamState, +) + +T_Item = TypeVar("T_Item") + + +class create_memory_object_stream( + tuple[MemoryObjectSendStream[T_Item], MemoryObjectReceiveStream[T_Item]], +): + """ + Create a memory object stream. + + The stream's item type can be annotated like + :func:`create_memory_object_stream[T_Item]`. + + :param max_buffer_size: number of items held in the buffer until ``send()`` starts + blocking + :param item_type: old way of marking the streams with the right generic type for + static typing (does nothing on AnyIO 4) + + .. deprecated:: 4.0 + Use ``create_memory_object_stream[YourItemType](...)`` instead. + :return: a tuple of (send stream, receive stream) + + """ + + def __new__( # type: ignore[misc] + cls, max_buffer_size: float = 0, item_type: object = None + ) -> tuple[MemoryObjectSendStream[T_Item], MemoryObjectReceiveStream[T_Item]]: + if max_buffer_size != math.inf and not isinstance(max_buffer_size, int): + raise ValueError("max_buffer_size must be either an integer or math.inf") + if max_buffer_size < 0: + raise ValueError("max_buffer_size cannot be negative") + if item_type is not None: + warn( + "The item_type argument has been deprecated in AnyIO 4.0. " + "Use create_memory_object_stream[YourItemType](...) instead.", + DeprecationWarning, + stacklevel=2, + ) + + state = MemoryObjectStreamState[T_Item](max_buffer_size) + return (MemoryObjectSendStream(state), MemoryObjectReceiveStream(state)) diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_subprocesses.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_subprocesses.py new file mode 100644 index 0000000..7ba41a5 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_subprocesses.py @@ -0,0 +1,196 @@ +from __future__ import annotations + +import sys +from collections.abc import AsyncIterable, Iterable, Mapping, Sequence +from io import BytesIO +from os import PathLike +from subprocess import DEVNULL, PIPE, CalledProcessError, CompletedProcess +from typing import IO, Any, Union, cast + +from ..abc import Process +from ._eventloop import get_async_backend +from ._tasks import create_task_group + +if sys.version_info >= (3, 10): + from typing import TypeAlias +else: + from typing_extensions import TypeAlias + +StrOrBytesPath: TypeAlias = Union[str, bytes, "PathLike[str]", "PathLike[bytes]"] + + +async def run_process( + command: StrOrBytesPath | Sequence[StrOrBytesPath], + *, + input: bytes | None = None, + stdout: int | IO[Any] | None = PIPE, + stderr: int | IO[Any] | None = PIPE, + check: bool = True, + cwd: StrOrBytesPath | None = None, + env: Mapping[str, str] | None = None, + startupinfo: Any = None, + creationflags: int = 0, + start_new_session: bool = False, + pass_fds: Sequence[int] = (), + user: str | int | None = None, + group: str | int | None = None, + extra_groups: Iterable[str | int] | None = None, + umask: int = -1, +) -> CompletedProcess[bytes]: + """ + Run an external command in a subprocess and wait until it completes. + + .. seealso:: :func:`subprocess.run` + + :param command: either a string to pass to the shell, or an iterable of strings + containing the executable name or path and its arguments + :param input: bytes passed to the standard input of the subprocess + :param stdout: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, + a file-like object, or `None` + :param stderr: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, + :data:`subprocess.STDOUT`, a file-like object, or `None` + :param check: if ``True``, raise :exc:`~subprocess.CalledProcessError` if the + process terminates with a return code other than 0 + :param cwd: If not ``None``, change the working directory to this before running the + command + :param env: if not ``None``, this mapping replaces the inherited environment + variables from the parent process + :param startupinfo: an instance of :class:`subprocess.STARTUPINFO` that can be used + to specify process startup parameters (Windows only) + :param creationflags: flags that can be used to control the creation of the + subprocess (see :class:`subprocess.Popen` for the specifics) + :param start_new_session: if ``true`` the setsid() system call will be made in the + child process prior to the execution of the subprocess. (POSIX only) + :param pass_fds: sequence of file descriptors to keep open between the parent and + child processes. (POSIX only) + :param user: effective user to run the process as (Python >= 3.9, POSIX only) + :param group: effective group to run the process as (Python >= 3.9, POSIX only) + :param extra_groups: supplementary groups to set in the subprocess (Python >= 3.9, + POSIX only) + :param umask: if not negative, this umask is applied in the child process before + running the given command (Python >= 3.9, POSIX only) + :return: an object representing the completed process + :raises ~subprocess.CalledProcessError: if ``check`` is ``True`` and the process + exits with a nonzero return code + + """ + + async def drain_stream(stream: AsyncIterable[bytes], index: int) -> None: + buffer = BytesIO() + async for chunk in stream: + buffer.write(chunk) + + stream_contents[index] = buffer.getvalue() + + async with await open_process( + command, + stdin=PIPE if input else DEVNULL, + stdout=stdout, + stderr=stderr, + cwd=cwd, + env=env, + startupinfo=startupinfo, + creationflags=creationflags, + start_new_session=start_new_session, + pass_fds=pass_fds, + user=user, + group=group, + extra_groups=extra_groups, + umask=umask, + ) as process: + stream_contents: list[bytes | None] = [None, None] + async with create_task_group() as tg: + if process.stdout: + tg.start_soon(drain_stream, process.stdout, 0) + + if process.stderr: + tg.start_soon(drain_stream, process.stderr, 1) + + if process.stdin and input: + await process.stdin.send(input) + await process.stdin.aclose() + + await process.wait() + + output, errors = stream_contents + if check and process.returncode != 0: + raise CalledProcessError(cast(int, process.returncode), command, output, errors) + + return CompletedProcess(command, cast(int, process.returncode), output, errors) + + +async def open_process( + command: StrOrBytesPath | Sequence[StrOrBytesPath], + *, + stdin: int | IO[Any] | None = PIPE, + stdout: int | IO[Any] | None = PIPE, + stderr: int | IO[Any] | None = PIPE, + cwd: StrOrBytesPath | None = None, + env: Mapping[str, str] | None = None, + startupinfo: Any = None, + creationflags: int = 0, + start_new_session: bool = False, + pass_fds: Sequence[int] = (), + user: str | int | None = None, + group: str | int | None = None, + extra_groups: Iterable[str | int] | None = None, + umask: int = -1, +) -> Process: + """ + Start an external command in a subprocess. + + .. seealso:: :class:`subprocess.Popen` + + :param command: either a string to pass to the shell, or an iterable of strings + containing the executable name or path and its arguments + :param stdin: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, a + file-like object, or ``None`` + :param stdout: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, + a file-like object, or ``None`` + :param stderr: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, + :data:`subprocess.STDOUT`, a file-like object, or ``None`` + :param cwd: If not ``None``, the working directory is changed before executing + :param env: If env is not ``None``, it must be a mapping that defines the + environment variables for the new process + :param creationflags: flags that can be used to control the creation of the + subprocess (see :class:`subprocess.Popen` for the specifics) + :param startupinfo: an instance of :class:`subprocess.STARTUPINFO` that can be used + to specify process startup parameters (Windows only) + :param start_new_session: if ``true`` the setsid() system call will be made in the + child process prior to the execution of the subprocess. (POSIX only) + :param pass_fds: sequence of file descriptors to keep open between the parent and + child processes. (POSIX only) + :param user: effective user to run the process as (POSIX only) + :param group: effective group to run the process as (POSIX only) + :param extra_groups: supplementary groups to set in the subprocess (POSIX only) + :param umask: if not negative, this umask is applied in the child process before + running the given command (POSIX only) + :return: an asynchronous process object + + """ + kwargs: dict[str, Any] = {} + if user is not None: + kwargs["user"] = user + + if group is not None: + kwargs["group"] = group + + if extra_groups is not None: + kwargs["extra_groups"] = group + + if umask >= 0: + kwargs["umask"] = umask + + return await get_async_backend().open_process( + command, + stdin=stdin, + stdout=stdout, + stderr=stderr, + cwd=cwd, + env=env, + startupinfo=startupinfo, + creationflags=creationflags, + start_new_session=start_new_session, + pass_fds=pass_fds, + **kwargs, + ) diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_synchronization.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_synchronization.py new file mode 100644 index 0000000..a633132 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_synchronization.py @@ -0,0 +1,732 @@ +from __future__ import annotations + +import math +from collections import deque +from dataclasses import dataclass +from types import TracebackType + +from sniffio import AsyncLibraryNotFoundError + +from ..lowlevel import checkpoint +from ._eventloop import get_async_backend +from ._exceptions import BusyResourceError +from ._tasks import CancelScope +from ._testing import TaskInfo, get_current_task + + +@dataclass(frozen=True) +class EventStatistics: + """ + :ivar int tasks_waiting: number of tasks waiting on :meth:`~.Event.wait` + """ + + tasks_waiting: int + + +@dataclass(frozen=True) +class CapacityLimiterStatistics: + """ + :ivar int borrowed_tokens: number of tokens currently borrowed by tasks + :ivar float total_tokens: total number of available tokens + :ivar tuple borrowers: tasks or other objects currently holding tokens borrowed from + this limiter + :ivar int tasks_waiting: number of tasks waiting on + :meth:`~.CapacityLimiter.acquire` or + :meth:`~.CapacityLimiter.acquire_on_behalf_of` + """ + + borrowed_tokens: int + total_tokens: float + borrowers: tuple[object, ...] + tasks_waiting: int + + +@dataclass(frozen=True) +class LockStatistics: + """ + :ivar bool locked: flag indicating if this lock is locked or not + :ivar ~anyio.TaskInfo owner: task currently holding the lock (or ``None`` if the + lock is not held by any task) + :ivar int tasks_waiting: number of tasks waiting on :meth:`~.Lock.acquire` + """ + + locked: bool + owner: TaskInfo | None + tasks_waiting: int + + +@dataclass(frozen=True) +class ConditionStatistics: + """ + :ivar int tasks_waiting: number of tasks blocked on :meth:`~.Condition.wait` + :ivar ~anyio.LockStatistics lock_statistics: statistics of the underlying + :class:`~.Lock` + """ + + tasks_waiting: int + lock_statistics: LockStatistics + + +@dataclass(frozen=True) +class SemaphoreStatistics: + """ + :ivar int tasks_waiting: number of tasks waiting on :meth:`~.Semaphore.acquire` + + """ + + tasks_waiting: int + + +class Event: + def __new__(cls) -> Event: + try: + return get_async_backend().create_event() + except AsyncLibraryNotFoundError: + return EventAdapter() + + def set(self) -> None: + """Set the flag, notifying all listeners.""" + raise NotImplementedError + + def is_set(self) -> bool: + """Return ``True`` if the flag is set, ``False`` if not.""" + raise NotImplementedError + + async def wait(self) -> None: + """ + Wait until the flag has been set. + + If the flag has already been set when this method is called, it returns + immediately. + + """ + raise NotImplementedError + + def statistics(self) -> EventStatistics: + """Return statistics about the current state of this event.""" + raise NotImplementedError + + +class EventAdapter(Event): + _internal_event: Event | None = None + _is_set: bool = False + + def __new__(cls) -> EventAdapter: + return object.__new__(cls) + + @property + def _event(self) -> Event: + if self._internal_event is None: + self._internal_event = get_async_backend().create_event() + if self._is_set: + self._internal_event.set() + + return self._internal_event + + def set(self) -> None: + if self._internal_event is None: + self._is_set = True + else: + self._event.set() + + def is_set(self) -> bool: + if self._internal_event is None: + return self._is_set + + return self._internal_event.is_set() + + async def wait(self) -> None: + await self._event.wait() + + def statistics(self) -> EventStatistics: + if self._internal_event is None: + return EventStatistics(tasks_waiting=0) + + return self._internal_event.statistics() + + +class Lock: + def __new__(cls, *, fast_acquire: bool = False) -> Lock: + try: + return get_async_backend().create_lock(fast_acquire=fast_acquire) + except AsyncLibraryNotFoundError: + return LockAdapter(fast_acquire=fast_acquire) + + async def __aenter__(self) -> None: + await self.acquire() + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self.release() + + async def acquire(self) -> None: + """Acquire the lock.""" + raise NotImplementedError + + def acquire_nowait(self) -> None: + """ + Acquire the lock, without blocking. + + :raises ~anyio.WouldBlock: if the operation would block + + """ + raise NotImplementedError + + def release(self) -> None: + """Release the lock.""" + raise NotImplementedError + + def locked(self) -> bool: + """Return True if the lock is currently held.""" + raise NotImplementedError + + def statistics(self) -> LockStatistics: + """ + Return statistics about the current state of this lock. + + .. versionadded:: 3.0 + """ + raise NotImplementedError + + +class LockAdapter(Lock): + _internal_lock: Lock | None = None + + def __new__(cls, *, fast_acquire: bool = False) -> LockAdapter: + return object.__new__(cls) + + def __init__(self, *, fast_acquire: bool = False): + self._fast_acquire = fast_acquire + + @property + def _lock(self) -> Lock: + if self._internal_lock is None: + self._internal_lock = get_async_backend().create_lock( + fast_acquire=self._fast_acquire + ) + + return self._internal_lock + + async def __aenter__(self) -> None: + await self._lock.acquire() + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + if self._internal_lock is not None: + self._internal_lock.release() + + async def acquire(self) -> None: + """Acquire the lock.""" + await self._lock.acquire() + + def acquire_nowait(self) -> None: + """ + Acquire the lock, without blocking. + + :raises ~anyio.WouldBlock: if the operation would block + + """ + self._lock.acquire_nowait() + + def release(self) -> None: + """Release the lock.""" + self._lock.release() + + def locked(self) -> bool: + """Return True if the lock is currently held.""" + return self._lock.locked() + + def statistics(self) -> LockStatistics: + """ + Return statistics about the current state of this lock. + + .. versionadded:: 3.0 + + """ + if self._internal_lock is None: + return LockStatistics(False, None, 0) + + return self._internal_lock.statistics() + + +class Condition: + _owner_task: TaskInfo | None = None + + def __init__(self, lock: Lock | None = None): + self._lock = lock or Lock() + self._waiters: deque[Event] = deque() + + async def __aenter__(self) -> None: + await self.acquire() + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self.release() + + def _check_acquired(self) -> None: + if self._owner_task != get_current_task(): + raise RuntimeError("The current task is not holding the underlying lock") + + async def acquire(self) -> None: + """Acquire the underlying lock.""" + await self._lock.acquire() + self._owner_task = get_current_task() + + def acquire_nowait(self) -> None: + """ + Acquire the underlying lock, without blocking. + + :raises ~anyio.WouldBlock: if the operation would block + + """ + self._lock.acquire_nowait() + self._owner_task = get_current_task() + + def release(self) -> None: + """Release the underlying lock.""" + self._lock.release() + + def locked(self) -> bool: + """Return True if the lock is set.""" + return self._lock.locked() + + def notify(self, n: int = 1) -> None: + """Notify exactly n listeners.""" + self._check_acquired() + for _ in range(n): + try: + event = self._waiters.popleft() + except IndexError: + break + + event.set() + + def notify_all(self) -> None: + """Notify all the listeners.""" + self._check_acquired() + for event in self._waiters: + event.set() + + self._waiters.clear() + + async def wait(self) -> None: + """Wait for a notification.""" + await checkpoint() + event = Event() + self._waiters.append(event) + self.release() + try: + await event.wait() + except BaseException: + if not event.is_set(): + self._waiters.remove(event) + + raise + finally: + with CancelScope(shield=True): + await self.acquire() + + def statistics(self) -> ConditionStatistics: + """ + Return statistics about the current state of this condition. + + .. versionadded:: 3.0 + """ + return ConditionStatistics(len(self._waiters), self._lock.statistics()) + + +class Semaphore: + def __new__( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> Semaphore: + try: + return get_async_backend().create_semaphore( + initial_value, max_value=max_value, fast_acquire=fast_acquire + ) + except AsyncLibraryNotFoundError: + return SemaphoreAdapter(initial_value, max_value=max_value) + + def __init__( + self, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ): + if not isinstance(initial_value, int): + raise TypeError("initial_value must be an integer") + if initial_value < 0: + raise ValueError("initial_value must be >= 0") + if max_value is not None: + if not isinstance(max_value, int): + raise TypeError("max_value must be an integer or None") + if max_value < initial_value: + raise ValueError( + "max_value must be equal to or higher than initial_value" + ) + + self._fast_acquire = fast_acquire + + async def __aenter__(self) -> Semaphore: + await self.acquire() + return self + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self.release() + + async def acquire(self) -> None: + """Decrement the semaphore value, blocking if necessary.""" + raise NotImplementedError + + def acquire_nowait(self) -> None: + """ + Acquire the underlying lock, without blocking. + + :raises ~anyio.WouldBlock: if the operation would block + + """ + raise NotImplementedError + + def release(self) -> None: + """Increment the semaphore value.""" + raise NotImplementedError + + @property + def value(self) -> int: + """The current value of the semaphore.""" + raise NotImplementedError + + @property + def max_value(self) -> int | None: + """The maximum value of the semaphore.""" + raise NotImplementedError + + def statistics(self) -> SemaphoreStatistics: + """ + Return statistics about the current state of this semaphore. + + .. versionadded:: 3.0 + """ + raise NotImplementedError + + +class SemaphoreAdapter(Semaphore): + _internal_semaphore: Semaphore | None = None + + def __new__( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> SemaphoreAdapter: + return object.__new__(cls) + + def __init__( + self, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> None: + super().__init__(initial_value, max_value=max_value, fast_acquire=fast_acquire) + self._initial_value = initial_value + self._max_value = max_value + + @property + def _semaphore(self) -> Semaphore: + if self._internal_semaphore is None: + self._internal_semaphore = get_async_backend().create_semaphore( + self._initial_value, max_value=self._max_value + ) + + return self._internal_semaphore + + async def acquire(self) -> None: + await self._semaphore.acquire() + + def acquire_nowait(self) -> None: + self._semaphore.acquire_nowait() + + def release(self) -> None: + self._semaphore.release() + + @property + def value(self) -> int: + if self._internal_semaphore is None: + return self._initial_value + + return self._semaphore.value + + @property + def max_value(self) -> int | None: + return self._max_value + + def statistics(self) -> SemaphoreStatistics: + if self._internal_semaphore is None: + return SemaphoreStatistics(tasks_waiting=0) + + return self._semaphore.statistics() + + +class CapacityLimiter: + def __new__(cls, total_tokens: float) -> CapacityLimiter: + try: + return get_async_backend().create_capacity_limiter(total_tokens) + except AsyncLibraryNotFoundError: + return CapacityLimiterAdapter(total_tokens) + + async def __aenter__(self) -> None: + raise NotImplementedError + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + raise NotImplementedError + + @property + def total_tokens(self) -> float: + """ + The total number of tokens available for borrowing. + + This is a read-write property. If the total number of tokens is increased, the + proportionate number of tasks waiting on this limiter will be granted their + tokens. + + .. versionchanged:: 3.0 + The property is now writable. + + """ + raise NotImplementedError + + @total_tokens.setter + def total_tokens(self, value: float) -> None: + raise NotImplementedError + + @property + def borrowed_tokens(self) -> int: + """The number of tokens that have currently been borrowed.""" + raise NotImplementedError + + @property + def available_tokens(self) -> float: + """The number of tokens currently available to be borrowed""" + raise NotImplementedError + + def acquire_nowait(self) -> None: + """ + Acquire a token for the current task without waiting for one to become + available. + + :raises ~anyio.WouldBlock: if there are no tokens available for borrowing + + """ + raise NotImplementedError + + def acquire_on_behalf_of_nowait(self, borrower: object) -> None: + """ + Acquire a token without waiting for one to become available. + + :param borrower: the entity borrowing a token + :raises ~anyio.WouldBlock: if there are no tokens available for borrowing + + """ + raise NotImplementedError + + async def acquire(self) -> None: + """ + Acquire a token for the current task, waiting if necessary for one to become + available. + + """ + raise NotImplementedError + + async def acquire_on_behalf_of(self, borrower: object) -> None: + """ + Acquire a token, waiting if necessary for one to become available. + + :param borrower: the entity borrowing a token + + """ + raise NotImplementedError + + def release(self) -> None: + """ + Release the token held by the current task. + + :raises RuntimeError: if the current task has not borrowed a token from this + limiter. + + """ + raise NotImplementedError + + def release_on_behalf_of(self, borrower: object) -> None: + """ + Release the token held by the given borrower. + + :raises RuntimeError: if the borrower has not borrowed a token from this + limiter. + + """ + raise NotImplementedError + + def statistics(self) -> CapacityLimiterStatistics: + """ + Return statistics about the current state of this limiter. + + .. versionadded:: 3.0 + + """ + raise NotImplementedError + + +class CapacityLimiterAdapter(CapacityLimiter): + _internal_limiter: CapacityLimiter | None = None + + def __new__(cls, total_tokens: float) -> CapacityLimiterAdapter: + return object.__new__(cls) + + def __init__(self, total_tokens: float) -> None: + self.total_tokens = total_tokens + + @property + def _limiter(self) -> CapacityLimiter: + if self._internal_limiter is None: + self._internal_limiter = get_async_backend().create_capacity_limiter( + self._total_tokens + ) + + return self._internal_limiter + + async def __aenter__(self) -> None: + await self._limiter.__aenter__() + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + return await self._limiter.__aexit__(exc_type, exc_val, exc_tb) + + @property + def total_tokens(self) -> float: + if self._internal_limiter is None: + return self._total_tokens + + return self._internal_limiter.total_tokens + + @total_tokens.setter + def total_tokens(self, value: float) -> None: + if not isinstance(value, int) and value is not math.inf: + raise TypeError("total_tokens must be an int or math.inf") + elif value < 1: + raise ValueError("total_tokens must be >= 1") + + if self._internal_limiter is None: + self._total_tokens = value + return + + self._limiter.total_tokens = value + + @property + def borrowed_tokens(self) -> int: + if self._internal_limiter is None: + return 0 + + return self._internal_limiter.borrowed_tokens + + @property + def available_tokens(self) -> float: + if self._internal_limiter is None: + return self._total_tokens + + return self._internal_limiter.available_tokens + + def acquire_nowait(self) -> None: + self._limiter.acquire_nowait() + + def acquire_on_behalf_of_nowait(self, borrower: object) -> None: + self._limiter.acquire_on_behalf_of_nowait(borrower) + + async def acquire(self) -> None: + await self._limiter.acquire() + + async def acquire_on_behalf_of(self, borrower: object) -> None: + await self._limiter.acquire_on_behalf_of(borrower) + + def release(self) -> None: + self._limiter.release() + + def release_on_behalf_of(self, borrower: object) -> None: + self._limiter.release_on_behalf_of(borrower) + + def statistics(self) -> CapacityLimiterStatistics: + if self._internal_limiter is None: + return CapacityLimiterStatistics( + borrowed_tokens=0, + total_tokens=self.total_tokens, + borrowers=(), + tasks_waiting=0, + ) + + return self._internal_limiter.statistics() + + +class ResourceGuard: + """ + A context manager for ensuring that a resource is only used by a single task at a + time. + + Entering this context manager while the previous has not exited it yet will trigger + :exc:`BusyResourceError`. + + :param action: the action to guard against (visible in the :exc:`BusyResourceError` + when triggered, e.g. "Another task is already {action} this resource") + + .. versionadded:: 4.1 + """ + + __slots__ = "action", "_guarded" + + def __init__(self, action: str = "using"): + self.action: str = action + self._guarded = False + + def __enter__(self) -> None: + if self._guarded: + raise BusyResourceError(self.action) + + self._guarded = True + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self._guarded = False diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_tasks.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_tasks.py new file mode 100644 index 0000000..fe49015 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_tasks.py @@ -0,0 +1,158 @@ +from __future__ import annotations + +import math +from collections.abc import Generator +from contextlib import contextmanager +from types import TracebackType + +from ..abc._tasks import TaskGroup, TaskStatus +from ._eventloop import get_async_backend + + +class _IgnoredTaskStatus(TaskStatus[object]): + def started(self, value: object = None) -> None: + pass + + +TASK_STATUS_IGNORED = _IgnoredTaskStatus() + + +class CancelScope: + """ + Wraps a unit of work that can be made separately cancellable. + + :param deadline: The time (clock value) when this scope is cancelled automatically + :param shield: ``True`` to shield the cancel scope from external cancellation + """ + + def __new__( + cls, *, deadline: float = math.inf, shield: bool = False + ) -> CancelScope: + return get_async_backend().create_cancel_scope(shield=shield, deadline=deadline) + + def cancel(self) -> None: + """Cancel this scope immediately.""" + raise NotImplementedError + + @property + def deadline(self) -> float: + """ + The time (clock value) when this scope is cancelled automatically. + + Will be ``float('inf')`` if no timeout has been set. + + """ + raise NotImplementedError + + @deadline.setter + def deadline(self, value: float) -> None: + raise NotImplementedError + + @property + def cancel_called(self) -> bool: + """``True`` if :meth:`cancel` has been called.""" + raise NotImplementedError + + @property + def cancelled_caught(self) -> bool: + """ + ``True`` if this scope suppressed a cancellation exception it itself raised. + + This is typically used to check if any work was interrupted, or to see if the + scope was cancelled due to its deadline being reached. The value will, however, + only be ``True`` if the cancellation was triggered by the scope itself (and not + an outer scope). + + """ + raise NotImplementedError + + @property + def shield(self) -> bool: + """ + ``True`` if this scope is shielded from external cancellation. + + While a scope is shielded, it will not receive cancellations from outside. + + """ + raise NotImplementedError + + @shield.setter + def shield(self, value: bool) -> None: + raise NotImplementedError + + def __enter__(self) -> CancelScope: + raise NotImplementedError + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool: + raise NotImplementedError + + +@contextmanager +def fail_after( + delay: float | None, shield: bool = False +) -> Generator[CancelScope, None, None]: + """ + Create a context manager which raises a :class:`TimeoutError` if does not finish in + time. + + :param delay: maximum allowed time (in seconds) before raising the exception, or + ``None`` to disable the timeout + :param shield: ``True`` to shield the cancel scope from external cancellation + :return: a context manager that yields a cancel scope + :rtype: :class:`~typing.ContextManager`\\[:class:`~anyio.CancelScope`\\] + + """ + current_time = get_async_backend().current_time + deadline = (current_time() + delay) if delay is not None else math.inf + with get_async_backend().create_cancel_scope( + deadline=deadline, shield=shield + ) as cancel_scope: + yield cancel_scope + + if cancel_scope.cancelled_caught and current_time() >= cancel_scope.deadline: + raise TimeoutError + + +def move_on_after(delay: float | None, shield: bool = False) -> CancelScope: + """ + Create a cancel scope with a deadline that expires after the given delay. + + :param delay: maximum allowed time (in seconds) before exiting the context block, or + ``None`` to disable the timeout + :param shield: ``True`` to shield the cancel scope from external cancellation + :return: a cancel scope + + """ + deadline = ( + (get_async_backend().current_time() + delay) if delay is not None else math.inf + ) + return get_async_backend().create_cancel_scope(deadline=deadline, shield=shield) + + +def current_effective_deadline() -> float: + """ + Return the nearest deadline among all the cancel scopes effective for the current + task. + + :return: a clock value from the event loop's internal clock (or ``float('inf')`` if + there is no deadline in effect, or ``float('-inf')`` if the current scope has + been cancelled) + :rtype: float + + """ + return get_async_backend().current_effective_deadline() + + +def create_task_group() -> TaskGroup: + """ + Create a task group. + + :return: a task group + + """ + return get_async_backend().create_task_group() diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_testing.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_testing.py new file mode 100644 index 0000000..9e28b22 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_testing.py @@ -0,0 +1,78 @@ +from __future__ import annotations + +from collections.abc import Awaitable, Generator +from typing import Any, cast + +from ._eventloop import get_async_backend + + +class TaskInfo: + """ + Represents an asynchronous task. + + :ivar int id: the unique identifier of the task + :ivar parent_id: the identifier of the parent task, if any + :vartype parent_id: Optional[int] + :ivar str name: the description of the task (if any) + :ivar ~collections.abc.Coroutine coro: the coroutine object of the task + """ + + __slots__ = "_name", "id", "parent_id", "name", "coro" + + def __init__( + self, + id: int, + parent_id: int | None, + name: str | None, + coro: Generator[Any, Any, Any] | Awaitable[Any], + ): + func = get_current_task + self._name = f"{func.__module__}.{func.__qualname__}" + self.id: int = id + self.parent_id: int | None = parent_id + self.name: str | None = name + self.coro: Generator[Any, Any, Any] | Awaitable[Any] = coro + + def __eq__(self, other: object) -> bool: + if isinstance(other, TaskInfo): + return self.id == other.id + + return NotImplemented + + def __hash__(self) -> int: + return hash(self.id) + + def __repr__(self) -> str: + return f"{self.__class__.__name__}(id={self.id!r}, name={self.name!r})" + + def has_pending_cancellation(self) -> bool: + """ + Return ``True`` if the task has a cancellation pending, ``False`` otherwise. + + """ + return False + + +def get_current_task() -> TaskInfo: + """ + Return the current task. + + :return: a representation of the current task + + """ + return get_async_backend().get_current_task() + + +def get_running_tasks() -> list[TaskInfo]: + """ + Return a list of running tasks in the current event loop. + + :return: a list of task info objects + + """ + return cast("list[TaskInfo]", get_async_backend().get_running_tasks()) + + +async def wait_all_tasks_blocked() -> None: + """Wait until all other tasks are waiting for something.""" + await get_async_backend().wait_all_tasks_blocked() diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_typedattr.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_typedattr.py new file mode 100644 index 0000000..f358a44 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/_core/_typedattr.py @@ -0,0 +1,81 @@ +from __future__ import annotations + +from collections.abc import Callable, Mapping +from typing import Any, TypeVar, final, overload + +from ._exceptions import TypedAttributeLookupError + +T_Attr = TypeVar("T_Attr") +T_Default = TypeVar("T_Default") +undefined = object() + + +def typed_attribute() -> Any: + """Return a unique object, used to mark typed attributes.""" + return object() + + +class TypedAttributeSet: + """ + Superclass for typed attribute collections. + + Checks that every public attribute of every subclass has a type annotation. + """ + + def __init_subclass__(cls) -> None: + annotations: dict[str, Any] = getattr(cls, "__annotations__", {}) + for attrname in dir(cls): + if not attrname.startswith("_") and attrname not in annotations: + raise TypeError( + f"Attribute {attrname!r} is missing its type annotation" + ) + + super().__init_subclass__() + + +class TypedAttributeProvider: + """Base class for classes that wish to provide typed extra attributes.""" + + @property + def extra_attributes(self) -> Mapping[T_Attr, Callable[[], T_Attr]]: + """ + A mapping of the extra attributes to callables that return the corresponding + values. + + If the provider wraps another provider, the attributes from that wrapper should + also be included in the returned mapping (but the wrapper may override the + callables from the wrapped instance). + + """ + return {} + + @overload + def extra(self, attribute: T_Attr) -> T_Attr: ... + + @overload + def extra(self, attribute: T_Attr, default: T_Default) -> T_Attr | T_Default: ... + + @final + def extra(self, attribute: Any, default: object = undefined) -> object: + """ + extra(attribute, default=undefined) + + Return the value of the given typed extra attribute. + + :param attribute: the attribute (member of a :class:`~TypedAttributeSet`) to + look for + :param default: the value that should be returned if no value is found for the + attribute + :raises ~anyio.TypedAttributeLookupError: if the search failed and no default + value was given + + """ + try: + getter = self.extra_attributes[attribute] + except KeyError: + if default is undefined: + raise TypedAttributeLookupError("Attribute not found") from None + else: + return default + + return getter() diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__init__.py b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__init__.py new file mode 100644 index 0000000..3d3b61c --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__init__.py @@ -0,0 +1,55 @@ +from __future__ import annotations + +from ._eventloop import AsyncBackend as AsyncBackend +from ._resources import AsyncResource as AsyncResource +from ._sockets import ConnectedUDPSocket as ConnectedUDPSocket +from ._sockets import ConnectedUNIXDatagramSocket as ConnectedUNIXDatagramSocket +from ._sockets import IPAddressType as IPAddressType +from ._sockets import IPSockAddrType as IPSockAddrType +from ._sockets import SocketAttribute as SocketAttribute +from ._sockets import SocketListener as SocketListener +from ._sockets import SocketStream as SocketStream +from ._sockets import UDPPacketType as UDPPacketType +from ._sockets import UDPSocket as UDPSocket +from ._sockets import UNIXDatagramPacketType as UNIXDatagramPacketType +from ._sockets import UNIXDatagramSocket as UNIXDatagramSocket +from ._sockets import UNIXSocketStream as UNIXSocketStream +from ._streams import AnyByteReceiveStream as AnyByteReceiveStream +from ._streams import AnyByteSendStream as AnyByteSendStream +from ._streams import AnyByteStream as AnyByteStream +from ._streams import AnyUnreliableByteReceiveStream as AnyUnreliableByteReceiveStream +from ._streams import AnyUnreliableByteSendStream as AnyUnreliableByteSendStream +from ._streams import AnyUnreliableByteStream as AnyUnreliableByteStream +from ._streams import ByteReceiveStream as ByteReceiveStream +from ._streams import ByteSendStream as ByteSendStream +from ._streams import ByteStream as ByteStream +from ._streams import Listener as Listener +from ._streams import ObjectReceiveStream as ObjectReceiveStream +from ._streams import ObjectSendStream as ObjectSendStream +from ._streams import ObjectStream as ObjectStream +from ._streams import UnreliableObjectReceiveStream as UnreliableObjectReceiveStream +from ._streams import UnreliableObjectSendStream as UnreliableObjectSendStream +from ._streams import UnreliableObjectStream as UnreliableObjectStream +from ._subprocesses import Process as Process +from ._tasks import TaskGroup as TaskGroup +from ._tasks import TaskStatus as TaskStatus +from ._testing import TestRunner as TestRunner + +# Re-exported here, for backwards compatibility +# isort: off +from .._core._synchronization import ( + CapacityLimiter as CapacityLimiter, + Condition as Condition, + Event as Event, + Lock as Lock, + Semaphore as Semaphore, +) +from .._core._tasks import CancelScope as CancelScope +from ..from_thread import BlockingPortal as BlockingPortal + +# Re-export imports so they look like they live directly in this package +for __value in list(locals().values()): + if getattr(__value, "__module__", "").startswith("anyio.abc."): + __value.__module__ = __name__ + +del __value diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bb490ab827894603288de50d6ad371c529c465a5 GIT binary patch literal 2886 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 LE61{EO$HAk94c%z*lP1{I0r1H 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 URc(6y0haOsP5*EO6t$fH1NKMa#Q*>R literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_resources.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_resources.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0333d34a0ca240fa32fd49cf123894fbf6039424 GIT binary patch literal 1817 zcmah}&2Jk;6rb5IZ=5(zYC}pW>Z%uH32ar|DpVPFOU$^TfA-|z8ZFa%X3jxd#iAY3al2D&gZ4i$L zCq9jcZ$#8LBg40%Mexn??dVE052M2?Q6s7!TE}30`fMNHjTXSqW?oxSLlJ(!RXUI% z-~XlRL0g$P=XIIlUKlf_yscDvERI1+6=&U;dkk0hWGd2u^5kR()voF-K1}6~0uzsk zvSFBtjPGS$!UWsq()+B}4|}jY8%UwNtjE2+P#F^;Fqz`WVE<|f|MsP(iKn9{zr%Mx&g+fGvlk$e+~s>=kU?>bmyv#S z2a@#8UdVT`%0BiUdh4m+c?GQ=uz1`o>8EN(Z_*t%OJz6JTDV1M;c=5@z^LKEs++>~ z!$esg%9ZvAZrkVPJ#u7zsc+f_k#(?#0(XkcwJeRa#DL|?NUj1=csSOgTm&YcL0}-e zfY{RWh-t+Vu4)4*02|GbdgI%juXnymzDds9SO2Ta1}yo%%7`dj7GuA$ip8&sbehn1 zQ7&=;PuInw9hTQX-fxy&E#ke7mRNL!p9hd!?Zf&M2rOAyLxNn(Es%K$Cp0`5sK!XX zf}FNoMoZ%#{7mi!fnW&_0<5DM9C|O2;I9%O7)9}o4BK``1j#&EY#h8hvZ&o0kuq@{``U<<$pUejBZJyE z(6}H^O_)3U#bP~b!z}m34|)~q0CLVe$oO?N0ZxlW0Z7I zaM4Z4mC@7!gqWB2U>yW6q_3e2$j9>~a~l%A6tXXXBcyngngeon5RmHRna nJ}dVp*6hLE$E#ng9j+bFk+VbrgXhV2+j{mXs{VR`Uc3G`!R*Q6 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_sockets.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_sockets.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fd28bebd7c11ae1ef747bb1f9b8e4b133f1def66 GIT binary patch literal 11208 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_streams.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_streams.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c92a4ffa6ab319c5c220dcc28fc2417ce95998be GIT binary patch literal 9604 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

  • @ISl{pU}D(jG3#AMME(uV}FluIa6;I*8bkhp^tL8*Pj`4O2)VAH7! zT{lqUTZg0sfDkxiIiP`AWalQ|(FX@d=sb2 zAsFAiRO-5*YqR(T5jv!aUlXBgSMNEKED%KGJz)opIGtmLa9nm?Y{X`U$D0)XZIVPwCP`MY6I| zC!4tkoi0sux~y0%lU^bY*J(4+B3WmH+?% literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_testing.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/__pycache__/_testing.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bea01586745d951b10cf0d3142640fbc2bb1d5b2 GIT binary patch literal 3025 zcmd5;&2Jk;6rc6y`XdP?rXOibhJqRltxbglC?KS^s;VN91C2o1$gIY@6USsf%*;BC zqaKVDp&q%FGl!z8oRGNiSLDDU+6$F9_2v>zKJnh{uG@_*+9T`T=h^pW-p>2|-kX`9 z=jO@;uD^f#qjSDU$Y1!9T=}S>9eodt`@|-;<`7piG!5GsCu3ybKkH=OoRM?$MqcT2 zPQfi2MOQa;w`7#uvQbw0yi;+jM%A4&<}{Kae9kUB&TG$U&-+1Y&ngXitDc4a^J0D3%{j5P|NKWCqq(icI0-mXpQ zb@xtxa#&vHGWeqJL125LOyRoWS*$1f4hy)Xj0&)Iy$<0XDk6GKS!)23sgRb9XZL4WQfWTX)(Hn#%(}eK2FwMQ%GejB_?Fsmzgybee za=5T~uW|%U66$={G6Udvyo7S&8k79SuEl$pQZ0IyuKAD_MeMc1oN+B>Ps|17q#e1C zjdjR7-iFy??!i0xA-&Y(C8LgIKNTGXHs z>JZ~@H-Nww(}61`c9A6zLo%w8Q%gTs;v|l$ZgzKpH*RkBJ!^b1sfLY4qj8C*Yh}Y+ z2bDKywZg*o9VR+*Ja2ccU;|1lGK{N9;XvP(6&DA5W-1kI4U#s)Fhf-OU>K0Rl);S! zN;^q~(s+W6@}%Qxj|t``1~v0l%+5qZF&1R*_=srMt8|+W?)bu{5JTUEbdfahqbiu? z1u7uedgdz1^HrQGS4NuCKHMZDAjx7Fs`?ktDcmLbm>G;*5gdSgs@C! zx{k1-lhiVnC_hR83VXd+K+Qaex*n~Mr%|C6$t7&zN-3}qqMqlWRWAsNiZ@W;48)r# zl&80#mDuYu>{u0GSChXy!`?u985d&@wn@_r%ckl2cHhBv)il5DGbgqbP1E)*(-g0v zA3R`*WfUtY-bL{q3furx`lyvag{nja^zv5_QE{UjWwLpFL{OBqd~HP1qCg6@Q6`^X z8j(ai&4OqtAV?3H|VL=rKvqhjf$>^hE5#AJM;P^KsxMVc0t;B3Y$he=s~1<~5< ztNq9nxB!NE+>d3Lg?(P+5DCO7T(Eq{fx`(N_!?-!1BSqDUFaxqqYDc#6xL*chgyMX zsU= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +if sys.version_info >= (3, 10): + from typing import TypeAlias +else: + from typing_extensions import TypeAlias + +if TYPE_CHECKING: + from _typeshed import HasFileno + + from .._core._synchronization import CapacityLimiter, Event, Lock, Semaphore + from .._core._tasks import CancelScope + from .._core._testing import TaskInfo + from ..from_thread import BlockingPortal + from ._sockets import ( + ConnectedUDPSocket, + ConnectedUNIXDatagramSocket, + IPSockAddrType, + SocketListener, + SocketStream, + UDPSocket, + UNIXDatagramSocket, + UNIXSocketStream, + ) + from ._subprocesses import Process + from ._tasks import TaskGroup + from ._testing import TestRunner + +T_Retval = TypeVar("T_Retval") +PosArgsT = TypeVarTuple("PosArgsT") +StrOrBytesPath: TypeAlias = Union[str, bytes, "PathLike[str]", "PathLike[bytes]"] + + +class AsyncBackend(metaclass=ABCMeta): + @classmethod + @abstractmethod + def run( + cls, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + options: dict[str, Any], + ) -> T_Retval: + """ + Run the given coroutine function in an asynchronous event loop. + + The current thread must not be already running an event loop. + + :param func: a coroutine function + :param args: positional arguments to ``func`` + :param kwargs: positional arguments to ``func`` + :param options: keyword arguments to call the backend ``run()`` implementation + with + :return: the return value of the coroutine function + """ + + @classmethod + @abstractmethod + def current_token(cls) -> object: + """ + + :return: + """ + + @classmethod + @abstractmethod + def current_time(cls) -> float: + """ + Return the current value of the event loop's internal clock. + + :return: the clock value (seconds) + """ + + @classmethod + @abstractmethod + def cancelled_exception_class(cls) -> type[BaseException]: + """Return the exception class that is raised in a task if it's cancelled.""" + + @classmethod + @abstractmethod + async def checkpoint(cls) -> None: + """ + Check if the task has been cancelled, and allow rescheduling of other tasks. + + This is effectively the same as running :meth:`checkpoint_if_cancelled` and then + :meth:`cancel_shielded_checkpoint`. + """ + + @classmethod + async def checkpoint_if_cancelled(cls) -> None: + """ + Check if the current task group has been cancelled. + + This will check if the task has been cancelled, but will not allow other tasks + to be scheduled if not. + + """ + if cls.current_effective_deadline() == -math.inf: + await cls.checkpoint() + + @classmethod + async def cancel_shielded_checkpoint(cls) -> None: + """ + Allow the rescheduling of other tasks. + + This will give other tasks the opportunity to run, but without checking if the + current task group has been cancelled, unlike with :meth:`checkpoint`. + + """ + with cls.create_cancel_scope(shield=True): + await cls.sleep(0) + + @classmethod + @abstractmethod + async def sleep(cls, delay: float) -> None: + """ + Pause the current task for the specified duration. + + :param delay: the duration, in seconds + """ + + @classmethod + @abstractmethod + def create_cancel_scope( + cls, *, deadline: float = math.inf, shield: bool = False + ) -> CancelScope: + pass + + @classmethod + @abstractmethod + def current_effective_deadline(cls) -> float: + """ + Return the nearest deadline among all the cancel scopes effective for the + current task. + + :return: + - a clock value from the event loop's internal clock + - ``inf`` if there is no deadline in effect + - ``-inf`` if the current scope has been cancelled + :rtype: float + """ + + @classmethod + @abstractmethod + def create_task_group(cls) -> TaskGroup: + pass + + @classmethod + @abstractmethod + def create_event(cls) -> Event: + pass + + @classmethod + @abstractmethod + def create_lock(cls, *, fast_acquire: bool) -> Lock: + pass + + @classmethod + @abstractmethod + def create_semaphore( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> Semaphore: + pass + + @classmethod + @abstractmethod + def create_capacity_limiter(cls, total_tokens: float) -> CapacityLimiter: + pass + + @classmethod + @abstractmethod + async def run_sync_in_worker_thread( + cls, + func: Callable[[Unpack[PosArgsT]], T_Retval], + args: tuple[Unpack[PosArgsT]], + abandon_on_cancel: bool = False, + limiter: CapacityLimiter | None = None, + ) -> T_Retval: + pass + + @classmethod + @abstractmethod + def check_cancelled(cls) -> None: + pass + + @classmethod + @abstractmethod + def run_async_from_thread( + cls, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + args: tuple[Unpack[PosArgsT]], + token: object, + ) -> T_Retval: + pass + + @classmethod + @abstractmethod + def run_sync_from_thread( + cls, + func: Callable[[Unpack[PosArgsT]], T_Retval], + args: tuple[Unpack[PosArgsT]], + token: object, + ) -> T_Retval: + pass + + @classmethod + @abstractmethod + def create_blocking_portal(cls) -> BlockingPortal: + pass + + @classmethod + @abstractmethod + async def open_process( + cls, + command: StrOrBytesPath | Sequence[StrOrBytesPath], + *, + stdin: int | IO[Any] | None, + stdout: int | IO[Any] | None, + stderr: int | IO[Any] | None, + **kwargs: Any, + ) -> Process: + pass + + @classmethod + @abstractmethod + def setup_process_pool_exit_at_shutdown(cls, workers: set[Process]) -> None: + pass + + @classmethod + @abstractmethod + async def connect_tcp( + cls, host: str, port: int, local_address: IPSockAddrType | None = None + ) -> SocketStream: + pass + + @classmethod + @abstractmethod + async def connect_unix(cls, path: str | bytes) -> UNIXSocketStream: + pass + + @classmethod + @abstractmethod + def create_tcp_listener(cls, sock: socket) -> SocketListener: + pass + + @classmethod + @abstractmethod + def create_unix_listener(cls, sock: socket) -> SocketListener: + pass + + @classmethod + @abstractmethod + async def create_udp_socket( + cls, + family: AddressFamily, + local_address: IPSockAddrType | None, + remote_address: IPSockAddrType | None, + reuse_port: bool, + ) -> UDPSocket | ConnectedUDPSocket: + pass + + @classmethod + @overload + async def create_unix_datagram_socket( + cls, raw_socket: socket, remote_path: None + ) -> UNIXDatagramSocket: ... + + @classmethod + @overload + async def create_unix_datagram_socket( + cls, raw_socket: socket, remote_path: str | bytes + ) -> ConnectedUNIXDatagramSocket: ... + + @classmethod + @abstractmethod + async def create_unix_datagram_socket( + cls, raw_socket: socket, remote_path: str | bytes | None + ) -> UNIXDatagramSocket | ConnectedUNIXDatagramSocket: + pass + + @classmethod + @abstractmethod + async def getaddrinfo( + cls, + host: bytes | str | None, + port: str | int | None, + *, + family: int | AddressFamily = 0, + type: int | SocketKind = 0, + proto: int = 0, + flags: int = 0, + ) -> list[ + tuple[ + AddressFamily, + SocketKind, + int, + str, + tuple[str, int] | tuple[str, int, int, int], + ] + ]: + pass + + @classmethod + @abstractmethod + async def getnameinfo( + cls, sockaddr: IPSockAddrType, flags: int = 0 + ) -> tuple[str, str]: + pass + + @classmethod + @abstractmethod + async def wait_readable(cls, obj: HasFileno | int) -> None: + pass + + @classmethod + @abstractmethod + async def wait_writable(cls, obj: HasFileno | int) -> None: + pass + + @classmethod + @abstractmethod + def current_default_thread_limiter(cls) -> CapacityLimiter: + pass + + @classmethod + @abstractmethod + def open_signal_receiver( + cls, *signals: Signals + ) -> AbstractContextManager[AsyncIterator[Signals]]: + pass + + @classmethod + @abstractmethod + def get_current_task(cls) -> TaskInfo: + pass + + @classmethod + @abstractmethod + def get_running_tasks(cls) -> Sequence[TaskInfo]: + pass + + @classmethod + @abstractmethod + async def wait_all_tasks_blocked(cls) -> None: + pass + + @classmethod + @abstractmethod + def create_test_runner(cls, options: dict[str, Any]) -> TestRunner: + pass diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_resources.py b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_resources.py new file mode 100644 index 0000000..10df115 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_resources.py @@ -0,0 +1,33 @@ +from __future__ import annotations + +from abc import ABCMeta, abstractmethod +from types import TracebackType +from typing import TypeVar + +T = TypeVar("T") + + +class AsyncResource(metaclass=ABCMeta): + """ + Abstract base class for all closeable asynchronous resources. + + Works as an asynchronous context manager which returns the instance itself on enter, + and calls :meth:`aclose` on exit. + """ + + __slots__ = () + + async def __aenter__(self: T) -> T: + return self + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + await self.aclose() + + @abstractmethod + async def aclose(self) -> None: + """Close the resource.""" diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_sockets.py b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_sockets.py new file mode 100644 index 0000000..1c6a450 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_sockets.py @@ -0,0 +1,194 @@ +from __future__ import annotations + +import socket +from abc import abstractmethod +from collections.abc import Callable, Collection, Mapping +from contextlib import AsyncExitStack +from io import IOBase +from ipaddress import IPv4Address, IPv6Address +from socket import AddressFamily +from types import TracebackType +from typing import Any, TypeVar, Union + +from .._core._typedattr import ( + TypedAttributeProvider, + TypedAttributeSet, + typed_attribute, +) +from ._streams import ByteStream, Listener, UnreliableObjectStream +from ._tasks import TaskGroup + +IPAddressType = Union[str, IPv4Address, IPv6Address] +IPSockAddrType = tuple[str, int] +SockAddrType = Union[IPSockAddrType, str] +UDPPacketType = tuple[bytes, IPSockAddrType] +UNIXDatagramPacketType = tuple[bytes, str] +T_Retval = TypeVar("T_Retval") + + +class _NullAsyncContextManager: + async def __aenter__(self) -> None: + pass + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + return None + + +class SocketAttribute(TypedAttributeSet): + #: the address family of the underlying socket + family: AddressFamily = typed_attribute() + #: the local socket address of the underlying socket + local_address: SockAddrType = typed_attribute() + #: for IP addresses, the local port the underlying socket is bound to + local_port: int = typed_attribute() + #: the underlying stdlib socket object + raw_socket: socket.socket = typed_attribute() + #: the remote address the underlying socket is connected to + remote_address: SockAddrType = typed_attribute() + #: for IP addresses, the remote port the underlying socket is connected to + remote_port: int = typed_attribute() + + +class _SocketProvider(TypedAttributeProvider): + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + from .._core._sockets import convert_ipv6_sockaddr as convert + + attributes: dict[Any, Callable[[], Any]] = { + SocketAttribute.family: lambda: self._raw_socket.family, + SocketAttribute.local_address: lambda: convert( + self._raw_socket.getsockname() + ), + SocketAttribute.raw_socket: lambda: self._raw_socket, + } + try: + peername: tuple[str, int] | None = convert(self._raw_socket.getpeername()) + except OSError: + peername = None + + # Provide the remote address for connected sockets + if peername is not None: + attributes[SocketAttribute.remote_address] = lambda: peername + + # Provide local and remote ports for IP based sockets + if self._raw_socket.family in (AddressFamily.AF_INET, AddressFamily.AF_INET6): + attributes[SocketAttribute.local_port] = ( + lambda: self._raw_socket.getsockname()[1] + ) + if peername is not None: + remote_port = peername[1] + attributes[SocketAttribute.remote_port] = lambda: remote_port + + return attributes + + @property + @abstractmethod + def _raw_socket(self) -> socket.socket: + pass + + +class SocketStream(ByteStream, _SocketProvider): + """ + Transports bytes over a socket. + + Supports all relevant extra attributes from :class:`~SocketAttribute`. + """ + + +class UNIXSocketStream(SocketStream): + @abstractmethod + async def send_fds(self, message: bytes, fds: Collection[int | IOBase]) -> None: + """ + Send file descriptors along with a message to the peer. + + :param message: a non-empty bytestring + :param fds: a collection of files (either numeric file descriptors or open file + or socket objects) + """ + + @abstractmethod + async def receive_fds(self, msglen: int, maxfds: int) -> tuple[bytes, list[int]]: + """ + Receive file descriptors along with a message from the peer. + + :param msglen: length of the message to expect from the peer + :param maxfds: maximum number of file descriptors to expect from the peer + :return: a tuple of (message, file descriptors) + """ + + +class SocketListener(Listener[SocketStream], _SocketProvider): + """ + Listens to incoming socket connections. + + Supports all relevant extra attributes from :class:`~SocketAttribute`. + """ + + @abstractmethod + async def accept(self) -> SocketStream: + """Accept an incoming connection.""" + + async def serve( + self, + handler: Callable[[SocketStream], Any], + task_group: TaskGroup | None = None, + ) -> None: + from .. import create_task_group + + async with AsyncExitStack() as stack: + if task_group is None: + task_group = await stack.enter_async_context(create_task_group()) + + while True: + stream = await self.accept() + task_group.start_soon(handler, stream) + + +class UDPSocket(UnreliableObjectStream[UDPPacketType], _SocketProvider): + """ + Represents an unconnected UDP socket. + + Supports all relevant extra attributes from :class:`~SocketAttribute`. + """ + + async def sendto(self, data: bytes, host: str, port: int) -> None: + """ + Alias for :meth:`~.UnreliableObjectSendStream.send` ((data, (host, port))). + + """ + return await self.send((data, (host, port))) + + +class ConnectedUDPSocket(UnreliableObjectStream[bytes], _SocketProvider): + """ + Represents an connected UDP socket. + + Supports all relevant extra attributes from :class:`~SocketAttribute`. + """ + + +class UNIXDatagramSocket( + UnreliableObjectStream[UNIXDatagramPacketType], _SocketProvider +): + """ + Represents an unconnected Unix datagram socket. + + Supports all relevant extra attributes from :class:`~SocketAttribute`. + """ + + async def sendto(self, data: bytes, path: str) -> None: + """Alias for :meth:`~.UnreliableObjectSendStream.send` ((data, path)).""" + return await self.send((data, path)) + + +class ConnectedUNIXDatagramSocket(UnreliableObjectStream[bytes], _SocketProvider): + """ + Represents a connected Unix datagram socket. + + Supports all relevant extra attributes from :class:`~SocketAttribute`. + """ diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_streams.py b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_streams.py new file mode 100644 index 0000000..8c63868 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_streams.py @@ -0,0 +1,203 @@ +from __future__ import annotations + +from abc import abstractmethod +from collections.abc import Callable +from typing import Any, Generic, TypeVar, Union + +from .._core._exceptions import EndOfStream +from .._core._typedattr import TypedAttributeProvider +from ._resources import AsyncResource +from ._tasks import TaskGroup + +T_Item = TypeVar("T_Item") +T_co = TypeVar("T_co", covariant=True) +T_contra = TypeVar("T_contra", contravariant=True) + + +class UnreliableObjectReceiveStream( + Generic[T_co], AsyncResource, TypedAttributeProvider +): + """ + An interface for receiving objects. + + This interface makes no guarantees that the received messages arrive in the order in + which they were sent, or that no messages are missed. + + Asynchronously iterating over objects of this type will yield objects matching the + given type parameter. + """ + + def __aiter__(self) -> UnreliableObjectReceiveStream[T_co]: + return self + + async def __anext__(self) -> T_co: + try: + return await self.receive() + except EndOfStream: + raise StopAsyncIteration + + @abstractmethod + async def receive(self) -> T_co: + """ + Receive the next item. + + :raises ~anyio.ClosedResourceError: if the receive stream has been explicitly + closed + :raises ~anyio.EndOfStream: if this stream has been closed from the other end + :raises ~anyio.BrokenResourceError: if this stream has been rendered unusable + due to external causes + """ + + +class UnreliableObjectSendStream( + Generic[T_contra], AsyncResource, TypedAttributeProvider +): + """ + An interface for sending objects. + + This interface makes no guarantees that the messages sent will reach the + recipient(s) in the same order in which they were sent, or at all. + """ + + @abstractmethod + async def send(self, item: T_contra) -> None: + """ + Send an item to the peer(s). + + :param item: the item to send + :raises ~anyio.ClosedResourceError: if the send stream has been explicitly + closed + :raises ~anyio.BrokenResourceError: if this stream has been rendered unusable + due to external causes + """ + + +class UnreliableObjectStream( + UnreliableObjectReceiveStream[T_Item], UnreliableObjectSendStream[T_Item] +): + """ + A bidirectional message stream which does not guarantee the order or reliability of + message delivery. + """ + + +class ObjectReceiveStream(UnreliableObjectReceiveStream[T_co]): + """ + A receive message stream which guarantees that messages are received in the same + order in which they were sent, and that no messages are missed. + """ + + +class ObjectSendStream(UnreliableObjectSendStream[T_contra]): + """ + A send message stream which guarantees that messages are delivered in the same order + in which they were sent, without missing any messages in the middle. + """ + + +class ObjectStream( + ObjectReceiveStream[T_Item], + ObjectSendStream[T_Item], + UnreliableObjectStream[T_Item], +): + """ + A bidirectional message stream which guarantees the order and reliability of message + delivery. + """ + + @abstractmethod + async def send_eof(self) -> None: + """ + Send an end-of-file indication to the peer. + + You should not try to send any further data to this stream after calling this + method. This method is idempotent (does nothing on successive calls). + """ + + +class ByteReceiveStream(AsyncResource, TypedAttributeProvider): + """ + An interface for receiving bytes from a single peer. + + Iterating this byte stream will yield a byte string of arbitrary length, but no more + than 65536 bytes. + """ + + def __aiter__(self) -> ByteReceiveStream: + return self + + async def __anext__(self) -> bytes: + try: + return await self.receive() + except EndOfStream: + raise StopAsyncIteration + + @abstractmethod + async def receive(self, max_bytes: int = 65536) -> bytes: + """ + Receive at most ``max_bytes`` bytes from the peer. + + .. note:: Implementors of this interface should not return an empty + :class:`bytes` object, and users should ignore them. + + :param max_bytes: maximum number of bytes to receive + :return: the received bytes + :raises ~anyio.EndOfStream: if this stream has been closed from the other end + """ + + +class ByteSendStream(AsyncResource, TypedAttributeProvider): + """An interface for sending bytes to a single peer.""" + + @abstractmethod + async def send(self, item: bytes) -> None: + """ + Send the given bytes to the peer. + + :param item: the bytes to send + """ + + +class ByteStream(ByteReceiveStream, ByteSendStream): + """A bidirectional byte stream.""" + + @abstractmethod + async def send_eof(self) -> None: + """ + Send an end-of-file indication to the peer. + + You should not try to send any further data to this stream after calling this + method. This method is idempotent (does nothing on successive calls). + """ + + +#: Type alias for all unreliable bytes-oriented receive streams. +AnyUnreliableByteReceiveStream = Union[ + UnreliableObjectReceiveStream[bytes], ByteReceiveStream +] +#: Type alias for all unreliable bytes-oriented send streams. +AnyUnreliableByteSendStream = Union[UnreliableObjectSendStream[bytes], ByteSendStream] +#: Type alias for all unreliable bytes-oriented streams. +AnyUnreliableByteStream = Union[UnreliableObjectStream[bytes], ByteStream] +#: Type alias for all bytes-oriented receive streams. +AnyByteReceiveStream = Union[ObjectReceiveStream[bytes], ByteReceiveStream] +#: Type alias for all bytes-oriented send streams. +AnyByteSendStream = Union[ObjectSendStream[bytes], ByteSendStream] +#: Type alias for all bytes-oriented streams. +AnyByteStream = Union[ObjectStream[bytes], ByteStream] + + +class Listener(Generic[T_co], AsyncResource, TypedAttributeProvider): + """An interface for objects that let you accept incoming connections.""" + + @abstractmethod + async def serve( + self, handler: Callable[[T_co], Any], task_group: TaskGroup | None = None + ) -> None: + """ + Accept incoming connections as they come in and start tasks to handle them. + + :param handler: a callable that will be used to handle each accepted connection + :param task_group: the task group that will be used to start tasks for handling + each accepted connection (if omitted, an ad-hoc task group will be created) + """ diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_subprocesses.py b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_subprocesses.py new file mode 100644 index 0000000..ce0564c --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_subprocesses.py @@ -0,0 +1,79 @@ +from __future__ import annotations + +from abc import abstractmethod +from signal import Signals + +from ._resources import AsyncResource +from ._streams import ByteReceiveStream, ByteSendStream + + +class Process(AsyncResource): + """An asynchronous version of :class:`subprocess.Popen`.""" + + @abstractmethod + async def wait(self) -> int: + """ + Wait until the process exits. + + :return: the exit code of the process + """ + + @abstractmethod + def terminate(self) -> None: + """ + Terminates the process, gracefully if possible. + + On Windows, this calls ``TerminateProcess()``. + On POSIX systems, this sends ``SIGTERM`` to the process. + + .. seealso:: :meth:`subprocess.Popen.terminate` + """ + + @abstractmethod + def kill(self) -> None: + """ + Kills the process. + + On Windows, this calls ``TerminateProcess()``. + On POSIX systems, this sends ``SIGKILL`` to the process. + + .. seealso:: :meth:`subprocess.Popen.kill` + """ + + @abstractmethod + def send_signal(self, signal: Signals) -> None: + """ + Send a signal to the subprocess. + + .. seealso:: :meth:`subprocess.Popen.send_signal` + + :param signal: the signal number (e.g. :data:`signal.SIGHUP`) + """ + + @property + @abstractmethod + def pid(self) -> int: + """The process ID of the process.""" + + @property + @abstractmethod + def returncode(self) -> int | None: + """ + The return code of the process. If the process has not yet terminated, this will + be ``None``. + """ + + @property + @abstractmethod + def stdin(self) -> ByteSendStream | None: + """The stream for the standard input of the process.""" + + @property + @abstractmethod + def stdout(self) -> ByteReceiveStream | None: + """The stream for the standard output of the process.""" + + @property + @abstractmethod + def stderr(self) -> ByteReceiveStream | None: + """The stream for the standard error output of the process.""" diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_tasks.py b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_tasks.py new file mode 100644 index 0000000..f6e5c40 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_tasks.py @@ -0,0 +1,101 @@ +from __future__ import annotations + +import sys +from abc import ABCMeta, abstractmethod +from collections.abc import Awaitable, Callable +from types import TracebackType +from typing import TYPE_CHECKING, Any, Protocol, TypeVar, overload + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +if TYPE_CHECKING: + from .._core._tasks import CancelScope + +T_Retval = TypeVar("T_Retval") +T_contra = TypeVar("T_contra", contravariant=True) +PosArgsT = TypeVarTuple("PosArgsT") + + +class TaskStatus(Protocol[T_contra]): + @overload + def started(self: TaskStatus[None]) -> None: ... + + @overload + def started(self, value: T_contra) -> None: ... + + def started(self, value: T_contra | None = None) -> None: + """ + Signal that the task has started. + + :param value: object passed back to the starter of the task + """ + + +class TaskGroup(metaclass=ABCMeta): + """ + Groups several asynchronous tasks together. + + :ivar cancel_scope: the cancel scope inherited by all child tasks + :vartype cancel_scope: CancelScope + + .. note:: On asyncio, support for eager task factories is considered to be + **experimental**. In particular, they don't follow the usual semantics of new + tasks being scheduled on the next iteration of the event loop, and may thus + cause unexpected behavior in code that wasn't written with such semantics in + mind. + """ + + cancel_scope: CancelScope + + @abstractmethod + def start_soon( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[Any]], + *args: Unpack[PosArgsT], + name: object = None, + ) -> None: + """ + Start a new task in this task group. + + :param func: a coroutine function + :param args: positional arguments to call the function with + :param name: name of the task, for the purposes of introspection and debugging + + .. versionadded:: 3.0 + """ + + @abstractmethod + async def start( + self, + func: Callable[..., Awaitable[Any]], + *args: object, + name: object = None, + ) -> Any: + """ + Start a new task and wait until it signals for readiness. + + :param func: a coroutine function + :param args: positional arguments to call the function with + :param name: name of the task, for the purposes of introspection and debugging + :return: the value passed to ``task_status.started()`` + :raises RuntimeError: if the task finishes without calling + ``task_status.started()`` + + .. versionadded:: 3.0 + """ + + @abstractmethod + async def __aenter__(self) -> TaskGroup: + """Enter the task group context and allow starting new tasks.""" + + @abstractmethod + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + """Exit the task group context waiting for all tasks to finish.""" diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_testing.py b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_testing.py new file mode 100644 index 0000000..7c50ed7 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/abc/_testing.py @@ -0,0 +1,65 @@ +from __future__ import annotations + +import types +from abc import ABCMeta, abstractmethod +from collections.abc import AsyncGenerator, Callable, Coroutine, Iterable +from typing import Any, TypeVar + +_T = TypeVar("_T") + + +class TestRunner(metaclass=ABCMeta): + """ + Encapsulates a running event loop. Every call made through this object will use the + same event loop. + """ + + def __enter__(self) -> TestRunner: + return self + + @abstractmethod + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: types.TracebackType | None, + ) -> bool | None: ... + + @abstractmethod + def run_asyncgen_fixture( + self, + fixture_func: Callable[..., AsyncGenerator[_T, Any]], + kwargs: dict[str, Any], + ) -> Iterable[_T]: + """ + Run an async generator fixture. + + :param fixture_func: the fixture function + :param kwargs: keyword arguments to call the fixture function with + :return: an iterator yielding the value yielded from the async generator + """ + + @abstractmethod + def run_fixture( + self, + fixture_func: Callable[..., Coroutine[Any, Any, _T]], + kwargs: dict[str, Any], + ) -> _T: + """ + Run an async fixture. + + :param fixture_func: the fixture function + :param kwargs: keyword arguments to call the fixture function with + :return: the return value of the fixture function + """ + + @abstractmethod + def run_test( + self, test_func: Callable[..., Coroutine[Any, Any, Any]], kwargs: dict[str, Any] + ) -> None: + """ + Run an async test function. + + :param test_func: the test function + :param kwargs: keyword arguments to call the test function with + """ diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/from_thread.py b/botenre/myenv/lib/python3.11/site-packages/anyio/from_thread.py new file mode 100644 index 0000000..93a4cfe --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/from_thread.py @@ -0,0 +1,527 @@ +from __future__ import annotations + +import sys +from collections.abc import Awaitable, Callable, Generator +from concurrent.futures import Future +from contextlib import ( + AbstractAsyncContextManager, + AbstractContextManager, + contextmanager, +) +from dataclasses import dataclass, field +from inspect import isawaitable +from threading import Lock, Thread, get_ident +from types import TracebackType +from typing import ( + Any, + Generic, + TypeVar, + cast, + overload, +) + +from ._core import _eventloop +from ._core._eventloop import get_async_backend, get_cancelled_exc_class, threadlocals +from ._core._synchronization import Event +from ._core._tasks import CancelScope, create_task_group +from .abc import AsyncBackend +from .abc._tasks import TaskStatus + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +T_Retval = TypeVar("T_Retval") +T_co = TypeVar("T_co", covariant=True) +PosArgsT = TypeVarTuple("PosArgsT") + + +def run( + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], *args: Unpack[PosArgsT] +) -> T_Retval: + """ + Call a coroutine function from a worker thread. + + :param func: a coroutine function + :param args: positional arguments for the callable + :return: the return value of the coroutine function + + """ + try: + async_backend = threadlocals.current_async_backend + token = threadlocals.current_token + except AttributeError: + raise RuntimeError( + "This function can only be run from an AnyIO worker thread" + ) from None + + return async_backend.run_async_from_thread(func, args, token=token) + + +def run_sync( + func: Callable[[Unpack[PosArgsT]], T_Retval], *args: Unpack[PosArgsT] +) -> T_Retval: + """ + Call a function in the event loop thread from a worker thread. + + :param func: a callable + :param args: positional arguments for the callable + :return: the return value of the callable + + """ + try: + async_backend = threadlocals.current_async_backend + token = threadlocals.current_token + except AttributeError: + raise RuntimeError( + "This function can only be run from an AnyIO worker thread" + ) from None + + return async_backend.run_sync_from_thread(func, args, token=token) + + +class _BlockingAsyncContextManager(Generic[T_co], AbstractContextManager): + _enter_future: Future[T_co] + _exit_future: Future[bool | None] + _exit_event: Event + _exit_exc_info: tuple[ + type[BaseException] | None, BaseException | None, TracebackType | None + ] = (None, None, None) + + def __init__( + self, async_cm: AbstractAsyncContextManager[T_co], portal: BlockingPortal + ): + self._async_cm = async_cm + self._portal = portal + + async def run_async_cm(self) -> bool | None: + try: + self._exit_event = Event() + value = await self._async_cm.__aenter__() + except BaseException as exc: + self._enter_future.set_exception(exc) + raise + else: + self._enter_future.set_result(value) + + try: + # Wait for the sync context manager to exit. + # This next statement can raise `get_cancelled_exc_class()` if + # something went wrong in a task group in this async context + # manager. + await self._exit_event.wait() + finally: + # In case of cancellation, it could be that we end up here before + # `_BlockingAsyncContextManager.__exit__` is called, and an + # `_exit_exc_info` has been set. + result = await self._async_cm.__aexit__(*self._exit_exc_info) + return result + + def __enter__(self) -> T_co: + self._enter_future = Future() + self._exit_future = self._portal.start_task_soon(self.run_async_cm) + return self._enter_future.result() + + def __exit__( + self, + __exc_type: type[BaseException] | None, + __exc_value: BaseException | None, + __traceback: TracebackType | None, + ) -> bool | None: + self._exit_exc_info = __exc_type, __exc_value, __traceback + self._portal.call(self._exit_event.set) + return self._exit_future.result() + + +class _BlockingPortalTaskStatus(TaskStatus): + def __init__(self, future: Future): + self._future = future + + def started(self, value: object = None) -> None: + self._future.set_result(value) + + +class BlockingPortal: + """An object that lets external threads run code in an asynchronous event loop.""" + + def __new__(cls) -> BlockingPortal: + return get_async_backend().create_blocking_portal() + + def __init__(self) -> None: + self._event_loop_thread_id: int | None = get_ident() + self._stop_event = Event() + self._task_group = create_task_group() + self._cancelled_exc_class = get_cancelled_exc_class() + + async def __aenter__(self) -> BlockingPortal: + await self._task_group.__aenter__() + return self + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + await self.stop() + return await self._task_group.__aexit__(exc_type, exc_val, exc_tb) + + def _check_running(self) -> None: + if self._event_loop_thread_id is None: + raise RuntimeError("This portal is not running") + if self._event_loop_thread_id == get_ident(): + raise RuntimeError( + "This method cannot be called from the event loop thread" + ) + + async def sleep_until_stopped(self) -> None: + """Sleep until :meth:`stop` is called.""" + await self._stop_event.wait() + + async def stop(self, cancel_remaining: bool = False) -> None: + """ + Signal the portal to shut down. + + This marks the portal as no longer accepting new calls and exits from + :meth:`sleep_until_stopped`. + + :param cancel_remaining: ``True`` to cancel all the remaining tasks, ``False`` + to let them finish before returning + + """ + self._event_loop_thread_id = None + self._stop_event.set() + if cancel_remaining: + self._task_group.cancel_scope.cancel() + + async def _call_func( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + future: Future[T_Retval], + ) -> None: + def callback(f: Future[T_Retval]) -> None: + if f.cancelled() and self._event_loop_thread_id not in ( + None, + get_ident(), + ): + self.call(scope.cancel) + + try: + retval_or_awaitable = func(*args, **kwargs) + if isawaitable(retval_or_awaitable): + with CancelScope() as scope: + if future.cancelled(): + scope.cancel() + else: + future.add_done_callback(callback) + + retval = await retval_or_awaitable + else: + retval = retval_or_awaitable + except self._cancelled_exc_class: + future.cancel() + future.set_running_or_notify_cancel() + except BaseException as exc: + if not future.cancelled(): + future.set_exception(exc) + + # Let base exceptions fall through + if not isinstance(exc, Exception): + raise + else: + if not future.cancelled(): + future.set_result(retval) + finally: + scope = None # type: ignore[assignment] + + def _spawn_task_from_thread( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + name: object, + future: Future[T_Retval], + ) -> None: + """ + Spawn a new task using the given callable. + + Implementors must ensure that the future is resolved when the task finishes. + + :param func: a callable + :param args: positional arguments to be passed to the callable + :param kwargs: keyword arguments to be passed to the callable + :param name: name of the task (will be coerced to a string if not ``None``) + :param future: a future that will resolve to the return value of the callable, + or the exception raised during its execution + + """ + raise NotImplementedError + + @overload + def call( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + *args: Unpack[PosArgsT], + ) -> T_Retval: ... + + @overload + def call( + self, func: Callable[[Unpack[PosArgsT]], T_Retval], *args: Unpack[PosArgsT] + ) -> T_Retval: ... + + def call( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], + *args: Unpack[PosArgsT], + ) -> T_Retval: + """ + Call the given function in the event loop thread. + + If the callable returns a coroutine object, it is awaited on. + + :param func: any callable + :raises RuntimeError: if the portal is not running or if this method is called + from within the event loop thread + + """ + return cast(T_Retval, self.start_task_soon(func, *args).result()) + + @overload + def start_task_soon( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + *args: Unpack[PosArgsT], + name: object = None, + ) -> Future[T_Retval]: ... + + @overload + def start_task_soon( + self, + func: Callable[[Unpack[PosArgsT]], T_Retval], + *args: Unpack[PosArgsT], + name: object = None, + ) -> Future[T_Retval]: ... + + def start_task_soon( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], + *args: Unpack[PosArgsT], + name: object = None, + ) -> Future[T_Retval]: + """ + Start a task in the portal's task group. + + The task will be run inside a cancel scope which can be cancelled by cancelling + the returned future. + + :param func: the target function + :param args: positional arguments passed to ``func`` + :param name: name of the task (will be coerced to a string if not ``None``) + :return: a future that resolves with the return value of the callable if the + task completes successfully, or with the exception raised in the task + :raises RuntimeError: if the portal is not running or if this method is called + from within the event loop thread + :rtype: concurrent.futures.Future[T_Retval] + + .. versionadded:: 3.0 + + """ + self._check_running() + f: Future[T_Retval] = Future() + self._spawn_task_from_thread(func, args, {}, name, f) + return f + + def start_task( + self, + func: Callable[..., Awaitable[T_Retval]], + *args: object, + name: object = None, + ) -> tuple[Future[T_Retval], Any]: + """ + Start a task in the portal's task group and wait until it signals for readiness. + + This method works the same way as :meth:`.abc.TaskGroup.start`. + + :param func: the target function + :param args: positional arguments passed to ``func`` + :param name: name of the task (will be coerced to a string if not ``None``) + :return: a tuple of (future, task_status_value) where the ``task_status_value`` + is the value passed to ``task_status.started()`` from within the target + function + :rtype: tuple[concurrent.futures.Future[T_Retval], Any] + + .. versionadded:: 3.0 + + """ + + def task_done(future: Future[T_Retval]) -> None: + if not task_status_future.done(): + if future.cancelled(): + task_status_future.cancel() + elif future.exception(): + task_status_future.set_exception(future.exception()) + else: + exc = RuntimeError( + "Task exited without calling task_status.started()" + ) + task_status_future.set_exception(exc) + + self._check_running() + task_status_future: Future = Future() + task_status = _BlockingPortalTaskStatus(task_status_future) + f: Future = Future() + f.add_done_callback(task_done) + self._spawn_task_from_thread(func, args, {"task_status": task_status}, name, f) + return f, task_status_future.result() + + def wrap_async_context_manager( + self, cm: AbstractAsyncContextManager[T_co] + ) -> AbstractContextManager[T_co]: + """ + Wrap an async context manager as a synchronous context manager via this portal. + + Spawns a task that will call both ``__aenter__()`` and ``__aexit__()``, stopping + in the middle until the synchronous context manager exits. + + :param cm: an asynchronous context manager + :return: a synchronous context manager + + .. versionadded:: 2.1 + + """ + return _BlockingAsyncContextManager(cm, self) + + +@dataclass +class BlockingPortalProvider: + """ + A manager for a blocking portal. Used as a context manager. The first thread to + enter this context manager causes a blocking portal to be started with the specific + parameters, and the last thread to exit causes the portal to be shut down. Thus, + there will be exactly one blocking portal running in this context as long as at + least one thread has entered this context manager. + + The parameters are the same as for :func:`~anyio.run`. + + :param backend: name of the backend + :param backend_options: backend options + + .. versionadded:: 4.4 + """ + + backend: str = "asyncio" + backend_options: dict[str, Any] | None = None + _lock: Lock = field(init=False, default_factory=Lock) + _leases: int = field(init=False, default=0) + _portal: BlockingPortal = field(init=False) + _portal_cm: AbstractContextManager[BlockingPortal] | None = field( + init=False, default=None + ) + + def __enter__(self) -> BlockingPortal: + with self._lock: + if self._portal_cm is None: + self._portal_cm = start_blocking_portal( + self.backend, self.backend_options + ) + self._portal = self._portal_cm.__enter__() + + self._leases += 1 + return self._portal + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + portal_cm: AbstractContextManager[BlockingPortal] | None = None + with self._lock: + assert self._portal_cm + assert self._leases > 0 + self._leases -= 1 + if not self._leases: + portal_cm = self._portal_cm + self._portal_cm = None + del self._portal + + if portal_cm: + portal_cm.__exit__(None, None, None) + + +@contextmanager +def start_blocking_portal( + backend: str = "asyncio", backend_options: dict[str, Any] | None = None +) -> Generator[BlockingPortal, Any, None]: + """ + Start a new event loop in a new thread and run a blocking portal in its main task. + + The parameters are the same as for :func:`~anyio.run`. + + :param backend: name of the backend + :param backend_options: backend options + :return: a context manager that yields a blocking portal + + .. versionchanged:: 3.0 + Usage as a context manager is now required. + + """ + + async def run_portal() -> None: + async with BlockingPortal() as portal_: + future.set_result(portal_) + await portal_.sleep_until_stopped() + + def run_blocking_portal() -> None: + if future.set_running_or_notify_cancel(): + try: + _eventloop.run( + run_portal, backend=backend, backend_options=backend_options + ) + except BaseException as exc: + if not future.done(): + future.set_exception(exc) + + future: Future[BlockingPortal] = Future() + thread = Thread(target=run_blocking_portal, daemon=True) + thread.start() + try: + cancel_remaining_tasks = False + portal = future.result() + try: + yield portal + except BaseException: + cancel_remaining_tasks = True + raise + finally: + try: + portal.call(portal.stop, cancel_remaining_tasks) + except RuntimeError: + pass + finally: + thread.join() + + +def check_cancelled() -> None: + """ + Check if the cancel scope of the host task's running the current worker thread has + been cancelled. + + If the host task's current cancel scope has indeed been cancelled, the + backend-specific cancellation exception will be raised. + + :raises RuntimeError: if the current thread was not spawned by + :func:`.to_thread.run_sync` + + """ + try: + async_backend: AsyncBackend = threadlocals.current_async_backend + except AttributeError: + raise RuntimeError( + "This function can only be run from an AnyIO worker thread" + ) from None + + async_backend.check_cancelled() diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/lowlevel.py b/botenre/myenv/lib/python3.11/site-packages/anyio/lowlevel.py new file mode 100644 index 0000000..14c7668 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/lowlevel.py @@ -0,0 +1,161 @@ +from __future__ import annotations + +import enum +from dataclasses import dataclass +from typing import Any, Generic, Literal, TypeVar, overload +from weakref import WeakKeyDictionary + +from ._core._eventloop import get_async_backend + +T = TypeVar("T") +D = TypeVar("D") + + +async def checkpoint() -> None: + """ + Check for cancellation and allow the scheduler to switch to another task. + + Equivalent to (but more efficient than):: + + await checkpoint_if_cancelled() + await cancel_shielded_checkpoint() + + + .. versionadded:: 3.0 + + """ + await get_async_backend().checkpoint() + + +async def checkpoint_if_cancelled() -> None: + """ + Enter a checkpoint if the enclosing cancel scope has been cancelled. + + This does not allow the scheduler to switch to a different task. + + .. versionadded:: 3.0 + + """ + await get_async_backend().checkpoint_if_cancelled() + + +async def cancel_shielded_checkpoint() -> None: + """ + Allow the scheduler to switch to another task but without checking for cancellation. + + Equivalent to (but potentially more efficient than):: + + with CancelScope(shield=True): + await checkpoint() + + + .. versionadded:: 3.0 + + """ + await get_async_backend().cancel_shielded_checkpoint() + + +def current_token() -> object: + """ + Return a backend specific token object that can be used to get back to the event + loop. + + """ + return get_async_backend().current_token() + + +_run_vars: WeakKeyDictionary[Any, dict[str, Any]] = WeakKeyDictionary() +_token_wrappers: dict[Any, _TokenWrapper] = {} + + +@dataclass(frozen=True) +class _TokenWrapper: + __slots__ = "_token", "__weakref__" + _token: object + + +class _NoValueSet(enum.Enum): + NO_VALUE_SET = enum.auto() + + +class RunvarToken(Generic[T]): + __slots__ = "_var", "_value", "_redeemed" + + def __init__(self, var: RunVar[T], value: T | Literal[_NoValueSet.NO_VALUE_SET]): + self._var = var + self._value: T | Literal[_NoValueSet.NO_VALUE_SET] = value + self._redeemed = False + + +class RunVar(Generic[T]): + """ + Like a :class:`~contextvars.ContextVar`, except scoped to the running event loop. + """ + + __slots__ = "_name", "_default" + + NO_VALUE_SET: Literal[_NoValueSet.NO_VALUE_SET] = _NoValueSet.NO_VALUE_SET + + _token_wrappers: set[_TokenWrapper] = set() + + def __init__( + self, name: str, default: T | Literal[_NoValueSet.NO_VALUE_SET] = NO_VALUE_SET + ): + self._name = name + self._default = default + + @property + def _current_vars(self) -> dict[str, T]: + token = current_token() + try: + return _run_vars[token] + except KeyError: + run_vars = _run_vars[token] = {} + return run_vars + + @overload + def get(self, default: D) -> T | D: ... + + @overload + def get(self) -> T: ... + + def get( + self, default: D | Literal[_NoValueSet.NO_VALUE_SET] = NO_VALUE_SET + ) -> T | D: + try: + return self._current_vars[self._name] + except KeyError: + if default is not RunVar.NO_VALUE_SET: + return default + elif self._default is not RunVar.NO_VALUE_SET: + return self._default + + raise LookupError( + f'Run variable "{self._name}" has no value and no default set' + ) + + def set(self, value: T) -> RunvarToken[T]: + current_vars = self._current_vars + token = RunvarToken(self, current_vars.get(self._name, RunVar.NO_VALUE_SET)) + current_vars[self._name] = value + return token + + def reset(self, token: RunvarToken[T]) -> None: + if token._var is not self: + raise ValueError("This token does not belong to this RunVar") + + if token._redeemed: + raise ValueError("This token has already been used") + + if token._value is _NoValueSet.NO_VALUE_SET: + try: + del self._current_vars[self._name] + except KeyError: + pass + else: + self._current_vars[self._name] = token._value + + token._redeemed = True + + def __repr__(self) -> str: + return f"" diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/py.typed b/botenre/myenv/lib/python3.11/site-packages/anyio/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/pytest_plugin.py b/botenre/myenv/lib/python3.11/site-packages/anyio/pytest_plugin.py new file mode 100644 index 0000000..4a0d59d --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/pytest_plugin.py @@ -0,0 +1,191 @@ +from __future__ import annotations + +import sys +from collections.abc import Generator, Iterator +from contextlib import ExitStack, contextmanager +from inspect import isasyncgenfunction, iscoroutinefunction, ismethod +from typing import Any, cast + +import pytest +import sniffio +from _pytest.fixtures import SubRequest +from _pytest.outcomes import Exit + +from ._core._eventloop import get_all_backends, get_async_backend +from ._core._exceptions import iterate_exceptions +from .abc import TestRunner + +if sys.version_info < (3, 11): + from exceptiongroup import ExceptionGroup + +_current_runner: TestRunner | None = None +_runner_stack: ExitStack | None = None +_runner_leases = 0 + + +def extract_backend_and_options(backend: object) -> tuple[str, dict[str, Any]]: + if isinstance(backend, str): + return backend, {} + elif isinstance(backend, tuple) and len(backend) == 2: + if isinstance(backend[0], str) and isinstance(backend[1], dict): + return cast(tuple[str, dict[str, Any]], backend) + + raise TypeError("anyio_backend must be either a string or tuple of (string, dict)") + + +@contextmanager +def get_runner( + backend_name: str, backend_options: dict[str, Any] +) -> Iterator[TestRunner]: + global _current_runner, _runner_leases, _runner_stack + if _current_runner is None: + asynclib = get_async_backend(backend_name) + _runner_stack = ExitStack() + if sniffio.current_async_library_cvar.get(None) is None: + # Since we're in control of the event loop, we can cache the name of the + # async library + token = sniffio.current_async_library_cvar.set(backend_name) + _runner_stack.callback(sniffio.current_async_library_cvar.reset, token) + + backend_options = backend_options or {} + _current_runner = _runner_stack.enter_context( + asynclib.create_test_runner(backend_options) + ) + + _runner_leases += 1 + try: + yield _current_runner + finally: + _runner_leases -= 1 + if not _runner_leases: + assert _runner_stack is not None + _runner_stack.close() + _runner_stack = _current_runner = None + + +def pytest_configure(config: Any) -> None: + config.addinivalue_line( + "markers", + "anyio: mark the (coroutine function) test to be run " + "asynchronously via anyio.", + ) + + +@pytest.hookimpl(hookwrapper=True) +def pytest_fixture_setup(fixturedef: Any, request: Any) -> Generator[Any]: + def wrapper( + *args: Any, anyio_backend: Any, request: SubRequest, **kwargs: Any + ) -> Any: + # Rebind any fixture methods to the request instance + if ( + request.instance + and ismethod(func) + and type(func.__self__) is type(request.instance) + ): + local_func = func.__func__.__get__(request.instance) + else: + local_func = func + + backend_name, backend_options = extract_backend_and_options(anyio_backend) + if has_backend_arg: + kwargs["anyio_backend"] = anyio_backend + + if has_request_arg: + kwargs["request"] = request + + with get_runner(backend_name, backend_options) as runner: + if isasyncgenfunction(local_func): + yield from runner.run_asyncgen_fixture(local_func, kwargs) + else: + yield runner.run_fixture(local_func, kwargs) + + # Only apply this to coroutine functions and async generator functions in requests + # that involve the anyio_backend fixture + func = fixturedef.func + if isasyncgenfunction(func) or iscoroutinefunction(func): + if "anyio_backend" in request.fixturenames: + fixturedef.func = wrapper + original_argname = fixturedef.argnames + + if not (has_backend_arg := "anyio_backend" in fixturedef.argnames): + fixturedef.argnames += ("anyio_backend",) + + if not (has_request_arg := "request" in fixturedef.argnames): + fixturedef.argnames += ("request",) + + try: + return (yield) + finally: + fixturedef.func = func + fixturedef.argnames = original_argname + + return (yield) + + +@pytest.hookimpl(tryfirst=True) +def pytest_pycollect_makeitem(collector: Any, name: Any, obj: Any) -> None: + if collector.istestfunction(obj, name): + inner_func = obj.hypothesis.inner_test if hasattr(obj, "hypothesis") else obj + if iscoroutinefunction(inner_func): + marker = collector.get_closest_marker("anyio") + own_markers = getattr(obj, "pytestmark", ()) + if marker or any(marker.name == "anyio" for marker in own_markers): + pytest.mark.usefixtures("anyio_backend")(obj) + + +@pytest.hookimpl(tryfirst=True) +def pytest_pyfunc_call(pyfuncitem: Any) -> bool | None: + def run_with_hypothesis(**kwargs: Any) -> None: + with get_runner(backend_name, backend_options) as runner: + runner.run_test(original_func, kwargs) + + backend = pyfuncitem.funcargs.get("anyio_backend") + if backend: + backend_name, backend_options = extract_backend_and_options(backend) + + if hasattr(pyfuncitem.obj, "hypothesis"): + # Wrap the inner test function unless it's already wrapped + original_func = pyfuncitem.obj.hypothesis.inner_test + if original_func.__qualname__ != run_with_hypothesis.__qualname__: + if iscoroutinefunction(original_func): + pyfuncitem.obj.hypothesis.inner_test = run_with_hypothesis + + return None + + if iscoroutinefunction(pyfuncitem.obj): + funcargs = pyfuncitem.funcargs + testargs = {arg: funcargs[arg] for arg in pyfuncitem._fixtureinfo.argnames} + with get_runner(backend_name, backend_options) as runner: + try: + runner.run_test(pyfuncitem.obj, testargs) + except ExceptionGroup as excgrp: + for exc in iterate_exceptions(excgrp): + if isinstance(exc, (Exit, KeyboardInterrupt, SystemExit)): + raise exc from excgrp + + raise + + return True + + return None + + +@pytest.fixture(scope="module", params=get_all_backends()) +def anyio_backend(request: Any) -> Any: + return request.param + + +@pytest.fixture +def anyio_backend_name(anyio_backend: Any) -> str: + if isinstance(anyio_backend, str): + return anyio_backend + else: + return anyio_backend[0] + + +@pytest.fixture +def anyio_backend_options(anyio_backend: Any) -> dict[str, Any]: + if isinstance(anyio_backend, str): + return {} + else: + return anyio_backend[1] diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/streams/__init__.py b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1ef53c6aade404bf15f562e6de7bfb144fcb3eed GIT binary patch literal 187 zcmZ3^%ge<81fRBENe9u7K?DpiLK&agfQ;!3DGb33nv8xc8H$*I{LdiCUw---`MIh3 zN%4BO~Jn1{hJq3={(Z D!80%W literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/buffered.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/buffered.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8383201d81e9c03d3f0f435064e3e4436c8469b0 GIT binary patch literal 6487 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/memory.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/memory.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b1041de80d613671249051d3f7a82889696b4261 GIT binary patch literal 15961 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 Oe1)JfK~Ep1tN#V?+kegg literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/text.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/__pycache__/text.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0650a3b713c82cc39284f432ba40460d89fde463 GIT binary patch literal 9009 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 Qmi;M%$IRF3v literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/streams/buffered.py b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/buffered.py new file mode 100644 index 0000000..f5d5e83 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/buffered.py @@ -0,0 +1,119 @@ +from __future__ import annotations + +from collections.abc import Callable, Mapping +from dataclasses import dataclass, field +from typing import Any + +from .. import ClosedResourceError, DelimiterNotFound, EndOfStream, IncompleteRead +from ..abc import AnyByteReceiveStream, ByteReceiveStream + + +@dataclass(eq=False) +class BufferedByteReceiveStream(ByteReceiveStream): + """ + Wraps any bytes-based receive stream and uses a buffer to provide sophisticated + receiving capabilities in the form of a byte stream. + """ + + receive_stream: AnyByteReceiveStream + _buffer: bytearray = field(init=False, default_factory=bytearray) + _closed: bool = field(init=False, default=False) + + async def aclose(self) -> None: + await self.receive_stream.aclose() + self._closed = True + + @property + def buffer(self) -> bytes: + """The bytes currently in the buffer.""" + return bytes(self._buffer) + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return self.receive_stream.extra_attributes + + async def receive(self, max_bytes: int = 65536) -> bytes: + if self._closed: + raise ClosedResourceError + + if self._buffer: + chunk = bytes(self._buffer[:max_bytes]) + del self._buffer[:max_bytes] + return chunk + elif isinstance(self.receive_stream, ByteReceiveStream): + return await self.receive_stream.receive(max_bytes) + else: + # With a bytes-oriented object stream, we need to handle any surplus bytes + # we get from the receive() call + chunk = await self.receive_stream.receive() + if len(chunk) > max_bytes: + # Save the surplus bytes in the buffer + self._buffer.extend(chunk[max_bytes:]) + return chunk[:max_bytes] + else: + return chunk + + async def receive_exactly(self, nbytes: int) -> bytes: + """ + Read exactly the given amount of bytes from the stream. + + :param nbytes: the number of bytes to read + :return: the bytes read + :raises ~anyio.IncompleteRead: if the stream was closed before the requested + amount of bytes could be read from the stream + + """ + while True: + remaining = nbytes - len(self._buffer) + if remaining <= 0: + retval = self._buffer[:nbytes] + del self._buffer[:nbytes] + return bytes(retval) + + try: + if isinstance(self.receive_stream, ByteReceiveStream): + chunk = await self.receive_stream.receive(remaining) + else: + chunk = await self.receive_stream.receive() + except EndOfStream as exc: + raise IncompleteRead from exc + + self._buffer.extend(chunk) + + async def receive_until(self, delimiter: bytes, max_bytes: int) -> bytes: + """ + Read from the stream until the delimiter is found or max_bytes have been read. + + :param delimiter: the marker to look for in the stream + :param max_bytes: maximum number of bytes that will be read before raising + :exc:`~anyio.DelimiterNotFound` + :return: the bytes read (not including the delimiter) + :raises ~anyio.IncompleteRead: if the stream was closed before the delimiter + was found + :raises ~anyio.DelimiterNotFound: if the delimiter is not found within the + bytes read up to the maximum allowed + + """ + delimiter_size = len(delimiter) + offset = 0 + while True: + # Check if the delimiter can be found in the current buffer + index = self._buffer.find(delimiter, offset) + if index >= 0: + found = self._buffer[:index] + del self._buffer[: index + len(delimiter) :] + return bytes(found) + + # Check if the buffer is already at or over the limit + if len(self._buffer) >= max_bytes: + raise DelimiterNotFound(max_bytes) + + # Read more data into the buffer from the socket + try: + data = await self.receive_stream.receive() + except EndOfStream as exc: + raise IncompleteRead from exc + + # Move the offset forward and add the new data to the buffer + offset = max(len(self._buffer) - delimiter_size + 1, 0) + self._buffer.extend(data) diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/streams/file.py b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/file.py new file mode 100644 index 0000000..f492464 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/file.py @@ -0,0 +1,148 @@ +from __future__ import annotations + +from collections.abc import Callable, Mapping +from io import SEEK_SET, UnsupportedOperation +from os import PathLike +from pathlib import Path +from typing import Any, BinaryIO, cast + +from .. import ( + BrokenResourceError, + ClosedResourceError, + EndOfStream, + TypedAttributeSet, + to_thread, + typed_attribute, +) +from ..abc import ByteReceiveStream, ByteSendStream + + +class FileStreamAttribute(TypedAttributeSet): + #: the open file descriptor + file: BinaryIO = typed_attribute() + #: the path of the file on the file system, if available (file must be a real file) + path: Path = typed_attribute() + #: the file number, if available (file must be a real file or a TTY) + fileno: int = typed_attribute() + + +class _BaseFileStream: + def __init__(self, file: BinaryIO): + self._file = file + + async def aclose(self) -> None: + await to_thread.run_sync(self._file.close) + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + attributes: dict[Any, Callable[[], Any]] = { + FileStreamAttribute.file: lambda: self._file, + } + + if hasattr(self._file, "name"): + attributes[FileStreamAttribute.path] = lambda: Path(self._file.name) + + try: + self._file.fileno() + except UnsupportedOperation: + pass + else: + attributes[FileStreamAttribute.fileno] = lambda: self._file.fileno() + + return attributes + + +class FileReadStream(_BaseFileStream, ByteReceiveStream): + """ + A byte stream that reads from a file in the file system. + + :param file: a file that has been opened for reading in binary mode + + .. versionadded:: 3.0 + """ + + @classmethod + async def from_path(cls, path: str | PathLike[str]) -> FileReadStream: + """ + Create a file read stream by opening the given file. + + :param path: path of the file to read from + + """ + file = await to_thread.run_sync(Path(path).open, "rb") + return cls(cast(BinaryIO, file)) + + async def receive(self, max_bytes: int = 65536) -> bytes: + try: + data = await to_thread.run_sync(self._file.read, max_bytes) + except ValueError: + raise ClosedResourceError from None + except OSError as exc: + raise BrokenResourceError from exc + + if data: + return data + else: + raise EndOfStream + + async def seek(self, position: int, whence: int = SEEK_SET) -> int: + """ + Seek the file to the given position. + + .. seealso:: :meth:`io.IOBase.seek` + + .. note:: Not all file descriptors are seekable. + + :param position: position to seek the file to + :param whence: controls how ``position`` is interpreted + :return: the new absolute position + :raises OSError: if the file is not seekable + + """ + return await to_thread.run_sync(self._file.seek, position, whence) + + async def tell(self) -> int: + """ + Return the current stream position. + + .. note:: Not all file descriptors are seekable. + + :return: the current absolute position + :raises OSError: if the file is not seekable + + """ + return await to_thread.run_sync(self._file.tell) + + +class FileWriteStream(_BaseFileStream, ByteSendStream): + """ + A byte stream that writes to a file in the file system. + + :param file: a file that has been opened for writing in binary mode + + .. versionadded:: 3.0 + """ + + @classmethod + async def from_path( + cls, path: str | PathLike[str], append: bool = False + ) -> FileWriteStream: + """ + Create a file write stream by opening the given file for writing. + + :param path: path of the file to write to + :param append: if ``True``, open the file for appending; if ``False``, any + existing file at the given path will be truncated + + """ + mode = "ab" if append else "wb" + file = await to_thread.run_sync(Path(path).open, mode) + return cls(cast(BinaryIO, file)) + + async def send(self, item: bytes) -> None: + try: + await to_thread.run_sync(self._file.write, item) + except ValueError: + raise ClosedResourceError from None + except OSError as exc: + raise BrokenResourceError from exc diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/streams/memory.py b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/memory.py new file mode 100644 index 0000000..b547aa6 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/memory.py @@ -0,0 +1,317 @@ +from __future__ import annotations + +import warnings +from collections import OrderedDict, deque +from dataclasses import dataclass, field +from types import TracebackType +from typing import Generic, NamedTuple, TypeVar + +from .. import ( + BrokenResourceError, + ClosedResourceError, + EndOfStream, + WouldBlock, +) +from .._core._testing import TaskInfo, get_current_task +from ..abc import Event, ObjectReceiveStream, ObjectSendStream +from ..lowlevel import checkpoint + +T_Item = TypeVar("T_Item") +T_co = TypeVar("T_co", covariant=True) +T_contra = TypeVar("T_contra", contravariant=True) + + +class MemoryObjectStreamStatistics(NamedTuple): + current_buffer_used: int #: number of items stored in the buffer + #: maximum number of items that can be stored on this stream (or :data:`math.inf`) + max_buffer_size: float + open_send_streams: int #: number of unclosed clones of the send stream + open_receive_streams: int #: number of unclosed clones of the receive stream + #: number of tasks blocked on :meth:`MemoryObjectSendStream.send` + tasks_waiting_send: int + #: number of tasks blocked on :meth:`MemoryObjectReceiveStream.receive` + tasks_waiting_receive: int + + +@dataclass(eq=False) +class MemoryObjectItemReceiver(Generic[T_Item]): + task_info: TaskInfo = field(init=False, default_factory=get_current_task) + item: T_Item = field(init=False) + + def __repr__(self) -> str: + # When item is not defined, we get following error with default __repr__: + # AttributeError: 'MemoryObjectItemReceiver' object has no attribute 'item' + item = getattr(self, "item", None) + return f"{self.__class__.__name__}(task_info={self.task_info}, item={item!r})" + + +@dataclass(eq=False) +class MemoryObjectStreamState(Generic[T_Item]): + max_buffer_size: float = field() + buffer: deque[T_Item] = field(init=False, default_factory=deque) + open_send_channels: int = field(init=False, default=0) + open_receive_channels: int = field(init=False, default=0) + waiting_receivers: OrderedDict[Event, MemoryObjectItemReceiver[T_Item]] = field( + init=False, default_factory=OrderedDict + ) + waiting_senders: OrderedDict[Event, T_Item] = field( + init=False, default_factory=OrderedDict + ) + + def statistics(self) -> MemoryObjectStreamStatistics: + return MemoryObjectStreamStatistics( + len(self.buffer), + self.max_buffer_size, + self.open_send_channels, + self.open_receive_channels, + len(self.waiting_senders), + len(self.waiting_receivers), + ) + + +@dataclass(eq=False) +class MemoryObjectReceiveStream(Generic[T_co], ObjectReceiveStream[T_co]): + _state: MemoryObjectStreamState[T_co] + _closed: bool = field(init=False, default=False) + + def __post_init__(self) -> None: + self._state.open_receive_channels += 1 + + def receive_nowait(self) -> T_co: + """ + Receive the next item if it can be done without waiting. + + :return: the received item + :raises ~anyio.ClosedResourceError: if this send stream has been closed + :raises ~anyio.EndOfStream: if the buffer is empty and this stream has been + closed from the sending end + :raises ~anyio.WouldBlock: if there are no items in the buffer and no tasks + waiting to send + + """ + if self._closed: + raise ClosedResourceError + + if self._state.waiting_senders: + # Get the item from the next sender + send_event, item = self._state.waiting_senders.popitem(last=False) + self._state.buffer.append(item) + send_event.set() + + if self._state.buffer: + return self._state.buffer.popleft() + elif not self._state.open_send_channels: + raise EndOfStream + + raise WouldBlock + + async def receive(self) -> T_co: + await checkpoint() + try: + return self.receive_nowait() + except WouldBlock: + # Add ourselves in the queue + receive_event = Event() + receiver = MemoryObjectItemReceiver[T_co]() + self._state.waiting_receivers[receive_event] = receiver + + try: + await receive_event.wait() + finally: + self._state.waiting_receivers.pop(receive_event, None) + + try: + return receiver.item + except AttributeError: + raise EndOfStream + + def clone(self) -> MemoryObjectReceiveStream[T_co]: + """ + Create a clone of this receive stream. + + Each clone can be closed separately. Only when all clones have been closed will + the receiving end of the memory stream be considered closed by the sending ends. + + :return: the cloned stream + + """ + if self._closed: + raise ClosedResourceError + + return MemoryObjectReceiveStream(_state=self._state) + + def close(self) -> None: + """ + Close the stream. + + This works the exact same way as :meth:`aclose`, but is provided as a special + case for the benefit of synchronous callbacks. + + """ + if not self._closed: + self._closed = True + self._state.open_receive_channels -= 1 + if self._state.open_receive_channels == 0: + send_events = list(self._state.waiting_senders.keys()) + for event in send_events: + event.set() + + async def aclose(self) -> None: + self.close() + + def statistics(self) -> MemoryObjectStreamStatistics: + """ + Return statistics about the current state of this stream. + + .. versionadded:: 3.0 + """ + return self._state.statistics() + + def __enter__(self) -> MemoryObjectReceiveStream[T_co]: + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self.close() + + def __del__(self) -> None: + if not self._closed: + warnings.warn( + f"Unclosed <{self.__class__.__name__} at {id(self):x}>", + ResourceWarning, + source=self, + ) + + +@dataclass(eq=False) +class MemoryObjectSendStream(Generic[T_contra], ObjectSendStream[T_contra]): + _state: MemoryObjectStreamState[T_contra] + _closed: bool = field(init=False, default=False) + + def __post_init__(self) -> None: + self._state.open_send_channels += 1 + + def send_nowait(self, item: T_contra) -> None: + """ + Send an item immediately if it can be done without waiting. + + :param item: the item to send + :raises ~anyio.ClosedResourceError: if this send stream has been closed + :raises ~anyio.BrokenResourceError: if the stream has been closed from the + receiving end + :raises ~anyio.WouldBlock: if the buffer is full and there are no tasks waiting + to receive + + """ + if self._closed: + raise ClosedResourceError + if not self._state.open_receive_channels: + raise BrokenResourceError + + while self._state.waiting_receivers: + receive_event, receiver = self._state.waiting_receivers.popitem(last=False) + if not receiver.task_info.has_pending_cancellation(): + receiver.item = item + receive_event.set() + return + + if len(self._state.buffer) < self._state.max_buffer_size: + self._state.buffer.append(item) + else: + raise WouldBlock + + async def send(self, item: T_contra) -> None: + """ + Send an item to the stream. + + If the buffer is full, this method blocks until there is again room in the + buffer or the item can be sent directly to a receiver. + + :param item: the item to send + :raises ~anyio.ClosedResourceError: if this send stream has been closed + :raises ~anyio.BrokenResourceError: if the stream has been closed from the + receiving end + + """ + await checkpoint() + try: + self.send_nowait(item) + except WouldBlock: + # Wait until there's someone on the receiving end + send_event = Event() + self._state.waiting_senders[send_event] = item + try: + await send_event.wait() + except BaseException: + self._state.waiting_senders.pop(send_event, None) + raise + + if send_event in self._state.waiting_senders: + del self._state.waiting_senders[send_event] + raise BrokenResourceError from None + + def clone(self) -> MemoryObjectSendStream[T_contra]: + """ + Create a clone of this send stream. + + Each clone can be closed separately. Only when all clones have been closed will + the sending end of the memory stream be considered closed by the receiving ends. + + :return: the cloned stream + + """ + if self._closed: + raise ClosedResourceError + + return MemoryObjectSendStream(_state=self._state) + + def close(self) -> None: + """ + Close the stream. + + This works the exact same way as :meth:`aclose`, but is provided as a special + case for the benefit of synchronous callbacks. + + """ + if not self._closed: + self._closed = True + self._state.open_send_channels -= 1 + if self._state.open_send_channels == 0: + receive_events = list(self._state.waiting_receivers.keys()) + self._state.waiting_receivers.clear() + for event in receive_events: + event.set() + + async def aclose(self) -> None: + self.close() + + def statistics(self) -> MemoryObjectStreamStatistics: + """ + Return statistics about the current state of this stream. + + .. versionadded:: 3.0 + """ + return self._state.statistics() + + def __enter__(self) -> MemoryObjectSendStream[T_contra]: + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self.close() + + def __del__(self) -> None: + if not self._closed: + warnings.warn( + f"Unclosed <{self.__class__.__name__} at {id(self):x}>", + ResourceWarning, + source=self, + ) diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/streams/stapled.py b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/stapled.py new file mode 100644 index 0000000..80f64a2 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/stapled.py @@ -0,0 +1,141 @@ +from __future__ import annotations + +from collections.abc import Callable, Mapping, Sequence +from dataclasses import dataclass +from typing import Any, Generic, TypeVar + +from ..abc import ( + ByteReceiveStream, + ByteSendStream, + ByteStream, + Listener, + ObjectReceiveStream, + ObjectSendStream, + ObjectStream, + TaskGroup, +) + +T_Item = TypeVar("T_Item") +T_Stream = TypeVar("T_Stream") + + +@dataclass(eq=False) +class StapledByteStream(ByteStream): + """ + Combines two byte streams into a single, bidirectional byte stream. + + Extra attributes will be provided from both streams, with the receive stream + providing the values in case of a conflict. + + :param ByteSendStream send_stream: the sending byte stream + :param ByteReceiveStream receive_stream: the receiving byte stream + """ + + send_stream: ByteSendStream + receive_stream: ByteReceiveStream + + async def receive(self, max_bytes: int = 65536) -> bytes: + return await self.receive_stream.receive(max_bytes) + + async def send(self, item: bytes) -> None: + await self.send_stream.send(item) + + async def send_eof(self) -> None: + await self.send_stream.aclose() + + async def aclose(self) -> None: + await self.send_stream.aclose() + await self.receive_stream.aclose() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return { + **self.send_stream.extra_attributes, + **self.receive_stream.extra_attributes, + } + + +@dataclass(eq=False) +class StapledObjectStream(Generic[T_Item], ObjectStream[T_Item]): + """ + Combines two object streams into a single, bidirectional object stream. + + Extra attributes will be provided from both streams, with the receive stream + providing the values in case of a conflict. + + :param ObjectSendStream send_stream: the sending object stream + :param ObjectReceiveStream receive_stream: the receiving object stream + """ + + send_stream: ObjectSendStream[T_Item] + receive_stream: ObjectReceiveStream[T_Item] + + async def receive(self) -> T_Item: + return await self.receive_stream.receive() + + async def send(self, item: T_Item) -> None: + await self.send_stream.send(item) + + async def send_eof(self) -> None: + await self.send_stream.aclose() + + async def aclose(self) -> None: + await self.send_stream.aclose() + await self.receive_stream.aclose() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return { + **self.send_stream.extra_attributes, + **self.receive_stream.extra_attributes, + } + + +@dataclass(eq=False) +class MultiListener(Generic[T_Stream], Listener[T_Stream]): + """ + Combines multiple listeners into one, serving connections from all of them at once. + + Any MultiListeners in the given collection of listeners will have their listeners + moved into this one. + + Extra attributes are provided from each listener, with each successive listener + overriding any conflicting attributes from the previous one. + + :param listeners: listeners to serve + :type listeners: Sequence[Listener[T_Stream]] + """ + + listeners: Sequence[Listener[T_Stream]] + + def __post_init__(self) -> None: + listeners: list[Listener[T_Stream]] = [] + for listener in self.listeners: + if isinstance(listener, MultiListener): + listeners.extend(listener.listeners) + del listener.listeners[:] # type: ignore[attr-defined] + else: + listeners.append(listener) + + self.listeners = listeners + + async def serve( + self, handler: Callable[[T_Stream], Any], task_group: TaskGroup | None = None + ) -> None: + from .. import create_task_group + + async with create_task_group() as tg: + for listener in self.listeners: + tg.start_soon(listener.serve, handler, task_group) + + async def aclose(self) -> None: + for listener in self.listeners: + await listener.aclose() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + attributes: dict = {} + for listener in self.listeners: + attributes.update(listener.extra_attributes) + + return attributes diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/streams/text.py b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/text.py new file mode 100644 index 0000000..f1a1127 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/text.py @@ -0,0 +1,147 @@ +from __future__ import annotations + +import codecs +from collections.abc import Callable, Mapping +from dataclasses import InitVar, dataclass, field +from typing import Any + +from ..abc import ( + AnyByteReceiveStream, + AnyByteSendStream, + AnyByteStream, + ObjectReceiveStream, + ObjectSendStream, + ObjectStream, +) + + +@dataclass(eq=False) +class TextReceiveStream(ObjectReceiveStream[str]): + """ + Stream wrapper that decodes bytes to strings using the given encoding. + + Decoding is done using :class:`~codecs.IncrementalDecoder` which returns any + completely received unicode characters as soon as they come in. + + :param transport_stream: any bytes-based receive stream + :param encoding: character encoding to use for decoding bytes to strings (defaults + to ``utf-8``) + :param errors: handling scheme for decoding errors (defaults to ``strict``; see the + `codecs module documentation`_ for a comprehensive list of options) + + .. _codecs module documentation: + https://docs.python.org/3/library/codecs.html#codec-objects + """ + + transport_stream: AnyByteReceiveStream + encoding: InitVar[str] = "utf-8" + errors: InitVar[str] = "strict" + _decoder: codecs.IncrementalDecoder = field(init=False) + + def __post_init__(self, encoding: str, errors: str) -> None: + decoder_class = codecs.getincrementaldecoder(encoding) + self._decoder = decoder_class(errors=errors) + + async def receive(self) -> str: + while True: + chunk = await self.transport_stream.receive() + decoded = self._decoder.decode(chunk) + if decoded: + return decoded + + async def aclose(self) -> None: + await self.transport_stream.aclose() + self._decoder.reset() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return self.transport_stream.extra_attributes + + +@dataclass(eq=False) +class TextSendStream(ObjectSendStream[str]): + """ + Sends strings to the wrapped stream as bytes using the given encoding. + + :param AnyByteSendStream transport_stream: any bytes-based send stream + :param str encoding: character encoding to use for encoding strings to bytes + (defaults to ``utf-8``) + :param str errors: handling scheme for encoding errors (defaults to ``strict``; see + the `codecs module documentation`_ for a comprehensive list of options) + + .. _codecs module documentation: + https://docs.python.org/3/library/codecs.html#codec-objects + """ + + transport_stream: AnyByteSendStream + encoding: InitVar[str] = "utf-8" + errors: str = "strict" + _encoder: Callable[..., tuple[bytes, int]] = field(init=False) + + def __post_init__(self, encoding: str) -> None: + self._encoder = codecs.getencoder(encoding) + + async def send(self, item: str) -> None: + encoded = self._encoder(item, self.errors)[0] + await self.transport_stream.send(encoded) + + async def aclose(self) -> None: + await self.transport_stream.aclose() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return self.transport_stream.extra_attributes + + +@dataclass(eq=False) +class TextStream(ObjectStream[str]): + """ + A bidirectional stream that decodes bytes to strings on receive and encodes strings + to bytes on send. + + Extra attributes will be provided from both streams, with the receive stream + providing the values in case of a conflict. + + :param AnyByteStream transport_stream: any bytes-based stream + :param str encoding: character encoding to use for encoding/decoding strings to/from + bytes (defaults to ``utf-8``) + :param str errors: handling scheme for encoding errors (defaults to ``strict``; see + the `codecs module documentation`_ for a comprehensive list of options) + + .. _codecs module documentation: + https://docs.python.org/3/library/codecs.html#codec-objects + """ + + transport_stream: AnyByteStream + encoding: InitVar[str] = "utf-8" + errors: InitVar[str] = "strict" + _receive_stream: TextReceiveStream = field(init=False) + _send_stream: TextSendStream = field(init=False) + + def __post_init__(self, encoding: str, errors: str) -> None: + self._receive_stream = TextReceiveStream( + self.transport_stream, encoding=encoding, errors=errors + ) + self._send_stream = TextSendStream( + self.transport_stream, encoding=encoding, errors=errors + ) + + async def receive(self) -> str: + return await self._receive_stream.receive() + + async def send(self, item: str) -> None: + await self._send_stream.send(item) + + async def send_eof(self) -> None: + await self.transport_stream.send_eof() + + async def aclose(self) -> None: + await self._send_stream.aclose() + await self._receive_stream.aclose() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return { + **self._send_stream.extra_attributes, + **self._receive_stream.extra_attributes, + } diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/streams/tls.py b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/tls.py new file mode 100644 index 0000000..b6961be --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/streams/tls.py @@ -0,0 +1,337 @@ +from __future__ import annotations + +import logging +import re +import ssl +import sys +from collections.abc import Callable, Mapping +from dataclasses import dataclass +from functools import wraps +from typing import Any, TypeVar + +from .. import ( + BrokenResourceError, + EndOfStream, + aclose_forcefully, + get_cancelled_exc_class, +) +from .._core._typedattr import TypedAttributeSet, typed_attribute +from ..abc import AnyByteStream, ByteStream, Listener, TaskGroup + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +T_Retval = TypeVar("T_Retval") +PosArgsT = TypeVarTuple("PosArgsT") +_PCTRTT = tuple[tuple[str, str], ...] +_PCTRTTT = tuple[_PCTRTT, ...] + + +class TLSAttribute(TypedAttributeSet): + """Contains Transport Layer Security related attributes.""" + + #: the selected ALPN protocol + alpn_protocol: str | None = typed_attribute() + #: the channel binding for type ``tls-unique`` + channel_binding_tls_unique: bytes = typed_attribute() + #: the selected cipher + cipher: tuple[str, str, int] = typed_attribute() + #: the peer certificate in dictionary form (see :meth:`ssl.SSLSocket.getpeercert` + # for more information) + peer_certificate: None | (dict[str, str | _PCTRTTT | _PCTRTT]) = typed_attribute() + #: the peer certificate in binary form + peer_certificate_binary: bytes | None = typed_attribute() + #: ``True`` if this is the server side of the connection + server_side: bool = typed_attribute() + #: ciphers shared by the client during the TLS handshake (``None`` if this is the + #: client side) + shared_ciphers: list[tuple[str, str, int]] | None = typed_attribute() + #: the :class:`~ssl.SSLObject` used for encryption + ssl_object: ssl.SSLObject = typed_attribute() + #: ``True`` if this stream does (and expects) a closing TLS handshake when the + #: stream is being closed + standard_compatible: bool = typed_attribute() + #: the TLS protocol version (e.g. ``TLSv1.2``) + tls_version: str = typed_attribute() + + +@dataclass(eq=False) +class TLSStream(ByteStream): + """ + A stream wrapper that encrypts all sent data and decrypts received data. + + This class has no public initializer; use :meth:`wrap` instead. + All extra attributes from :class:`~TLSAttribute` are supported. + + :var AnyByteStream transport_stream: the wrapped stream + + """ + + transport_stream: AnyByteStream + standard_compatible: bool + _ssl_object: ssl.SSLObject + _read_bio: ssl.MemoryBIO + _write_bio: ssl.MemoryBIO + + @classmethod + async def wrap( + cls, + transport_stream: AnyByteStream, + *, + server_side: bool | None = None, + hostname: str | None = None, + ssl_context: ssl.SSLContext | None = None, + standard_compatible: bool = True, + ) -> TLSStream: + """ + Wrap an existing stream with Transport Layer Security. + + This performs a TLS handshake with the peer. + + :param transport_stream: a bytes-transporting stream to wrap + :param server_side: ``True`` if this is the server side of the connection, + ``False`` if this is the client side (if omitted, will be set to ``False`` + if ``hostname`` has been provided, ``False`` otherwise). Used only to create + a default context when an explicit context has not been provided. + :param hostname: host name of the peer (if host name checking is desired) + :param ssl_context: the SSLContext object to use (if not provided, a secure + default will be created) + :param standard_compatible: if ``False``, skip the closing handshake when + closing the connection, and don't raise an exception if the peer does the + same + :raises ~ssl.SSLError: if the TLS handshake fails + + """ + if server_side is None: + server_side = not hostname + + if not ssl_context: + purpose = ( + ssl.Purpose.CLIENT_AUTH if server_side else ssl.Purpose.SERVER_AUTH + ) + ssl_context = ssl.create_default_context(purpose) + + # Re-enable detection of unexpected EOFs if it was disabled by Python + if hasattr(ssl, "OP_IGNORE_UNEXPECTED_EOF"): + ssl_context.options &= ~ssl.OP_IGNORE_UNEXPECTED_EOF + + bio_in = ssl.MemoryBIO() + bio_out = ssl.MemoryBIO() + ssl_object = ssl_context.wrap_bio( + bio_in, bio_out, server_side=server_side, server_hostname=hostname + ) + wrapper = cls( + transport_stream=transport_stream, + standard_compatible=standard_compatible, + _ssl_object=ssl_object, + _read_bio=bio_in, + _write_bio=bio_out, + ) + await wrapper._call_sslobject_method(ssl_object.do_handshake) + return wrapper + + async def _call_sslobject_method( + self, func: Callable[[Unpack[PosArgsT]], T_Retval], *args: Unpack[PosArgsT] + ) -> T_Retval: + while True: + try: + result = func(*args) + except ssl.SSLWantReadError: + try: + # Flush any pending writes first + if self._write_bio.pending: + await self.transport_stream.send(self._write_bio.read()) + + data = await self.transport_stream.receive() + except EndOfStream: + self._read_bio.write_eof() + except OSError as exc: + self._read_bio.write_eof() + self._write_bio.write_eof() + raise BrokenResourceError from exc + else: + self._read_bio.write(data) + except ssl.SSLWantWriteError: + await self.transport_stream.send(self._write_bio.read()) + except ssl.SSLSyscallError as exc: + self._read_bio.write_eof() + self._write_bio.write_eof() + raise BrokenResourceError from exc + except ssl.SSLError as exc: + self._read_bio.write_eof() + self._write_bio.write_eof() + if isinstance(exc, ssl.SSLEOFError) or ( + exc.strerror and "UNEXPECTED_EOF_WHILE_READING" in exc.strerror + ): + if self.standard_compatible: + raise BrokenResourceError from exc + else: + raise EndOfStream from None + + raise + else: + # Flush any pending writes first + if self._write_bio.pending: + await self.transport_stream.send(self._write_bio.read()) + + return result + + async def unwrap(self) -> tuple[AnyByteStream, bytes]: + """ + Does the TLS closing handshake. + + :return: a tuple of (wrapped byte stream, bytes left in the read buffer) + + """ + await self._call_sslobject_method(self._ssl_object.unwrap) + self._read_bio.write_eof() + self._write_bio.write_eof() + return self.transport_stream, self._read_bio.read() + + async def aclose(self) -> None: + if self.standard_compatible: + try: + await self.unwrap() + except BaseException: + await aclose_forcefully(self.transport_stream) + raise + + await self.transport_stream.aclose() + + async def receive(self, max_bytes: int = 65536) -> bytes: + data = await self._call_sslobject_method(self._ssl_object.read, max_bytes) + if not data: + raise EndOfStream + + return data + + async def send(self, item: bytes) -> None: + await self._call_sslobject_method(self._ssl_object.write, item) + + async def send_eof(self) -> None: + tls_version = self.extra(TLSAttribute.tls_version) + match = re.match(r"TLSv(\d+)(?:\.(\d+))?", tls_version) + if match: + major, minor = int(match.group(1)), int(match.group(2) or 0) + if (major, minor) < (1, 3): + raise NotImplementedError( + f"send_eof() requires at least TLSv1.3; current " + f"session uses {tls_version}" + ) + + raise NotImplementedError( + "send_eof() has not yet been implemented for TLS streams" + ) + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return { + **self.transport_stream.extra_attributes, + TLSAttribute.alpn_protocol: self._ssl_object.selected_alpn_protocol, + TLSAttribute.channel_binding_tls_unique: ( + self._ssl_object.get_channel_binding + ), + TLSAttribute.cipher: self._ssl_object.cipher, + TLSAttribute.peer_certificate: lambda: self._ssl_object.getpeercert(False), + TLSAttribute.peer_certificate_binary: lambda: self._ssl_object.getpeercert( + True + ), + TLSAttribute.server_side: lambda: self._ssl_object.server_side, + TLSAttribute.shared_ciphers: lambda: self._ssl_object.shared_ciphers() + if self._ssl_object.server_side + else None, + TLSAttribute.standard_compatible: lambda: self.standard_compatible, + TLSAttribute.ssl_object: lambda: self._ssl_object, + TLSAttribute.tls_version: self._ssl_object.version, + } + + +@dataclass(eq=False) +class TLSListener(Listener[TLSStream]): + """ + A convenience listener that wraps another listener and auto-negotiates a TLS session + on every accepted connection. + + If the TLS handshake times out or raises an exception, + :meth:`handle_handshake_error` is called to do whatever post-mortem processing is + deemed necessary. + + Supports only the :attr:`~TLSAttribute.standard_compatible` extra attribute. + + :param Listener listener: the listener to wrap + :param ssl_context: the SSL context object + :param standard_compatible: a flag passed through to :meth:`TLSStream.wrap` + :param handshake_timeout: time limit for the TLS handshake + (passed to :func:`~anyio.fail_after`) + """ + + listener: Listener[Any] + ssl_context: ssl.SSLContext + standard_compatible: bool = True + handshake_timeout: float = 30 + + @staticmethod + async def handle_handshake_error(exc: BaseException, stream: AnyByteStream) -> None: + """ + Handle an exception raised during the TLS handshake. + + This method does 3 things: + + #. Forcefully closes the original stream + #. Logs the exception (unless it was a cancellation exception) using the + ``anyio.streams.tls`` logger + #. Reraises the exception if it was a base exception or a cancellation exception + + :param exc: the exception + :param stream: the original stream + + """ + await aclose_forcefully(stream) + + # Log all except cancellation exceptions + if not isinstance(exc, get_cancelled_exc_class()): + # CPython (as of 3.11.5) returns incorrect `sys.exc_info()` here when using + # any asyncio implementation, so we explicitly pass the exception to log + # (https://github.com/python/cpython/issues/108668). Trio does not have this + # issue because it works around the CPython bug. + logging.getLogger(__name__).exception( + "Error during TLS handshake", exc_info=exc + ) + + # Only reraise base exceptions and cancellation exceptions + if not isinstance(exc, Exception) or isinstance(exc, get_cancelled_exc_class()): + raise + + async def serve( + self, + handler: Callable[[TLSStream], Any], + task_group: TaskGroup | None = None, + ) -> None: + @wraps(handler) + async def handler_wrapper(stream: AnyByteStream) -> None: + from .. import fail_after + + try: + with fail_after(self.handshake_timeout): + wrapped_stream = await TLSStream.wrap( + stream, + ssl_context=self.ssl_context, + standard_compatible=self.standard_compatible, + ) + except BaseException as exc: + await self.handle_handshake_error(exc, stream) + else: + await handler(wrapped_stream) + + await self.listener.serve(handler_wrapper, task_group) + + async def aclose(self) -> None: + await self.listener.aclose() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return { + TLSAttribute.standard_compatible: lambda: self.standard_compatible, + } diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/to_interpreter.py b/botenre/myenv/lib/python3.11/site-packages/anyio/to_interpreter.py new file mode 100644 index 0000000..bcde24d --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/to_interpreter.py @@ -0,0 +1,218 @@ +from __future__ import annotations + +import atexit +import os +import pickle +import sys +from collections import deque +from collections.abc import Callable +from textwrap import dedent +from typing import Any, Final, TypeVar + +from . import current_time, to_thread +from ._core._exceptions import BrokenWorkerIntepreter +from ._core._synchronization import CapacityLimiter +from .lowlevel import RunVar + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +UNBOUND: Final = 2 # I have no clue how this works, but it was used in the stdlib +FMT_UNPICKLED: Final = 0 +FMT_PICKLED: Final = 1 +DEFAULT_CPU_COUNT: Final = 8 # this is just an arbitrarily selected value +MAX_WORKER_IDLE_TIME = ( + 30 # seconds a subinterpreter can be idle before becoming eligible for pruning +) + +T_Retval = TypeVar("T_Retval") +PosArgsT = TypeVarTuple("PosArgsT") + +_idle_workers = RunVar[deque["Worker"]]("_available_workers") +_default_interpreter_limiter = RunVar[CapacityLimiter]("_default_interpreter_limiter") + + +class Worker: + _run_func = compile( + dedent(""" + import _interpqueues as queues + import _interpreters as interpreters + from pickle import loads, dumps, HIGHEST_PROTOCOL + + item = queues.get(queue_id)[0] + try: + func, args = loads(item) + retval = func(*args) + except BaseException as exc: + is_exception = True + retval = exc + else: + is_exception = False + + try: + queues.put(queue_id, (retval, is_exception), FMT_UNPICKLED, UNBOUND) + except interpreters.NotShareableError: + retval = dumps(retval, HIGHEST_PROTOCOL) + queues.put(queue_id, (retval, is_exception), FMT_PICKLED, UNBOUND) + """), + "", + "exec", + ) + + last_used: float = 0 + + _initialized: bool = False + _interpreter_id: int + _queue_id: int + + def initialize(self) -> None: + import _interpqueues as queues + import _interpreters as interpreters + + self._interpreter_id = interpreters.create() + self._queue_id = queues.create(2, FMT_UNPICKLED, UNBOUND) # type: ignore[call-arg] + self._initialized = True + interpreters.set___main___attrs( + self._interpreter_id, + { + "queue_id": self._queue_id, + "FMT_PICKLED": FMT_PICKLED, + "FMT_UNPICKLED": FMT_UNPICKLED, + "UNBOUND": UNBOUND, + }, + ) + + def destroy(self) -> None: + import _interpqueues as queues + import _interpreters as interpreters + + if self._initialized: + interpreters.destroy(self._interpreter_id) + queues.destroy(self._queue_id) + + def _call( + self, + func: Callable[..., T_Retval], + args: tuple[Any], + ) -> tuple[Any, bool]: + import _interpqueues as queues + import _interpreters as interpreters + + if not self._initialized: + self.initialize() + + payload = pickle.dumps((func, args), pickle.HIGHEST_PROTOCOL) + queues.put(self._queue_id, payload, FMT_PICKLED, UNBOUND) # type: ignore[call-arg] + + res: Any + is_exception: bool + if exc_info := interpreters.exec(self._interpreter_id, self._run_func): # type: ignore[func-returns-value,arg-type] + raise BrokenWorkerIntepreter(exc_info) + + (res, is_exception), fmt = queues.get(self._queue_id)[:2] + if fmt == FMT_PICKLED: + res = pickle.loads(res) + + return res, is_exception + + async def call( + self, + func: Callable[..., T_Retval], + args: tuple[Any], + limiter: CapacityLimiter, + ) -> T_Retval: + result, is_exception = await to_thread.run_sync( + self._call, + func, + args, + limiter=limiter, + ) + if is_exception: + raise result + + return result + + +def _stop_workers(workers: deque[Worker]) -> None: + for worker in workers: + worker.destroy() + + workers.clear() + + +async def run_sync( + func: Callable[[Unpack[PosArgsT]], T_Retval], + *args: Unpack[PosArgsT], + limiter: CapacityLimiter | None = None, +) -> T_Retval: + """ + Call the given function with the given arguments in a subinterpreter. + + If the ``cancellable`` option is enabled and the task waiting for its completion is + cancelled, the call will still run its course but its return value (or any raised + exception) will be ignored. + + .. warning:: This feature is **experimental**. The upstream interpreter API has not + yet been finalized or thoroughly tested, so don't rely on this for anything + mission critical. + + :param func: a callable + :param args: positional arguments for the callable + :param limiter: capacity limiter to use to limit the total amount of subinterpreters + running (if omitted, the default limiter is used) + :return: the result of the call + :raises BrokenWorkerIntepreter: if there's an internal error in a subinterpreter + + """ + if sys.version_info <= (3, 13): + raise RuntimeError("subinterpreters require at least Python 3.13") + + if limiter is None: + limiter = current_default_interpreter_limiter() + + try: + idle_workers = _idle_workers.get() + except LookupError: + idle_workers = deque() + _idle_workers.set(idle_workers) + atexit.register(_stop_workers, idle_workers) + + async with limiter: + try: + worker = idle_workers.pop() + except IndexError: + worker = Worker() + + try: + return await worker.call(func, args, limiter) + finally: + # Prune workers that have been idle for too long + now = current_time() + while idle_workers: + if now - idle_workers[0].last_used <= MAX_WORKER_IDLE_TIME: + break + + await to_thread.run_sync(idle_workers.popleft().destroy, limiter=limiter) + + worker.last_used = current_time() + idle_workers.append(worker) + + +def current_default_interpreter_limiter() -> CapacityLimiter: + """ + Return the capacity limiter that is used by default to limit the number of + concurrently running subinterpreters. + + Defaults to the number of CPU cores. + + :return: a capacity limiter object + + """ + try: + return _default_interpreter_limiter.get() + except LookupError: + limiter = CapacityLimiter(os.cpu_count() or DEFAULT_CPU_COUNT) + _default_interpreter_limiter.set(limiter) + return limiter diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/to_process.py b/botenre/myenv/lib/python3.11/site-packages/anyio/to_process.py new file mode 100644 index 0000000..495de2a --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/to_process.py @@ -0,0 +1,258 @@ +from __future__ import annotations + +import os +import pickle +import subprocess +import sys +from collections import deque +from collections.abc import Callable +from importlib.util import module_from_spec, spec_from_file_location +from typing import TypeVar, cast + +from ._core._eventloop import current_time, get_async_backend, get_cancelled_exc_class +from ._core._exceptions import BrokenWorkerProcess +from ._core._subprocesses import open_process +from ._core._synchronization import CapacityLimiter +from ._core._tasks import CancelScope, fail_after +from .abc import ByteReceiveStream, ByteSendStream, Process +from .lowlevel import RunVar, checkpoint_if_cancelled +from .streams.buffered import BufferedByteReceiveStream + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +WORKER_MAX_IDLE_TIME = 300 # 5 minutes + +T_Retval = TypeVar("T_Retval") +PosArgsT = TypeVarTuple("PosArgsT") + +_process_pool_workers: RunVar[set[Process]] = RunVar("_process_pool_workers") +_process_pool_idle_workers: RunVar[deque[tuple[Process, float]]] = RunVar( + "_process_pool_idle_workers" +) +_default_process_limiter: RunVar[CapacityLimiter] = RunVar("_default_process_limiter") + + +async def run_sync( # type: ignore[return] + func: Callable[[Unpack[PosArgsT]], T_Retval], + *args: Unpack[PosArgsT], + cancellable: bool = False, + limiter: CapacityLimiter | None = None, +) -> T_Retval: + """ + Call the given function with the given arguments in a worker process. + + If the ``cancellable`` option is enabled and the task waiting for its completion is + cancelled, the worker process running it will be abruptly terminated using SIGKILL + (or ``terminateProcess()`` on Windows). + + :param func: a callable + :param args: positional arguments for the callable + :param cancellable: ``True`` to allow cancellation of the operation while it's + running + :param limiter: capacity limiter to use to limit the total amount of processes + running (if omitted, the default limiter is used) + :return: an awaitable that yields the return value of the function. + + """ + + async def send_raw_command(pickled_cmd: bytes) -> object: + try: + await stdin.send(pickled_cmd) + response = await buffered.receive_until(b"\n", 50) + status, length = response.split(b" ") + if status not in (b"RETURN", b"EXCEPTION"): + raise RuntimeError( + f"Worker process returned unexpected response: {response!r}" + ) + + pickled_response = await buffered.receive_exactly(int(length)) + except BaseException as exc: + workers.discard(process) + try: + process.kill() + with CancelScope(shield=True): + await process.aclose() + except ProcessLookupError: + pass + + if isinstance(exc, get_cancelled_exc_class()): + raise + else: + raise BrokenWorkerProcess from exc + + retval = pickle.loads(pickled_response) + if status == b"EXCEPTION": + assert isinstance(retval, BaseException) + raise retval + else: + return retval + + # First pickle the request before trying to reserve a worker process + await checkpoint_if_cancelled() + request = pickle.dumps(("run", func, args), protocol=pickle.HIGHEST_PROTOCOL) + + # If this is the first run in this event loop thread, set up the necessary variables + try: + workers = _process_pool_workers.get() + idle_workers = _process_pool_idle_workers.get() + except LookupError: + workers = set() + idle_workers = deque() + _process_pool_workers.set(workers) + _process_pool_idle_workers.set(idle_workers) + get_async_backend().setup_process_pool_exit_at_shutdown(workers) + + async with limiter or current_default_process_limiter(): + # Pop processes from the pool (starting from the most recently used) until we + # find one that hasn't exited yet + process: Process + while idle_workers: + process, idle_since = idle_workers.pop() + if process.returncode is None: + stdin = cast(ByteSendStream, process.stdin) + buffered = BufferedByteReceiveStream( + cast(ByteReceiveStream, process.stdout) + ) + + # Prune any other workers that have been idle for WORKER_MAX_IDLE_TIME + # seconds or longer + now = current_time() + killed_processes: list[Process] = [] + while idle_workers: + if now - idle_workers[0][1] < WORKER_MAX_IDLE_TIME: + break + + process_to_kill, idle_since = idle_workers.popleft() + process_to_kill.kill() + workers.remove(process_to_kill) + killed_processes.append(process_to_kill) + + with CancelScope(shield=True): + for killed_process in killed_processes: + await killed_process.aclose() + + break + + workers.remove(process) + else: + command = [sys.executable, "-u", "-m", __name__] + process = await open_process( + command, stdin=subprocess.PIPE, stdout=subprocess.PIPE + ) + try: + stdin = cast(ByteSendStream, process.stdin) + buffered = BufferedByteReceiveStream( + cast(ByteReceiveStream, process.stdout) + ) + with fail_after(20): + message = await buffered.receive(6) + + if message != b"READY\n": + raise BrokenWorkerProcess( + f"Worker process returned unexpected response: {message!r}" + ) + + main_module_path = getattr(sys.modules["__main__"], "__file__", None) + pickled = pickle.dumps( + ("init", sys.path, main_module_path), + protocol=pickle.HIGHEST_PROTOCOL, + ) + await send_raw_command(pickled) + except (BrokenWorkerProcess, get_cancelled_exc_class()): + raise + except BaseException as exc: + process.kill() + raise BrokenWorkerProcess( + "Error during worker process initialization" + ) from exc + + workers.add(process) + + with CancelScope(shield=not cancellable): + try: + return cast(T_Retval, await send_raw_command(request)) + finally: + if process in workers: + idle_workers.append((process, current_time())) + + +def current_default_process_limiter() -> CapacityLimiter: + """ + Return the capacity limiter that is used by default to limit the number of worker + processes. + + :return: a capacity limiter object + + """ + try: + return _default_process_limiter.get() + except LookupError: + limiter = CapacityLimiter(os.cpu_count() or 2) + _default_process_limiter.set(limiter) + return limiter + + +def process_worker() -> None: + # Redirect standard streams to os.devnull so that user code won't interfere with the + # parent-worker communication + stdin = sys.stdin + stdout = sys.stdout + sys.stdin = open(os.devnull) + sys.stdout = open(os.devnull, "w") + + stdout.buffer.write(b"READY\n") + while True: + retval = exception = None + try: + command, *args = pickle.load(stdin.buffer) + except EOFError: + return + except BaseException as exc: + exception = exc + else: + if command == "run": + func, args = args + try: + retval = func(*args) + except BaseException as exc: + exception = exc + elif command == "init": + main_module_path: str | None + sys.path, main_module_path = args + del sys.modules["__main__"] + if main_module_path and os.path.isfile(main_module_path): + # Load the parent's main module but as __mp_main__ instead of + # __main__ (like multiprocessing does) to avoid infinite recursion + try: + spec = spec_from_file_location("__mp_main__", main_module_path) + if spec and spec.loader: + main = module_from_spec(spec) + spec.loader.exec_module(main) + sys.modules["__main__"] = main + except BaseException as exc: + exception = exc + try: + if exception is not None: + status = b"EXCEPTION" + pickled = pickle.dumps(exception, pickle.HIGHEST_PROTOCOL) + else: + status = b"RETURN" + pickled = pickle.dumps(retval, pickle.HIGHEST_PROTOCOL) + except BaseException as exc: + exception = exc + status = b"EXCEPTION" + pickled = pickle.dumps(exc, pickle.HIGHEST_PROTOCOL) + + stdout.buffer.write(b"%s %d\n" % (status, len(pickled))) + stdout.buffer.write(pickled) + + # Respect SIGTERM + if isinstance(exception, SystemExit): + raise exception + + +if __name__ == "__main__": + process_worker() diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/to_thread.py b/botenre/myenv/lib/python3.11/site-packages/anyio/to_thread.py new file mode 100644 index 0000000..5070516 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/to_thread.py @@ -0,0 +1,69 @@ +from __future__ import annotations + +import sys +from collections.abc import Callable +from typing import TypeVar +from warnings import warn + +from ._core._eventloop import get_async_backend +from .abc import CapacityLimiter + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +T_Retval = TypeVar("T_Retval") +PosArgsT = TypeVarTuple("PosArgsT") + + +async def run_sync( + func: Callable[[Unpack[PosArgsT]], T_Retval], + *args: Unpack[PosArgsT], + abandon_on_cancel: bool = False, + cancellable: bool | None = None, + limiter: CapacityLimiter | None = None, +) -> T_Retval: + """ + Call the given function with the given arguments in a worker thread. + + If the ``cancellable`` option is enabled and the task waiting for its completion is + cancelled, the thread will still run its course but its return value (or any raised + exception) will be ignored. + + :param func: a callable + :param args: positional arguments for the callable + :param abandon_on_cancel: ``True`` to abandon the thread (leaving it to run + unchecked on own) if the host task is cancelled, ``False`` to ignore + cancellations in the host task until the operation has completed in the worker + thread + :param cancellable: deprecated alias of ``abandon_on_cancel``; will override + ``abandon_on_cancel`` if both parameters are passed + :param limiter: capacity limiter to use to limit the total amount of threads running + (if omitted, the default limiter is used) + :return: an awaitable that yields the return value of the function. + + """ + if cancellable is not None: + abandon_on_cancel = cancellable + warn( + "The `cancellable=` keyword argument to `anyio.to_thread.run_sync` is " + "deprecated since AnyIO 4.1.0; use `abandon_on_cancel=` instead", + DeprecationWarning, + stacklevel=2, + ) + + return await get_async_backend().run_sync_in_worker_thread( + func, args, abandon_on_cancel=abandon_on_cancel, limiter=limiter + ) + + +def current_default_thread_limiter() -> CapacityLimiter: + """ + Return the capacity limiter that is used by default to limit the number of + concurrent threads. + + :return: a capacity limiter object + + """ + return get_async_backend().current_default_thread_limiter() diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/__init__.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/__init__.py new file mode 100644 index 0000000..475135f --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/__init__.py @@ -0,0 +1,11 @@ +import importlib.metadata as importlib_metadata +import sys + +try: + release = importlib_metadata.version("APScheduler").split("-")[0] +except importlib_metadata.PackageNotFoundError: + release = "3.5.0" + +version_info = tuple(int(x) if x.isdigit() else x for x in release.split(".")) +version = __version__ = ".".join(str(x) for x in version_info[:3]) +del sys, importlib_metadata diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..35fa256cbd34deef79c64f27f4c468c9d16e149f GIT binary patch literal 1306 zcmaJjhpiQo8HDhum)fGgokkJyfjUm~xfEL*?w16S6U9>(!#P*LIw#poL&<+IL zF9k)F)}TYQZReRNI}`jwW7=x2kQJRu8gOy}$k1-f;hk+MW2I9Egx%`boG$F*|+O#5fdVM}Yl{C^G3r{`?PZ3oJ$JA1zLMSB3k`@YiWAU7$XNt&V zF-H4n4a9fAQf~qLf-iwm4FQ-3;f>j?_-6dg(%Yp}qwn>|#>JPTuSQ>t9^it*Sv-cr zD2Kg&C-FKM%OuvXVC@Xm=gBD&(_j)q&6n@N2CHh6=8G(_L7kw_SDpv+y{K&f#q!<$ zl-s}C|Dk^S!8_M`7i`W=%7gQfc|#tjQ71)X3e|u|ZvSC$Y5x6yuk_ZW_#Ap~UupdygyULs_4p6F4!>Y~2BE)bOPr+S0Rt(FGBFRQ| zC{)sh_E5gIe1kcAPgF44|CaLqdB%_59lr;ycImz14 zg~rvn!j&hxKKCB>eydM+59!@Qpi4IdbimqxUK>a_Gfgd9_Dy?%^MgytiR5f@LihE9 qBJK9;fK7hA$)7_01h;xEW8qScmcmqPp}jTFP4vmxZ)Lw)FyL?I9y!qf literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/__pycache__/events.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/__pycache__/events.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c40a22b23df7c60fa83fee6259f7d9382767cd28 GIT binary patch literal 4909 zcmcIoQEwZ^5#A$tydx!26h)B~WlI-1Zp{>y?AovkHFYgpbRxr|3Qiad2@k9Q&^#YtRr zDSo#%GrM;?`_1f7e~ZPU1ls4HUtW{qg!~I{ye4)!M{f&+d`b+W5<}P$R6z|G0X1j@ z)sPWVMMG4>Mp%^$NtF#*jTjL%YDCpOqfhNO`qh{bQ{zTl9WVyegpp7OjX^a@1sdFu z2%#a4BF8XCiKEOh!ZFIRk7GZ_7{@rr0gefdgB+8H>QI2ZM~viSVhlYE5b_+pZc|fS zlLE~!O+5{Q4!#}TFxRC)m!ZQabZM^3f^OuLE@R|MBtM!@JDI`64mY%`BH-#Hpzk3#H|GP^8=eg%1mNmzNe6wVByj zkani=rHh66g%6Ic?=RdbfpMYN+LwCPomplcJkU_5dGZ1GnIP*-FnBERY?8;K`GwiJ zdvoygE}8pgAnTf|u(-Ie=p?!Z&XsWOL&uWR@}2p)C3IoOA@~mSGaqVmMeuF$ZlUBv zTx)n~CtfPAQKMd=tguO|wj5G>}}C<-8O4gSCj-%slKvqT9zk!31lZPku5Jn z2r@zfK|#2Uu!lgv&?I1J5->Cg7@7nOO`;&&MgT*TfMFR1_|0S6(K{ge6GRpzssPay zFa(Gyai6RTM(}Y2qw6tI;T~cx4D1TC6b#t;BC0@}sVWrLr`T({t(0rkGG$c@?xvQjhJn7Q-Legs^kX>PyXgDixy8*cKpJ$K~c_tL|AxE_88erdU-=H|6c!yT2uOlze7`e53R|KZFUhR-O2QlchY;g zIZ#?Z0r<}z`KKKFv-FAdm7M)j&c2XyhjOkV=bEYPe&~}(b2tZ==stXoz?_u3J%(Q3 zo}PpbBy{l8Lp0*;p>GLN-+QZpoiG8PVI+F6s;^T` z=H;VoK0cKa5P|agK63s%X1Y)95Dj0N16lUPp<#<*5QTezt8?-t}$`%#lXFW ze2?Mc*#&^S#4f|diE7$<4dWcPu3ytWuIm-|H5^IPj9M8UiY{fiRwvfkyfUp+H0_zd z-<-eWZT^ltvN+6ux%E2$@U-`71w>J95rlY99Bq+rgQy_BC$z|Sqq`go=Q4c#=DGc7 z0z@Y>1J4VA$FdsY89{_i39?}@-1+i#89~R8ed81WV>Q#5R!jqOjk#)4)}08+^VSB*n`DSx;VJO(xzF&|=ZM`P zWDNiLm@!=9iR^87zRN1i3r^Vejw5?3&WoJ25la}er%&8z~K*gkwXtDc2~;L+C!T+VBRe_c z6}yJVpMOO4M1Yrn4UN^Snr*IAJm!>&Y1ue|q1%)Tl}Br|>T?v&H?s<99*;Pf9>($) zE92IB4g1K~qu&C&8CT)N3ig(sz}HasnRd*{;4vqip)-~RMFXbelZ^a1$~Y|{yK`Fh z@N)G2sj|pts0jls%)qA^da(Iq>xF#fP`=WTuQV^**bg1bN`wEog!mag_9Xvsiy6WS zd{6T)g#1J34~REg*X@F ztkrs@vfYUcpfY4HzAASPx>cqdn9<#7{9A?TrUlk3+g?C)4YHYDrYlh3U>L2|*t%}p z7$lw;Wqg=F9UojQL(%LvKXm>GqW@Ru?26sx;BL4()$dAh=Lhp~kcGQ~Ea~rnpF5ne z>vt#Oug;11OV3BnjKEv4M)pgD+Xz^8xB(e~9-b4}y3dLn#ANTU7e6GoV2Bqu|4xxe z{J1_mNc9Hg#B~hH@n+}j7@2^xBi?i``|EWHa18hDnXV zKLH3selc_@!~b)zK7@XR7(yIj00DpCu|b3+!Vm(MXZ&E~*@>_E8F60@>)LPRcijT? z7AwFl78lkbU@IsHLMxEz3+zd)>*U(a2D#B7nMQ7^IXd1T+2+Xk21z$_V<2p1MjIs6 zk#zT6n`C-#pqUzJkU^;H8zkAmWCp}T*#=28(=dLhnS*&VUx!AU;jwm55XZj`pKFT& z@q8;xq_MUX6vtXJkw)8*5LB;GBAsvdiJhzU@1oQC~Bv{Cx%SfxY+I37;JLAH(3SI4SsRsceth6A~c L(pP7w_^$sKafpc< literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/__pycache__/job.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/__pycache__/job.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..829474de518a97586ab0dac37a372190e22273b2 GIT binary patch literal 13722 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 V(7^NGp+1!XdbE@JP!HIG{(sUW=g9y7 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/events.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/events.py new file mode 100644 index 0000000..12ceb08 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/events.py @@ -0,0 +1,134 @@ +__all__ = ( + "EVENT_SCHEDULER_STARTED", + "EVENT_SCHEDULER_SHUTDOWN", + "EVENT_SCHEDULER_PAUSED", + "EVENT_SCHEDULER_RESUMED", + "EVENT_EXECUTOR_ADDED", + "EVENT_EXECUTOR_REMOVED", + "EVENT_JOBSTORE_ADDED", + "EVENT_JOBSTORE_REMOVED", + "EVENT_ALL_JOBS_REMOVED", + "EVENT_JOB_ADDED", + "EVENT_JOB_REMOVED", + "EVENT_JOB_MODIFIED", + "EVENT_JOB_EXECUTED", + "EVENT_JOB_ERROR", + "EVENT_JOB_MISSED", + "EVENT_JOB_SUBMITTED", + "EVENT_JOB_MAX_INSTANCES", + "EVENT_ALL", + "SchedulerEvent", + "JobEvent", + "JobExecutionEvent", + "JobSubmissionEvent", +) + + +EVENT_SCHEDULER_STARTED = EVENT_SCHEDULER_START = 2**0 +EVENT_SCHEDULER_SHUTDOWN = 2**1 +EVENT_SCHEDULER_PAUSED = 2**2 +EVENT_SCHEDULER_RESUMED = 2**3 +EVENT_EXECUTOR_ADDED = 2**4 +EVENT_EXECUTOR_REMOVED = 2**5 +EVENT_JOBSTORE_ADDED = 2**6 +EVENT_JOBSTORE_REMOVED = 2**7 +EVENT_ALL_JOBS_REMOVED = 2**8 +EVENT_JOB_ADDED = 2**9 +EVENT_JOB_REMOVED = 2**10 +EVENT_JOB_MODIFIED = 2**11 +EVENT_JOB_EXECUTED = 2**12 +EVENT_JOB_ERROR = 2**13 +EVENT_JOB_MISSED = 2**14 +EVENT_JOB_SUBMITTED = 2**15 +EVENT_JOB_MAX_INSTANCES = 2**16 +EVENT_ALL = ( + EVENT_SCHEDULER_STARTED + | EVENT_SCHEDULER_SHUTDOWN + | EVENT_SCHEDULER_PAUSED + | EVENT_SCHEDULER_RESUMED + | EVENT_EXECUTOR_ADDED + | EVENT_EXECUTOR_REMOVED + | EVENT_JOBSTORE_ADDED + | EVENT_JOBSTORE_REMOVED + | EVENT_ALL_JOBS_REMOVED + | EVENT_JOB_ADDED + | EVENT_JOB_REMOVED + | EVENT_JOB_MODIFIED + | EVENT_JOB_EXECUTED + | EVENT_JOB_ERROR + | EVENT_JOB_MISSED + | EVENT_JOB_SUBMITTED + | EVENT_JOB_MAX_INSTANCES +) + + +class SchedulerEvent: + """ + An event that concerns the scheduler itself. + + :ivar code: the type code of this event + :ivar alias: alias of the job store or executor that was added or removed (if applicable) + """ + + def __init__(self, code, alias=None): + super().__init__() + self.code = code + self.alias = alias + + def __repr__(self): + return "<%s (code=%d)>" % (self.__class__.__name__, self.code) + + +class JobEvent(SchedulerEvent): + """ + An event that concerns a job. + + :ivar code: the type code of this event + :ivar job_id: identifier of the job in question + :ivar jobstore: alias of the job store containing the job in question + """ + + def __init__(self, code, job_id, jobstore): + super().__init__(code) + self.code = code + self.job_id = job_id + self.jobstore = jobstore + + +class JobSubmissionEvent(JobEvent): + """ + An event that concerns the submission of a job to its executor. + + :ivar scheduled_run_times: a list of datetimes when the job was intended to run + """ + + def __init__(self, code, job_id, jobstore, scheduled_run_times): + super().__init__(code, job_id, jobstore) + self.scheduled_run_times = scheduled_run_times + + +class JobExecutionEvent(JobEvent): + """ + An event that concerns the running of a job within its executor. + + :ivar scheduled_run_time: the time when the job was scheduled to be run + :ivar retval: the return value of the successfully executed job + :ivar exception: the exception raised by the job + :ivar traceback: a formatted traceback for the exception + """ + + def __init__( + self, + code, + job_id, + jobstore, + scheduled_run_time, + retval=None, + exception=None, + traceback=None, + ): + super().__init__(code, job_id, jobstore) + self.scheduled_run_time = scheduled_run_time + self.retval = retval + self.exception = exception + self.traceback = traceback diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__init__.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..45bf32e37b29a57183b532dcf7ba5ae3e6731b6e GIT binary patch literal 195 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/debug.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/debug.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..87be66cb729f7cd4f6658c4294a5ee6f2b68828a GIT binary patch literal 1419 zcmZux&uiR96n-P^Z?vvMag!D&mg^8$h*xz=0(G5&L)u=7DcxMMm$6nF?`o@+wllMd zH*CR_6mlv(6q2JU!EJB~J(`>v=pW#eg$6;P&{J+(+=B5bZ?r2V!Fkd=y>CYP=FNNG z?oZ`%3D6!rT5Mg`0RB-RvFs!`SjONkxZn~W>guWaq@&ffj$YRZXz(ex`fYGCOxw`` zc5#fYo^eSHD%ocWu2r(;%JiMDErE^|EFH`!zpQ?_h5K};ZGrnGsJNz<`?-){KK zbUn@->Gw@95R%!h8E%*^+hCk~LDTf4DMQna>1B(@>)h<}&|yMUOY!{Yey`~TrtN#S zST@(!U6tDUdc5YO)xh)QaVUIn6d$e#GC3~d0U3~XiU-;N+Srk?wNsXz3|1J&*uK^W zu$`i0Ry~m`=^qUA9c0=~*$DQq1`8mK7hjwO{+{Y3?y9nk?PZQ8ktdRQfOav7cQDvZ z04l_VZ?(5m{3H1Sz5@c+;~j6prhXl6l8UzWOdYgR;wty(4W$Bsl3+BhVU(wS*laQ$ zWdggyqG>u&3Kcy^)jiTYH!6?Cq}O30%CQ?PkV2?Ll!T6IRx9i9gR5<$DdQ+n22{c)z-|WC>5Q z#jfpqX*Zd$?5=QH%XVOHT#NstFNw3VJhMWbXzde zvc(I3&CK4bZ7&Spz4&YYx3j;WA6}_FnYlKcxpwE1Q31*){xs(QFy^-x?w|Yl+!JGI zXe{j~_u>C}m_9uMQoQ`aJvHX;Tpb#7+xq?7zOnMln-6CnoOyU=kL+oC+OYB=&Kb;8W&QC71pQhi8x<&3-J&!qQQ8SrEig7H{i7D+rE*kQ8E5|ypF^mGD(dL40)#w;(pG%^4J-SvyGOYxf*Brn-+%V6 Mn*HxJOYz>%0p^=(UH||9 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/gevent.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/gevent.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b93ddea9a0c5cdc04f965343587ee4447d0fe78c GIT binary patch literal 1918 zcmaJ>-ESL35Z}E!f5dST=c|ya1XoF=T40+BnujWCo1jubM1>k8R8#eA-))?8&v)+b zx%p5kSrF71swxto6of>IqR=Ykjfbe>0sey&S;9IA3Bd#Eo2#^v=@YYe_TiAi?(OW( z&fM(G&TsbHuC5S*cK?2S_AddUKRDBBzUE?g9u{jzMJm=&iqC?M3qndLh$#`H4p$@v(7bp7&0ztZMXI!nR38yGMbL)f zwp2jH(N6oq!aWUwe4&Y~GO zhZ17w#A1n%BYa0MX26Z* z;5E@|ISJCdx3(l;o2`N?IPY0p5-KR~N%O7zp-otAdEC0c^>_Qc^siiD$SPcba8B_K z26gUmKaAbqfqX8kLGqW-I;{7%P1xG=rm7{D<7>Silx@ z#IhrD6Lc~wDGFiC7BtoFa&f7UqNSOJ-R&t6N&%=MTVQsO%qy~H%$NYFU<)v|-$5v| zMSzkmF`~~fp1x?bTz>j)a@H)6WY)C!AO4YXpvs75pMPQ=1U z@3g+glK>hxTt~QT0=LszWMoyUMn=|O-*{sua{9aJdl&Csx_4=NVtaCXvKl`Hd;7n- z$jvkw4b}txd^qqL`hIL8A^sG{Kp|ItH(uMvikUfs@+-A_cvK7?4k9~+X$NH8%;gBR zB_mTHwxnyu<(NbVK$-Gb?GB!6ODhmY4*>6ECY_E(=^&SO@4c_Z7ykD;`?!JkfHa)j z^LLEZ(SML95!BIhBm8T)e|7rSNcCX+&cgQS4=-0wOg$2Xj?iNSZA2pW~{XZx)Is zwa&OT1Lfj+Gs?9*51$6d-Jnj=qafh5$!-GyL||M)p|aC|L*qNo`s$L1r*KW`Ex+yd zMlH|>XoSsnS_=)XytH%R^n=huH8k-f+mYS^tTp%}C~_mkC&kNEE6XNXt? Tyu2y(qfdP?@m6?L+<^ISa3|l& literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/pool.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/pool.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b939c745ddbb8f7b77ef3cda0f34069f1f7c043b GIT binary patch literal 5664 zcmcH-TWs6b^^$r~vTVzbq_Lg2j2t)9QcKNqjpKD~9!t@6UY2ADs;;GJk+x*(wM%NY zGZ_dl1Caq^$ch#ThJE-WOYFKp_fsq=_O-8kN(KQ71PlZy_R&8X&H$rdJBJi0$yS;S z#jY+7FYmeMKF&Q)J!)N9X2z;Uu~7p}#? zc>(9!gY!$wH4QHJ0lz&l|&# zJd-Day@EupkyU0i|TFWoB$v81Rdf}r58 zc>eZxS0nLEN{)&H<;>C&R~&N0fvr4`s#Jv^Xg%5izU8 z;)e47*Q;^8 zMXtBJuczQ#@)h8>4dY16x-tClz+>?A0W|KAJHXWf1NX+_z0Ero$rO$!r(Yb6h&6*kCi;fx#L2%i|IZWmNZBte@(30i4J=a!fJXa&vs;qa6>TU9D zOwOu_Od51!BBQqo0-6zd9E4dALY(f2i;AeKlgY4EBxc(u6i z+Lnj3b{8((?X37npsPY0t;6L&_eNk~Jut9*;la;WF8sZ-6gZ^?P8F^C6!C-Wfx+e2 zgNYUK%lPN<)u}J0N`bRl;B3*Vv=jCk^3Ya1xZ6A##e3J=@qh}LYFQAI2~p8KLNYTs z3AW6c7E`j`Axe@UWzw=>ojv3-*hvo~xfd@+O{8Rn2H~6b127mpHU_LV8Qli-b=I>N2j&q<9*#YiWSg&`uLY@cqlh%%<_cr{8*8PVz{atsj-5=0;hgRkuANl9&+VC&7 z9Bixa839mWDsJNSZE$_-T;Kh7OWdHw4Hm6x@aKAi>p-Jqn7LtS+#~rHnzcOB%=l2W zwjtK!Jg3BSs+5^YLkEha?wk=5s)9zN$}D;e+D&Y?MaTnMK_=fOWzN53o#$eSJFIbs zi&i!7o4F3!1uh9M5?qo`5KC;a4vYGP9t`38L>m>^*EJ9sXlrT`{9H>5MBPA zG;euUUX6oEn$0BazCb_;fBcE>k`;!7EvDCM`?VRg|!? zK$RS46sBiHItk=bBBmn2v^)n>N<8%DQm{|hV1~~^_BVR7-r?!ER!JfY<;*jg|cImDcegn_`+TKGXXQ? z*$2#@n0beaGFB~(UT4`33oJaon+F1>F1mGJ?e26>_44RRAk!U*v`Sl`WoW~yY3cNq zy4%rP>Ud4jRGErVbuPT=T+9%xZ!b6PAS?ou$|wL(n)3d`#r;Q@uNGQ1+k3S3!&>{P zudY4rE1kZioxW6T{|(e9edfF1+^mn-?su2CevRudTGh~wRhFKDnMXrzI)obxBftg0 zxPvW@34*EYZ(#p%07{)&BOeTApdu-k0o18=h2>mag&^p5xLySh_42?}T%5kS;^Hp% zC@zHhkPuWA7h0|bE(*#F;lCSH*rRvVB_CD>AP)Qh9nPA`%=amAb;u9X;_4*w|4EOV zuw{=Tn?ll{$QTkBip&8EYl;jx48&P7+v1_pZ7vde7L85C>8^UOvFf>>WFD}dEdZ?029@#1+%KRKm=>i(K9fd{sh6#5WI=Nwl(xDd|DxDgB3a02JT=Qt}_v{0AX=4fw!o2YhAzh{nHB`z|;k()G60(#7V+r@1_xsmhc0f6l;-#04Bi zEg>^givd!fM;;+`60&nrleXq55hQo8lQnqEg8!TVl`XF|X=~`U)1RuGVc267lrzu{ zo4(%R?UFcqO^X)a%})1$k+sf{S;q%thJoz$)<{(Z46DQ^6n@gL&}0IFkvK#tiYlgKa>#2+nGxDKVNE&+K=(kjkOoR4GBtb{1ch~u&XDeqvli>q zA0e#~1>!6aEL43RPJAoaR7x8H|94@W@(%zYs~Faw-1K)WUS7Jq;Sa9+gUcsZye0n$ z&3~e3)t$|DzCt|SlQmHG2bSL7@bl|_z8o0E@V*Vh`!Rsg|ic$6^!&+)Wwbh6I_0iO%_^K!s+!MJ3oRqw1t zK~@B7ny8C_*B#<`%*YG$-o4|(RTD>15cJ-K7kF>n!kL9zG8TiE@q3C>``e*wfs6^Q@< literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/tornado.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/tornado.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dabc7f19e3315e71322b305830c94984b4c4d463 GIT binary patch literal 3269 zcmbVO-ESLJ7Qc69Y>$(;b!bCFio&pMNR5b{vb21vONwCOrA4$nU?C>snd@ZI`S9L5 zZj;K9B9T>-1wkGb+Fcw}D^9{q7L#tOm~z#kD&`VS+U+U!U?icxBP+RxtQ1ME$q22((`vH#!^V5_V)|ovxel@T? zqR;rHFvX{!1D_wZS-e)RdS+nzo?bC%U>lCvmPEWFxwf8x;T6!Fpdz+VQL=DRwvtPz zj4gRFT~tI*SyYP&E3t@*uriB_DbOSp?mzES&#?SRHsbBK+S+}e2@a(6`wJ?{zoVIq`txj9yH=XJfUvg}Ny`W7_f=M|(lanotUI0TFE?^O8t}&}$^63Rafe{9_ zTXi+B>Xra2zpS;E+JG^R9tWrcKOz4;?$)N%VODNc{%lo%e1fl{04x%KLT9*lx0K7gf$*WjD=_`4d?`B|b_=p4F<&*YRa!KxKPLsi#p&kl5*a-L8nk&DZr z!iZB2dpjTq)4Fat24lL;IJ>4T{PK2T+ILBz-1)~xfpBADcS)px*d}WUAhwU#9?sD9GB<#bm%ANwUy@2kjndQ`n zsXOZ6ZFO)%9crjUb#>_O;FC9A+!%beG5G9~@?mBPt}Wn4W()-k6nOY}%L4Le%uvHM zX$=g!9vc?}{4?%~N}b^9ItOQ%;ZW8jRzuSv^jhN~pn zOzgdDFt;Ah&nw>3zz4OU)mFJ&ds>j)nfimLz2mi9v;bC~U|8XIX zpdbbfp`(b7^OCnL??B$U#}p2Fccj^YyIUR$%FaKfM`FhR;kVF72%~p|+LzF*{0_Q= zLH&DNeJDFgN?6qi!mQq|dpfI{CSfd;Y%9#Ps-;OPy!M6rVkSbVPeYl_F`kV~NKa)S z@)a(JNpg{R0SjfQH6m8pL9x&ZicmET$0V zcnm~l9{_=%X-bLA$<0TGJ|Fz=;D3fb8(K*=Rn$LlCp&UGJF;qCFW)F{WKT4*C+g9? zeLsZ`KHfw)Gl4tlX7nOKzxSwmpAaxR5qzgzWjz2X8xn1!L zmrx!ZVX~z><=#kne1-jnWdSPiYZ76QO9)WuC|^!B8)eVA|Y6_9NKax#6gi5@`iXHnniD!V?r(L3Jg9dDvkdf(mbVzM~$#tscJi`i45vP)F*~Es|pnQyw8XmDfv-s;-AU zy6*b?_XYZWy8e%<;j~v$IsjurN#zCZ!-wEM*Q`rbHfLuU VIf?H08%sj&Ujcs4CZYfU literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/twisted.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/__pycache__/twisted.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..24a33b4c373d019b88f1c13c75c94054d5c60891 GIT binary patch literal 1942 zcmaJ?-D?|15Z}F%tdpvXRq7P?6BXBW)exy^358-zsqK_PFiw*Y(97y{x7J5bI(7Gy z#zqA{7;F_oL&3O@dI)ZU`v-*3hd%TVu#KqAL7~v6yeTLTAy1uM-CZr)cyu?rvpc&p z^ShbRuezQqUmeP0c=a^e+a`mSfeP9EtFR* zoL4u{5(Z0JK4PhBC?DNG_i%m$EJVD~Ti;i>OReDcmBmCF=$mGpr@;nKSL$iEOw)`S zCK#XMAi>;9Hyp>#CZzJB-7JBcVOI?PdAd+=2Uivfa@P#Q0?#7w3b}6q+rrz(#W3+{ z2gcn%K%HYd;Ua3`ma+rE?gjxP3~SX;Y9SKNEp!t-!V4MIi}GfJG8kNgxt>P+XdwOw zr}mN;=VqB&O$VyjVfi0c^_F@(N zt?BL9X6z^ZNBw@Kb8%mr>S|Ma+SJkbd)@JmHX@t)2K@S zWTdiS9ycJ4y#{apXJA{(HfkaEPFwAObeh^qHO!e7KA9!rdN_If_V9|~lhrU|A+y3T zhD&tdE)(EpqF##lHA#5WG%4qvQn9=X;VNYe3O9P!u$$CV+#)1iEYKWbls9eHQ=!~g z67KU8ZgrKVK=L%xuht(0HFlVqJV;G;%m+&km-bUvyQ!;t!Sj#Uoj6EMbY>r1dwA`)>yJP9J+q&h>!#-R zf``2dS7u^NWT&T>sC!Gcghl8G-ng*+b$zgMr{b1peean7(i;_ya%d!!4C*XKY^PL$ zx{K6}8qGu`0_-iJ8yA?ml^W&jZIC4_g+e+#faSt)@GI}056-B#!2$LHu;?j~_&n~R zb9oZQ^-cXyn>f%W_O;2bHhHMc9B4B~$+4}{FT69`egCt^Z~QU$=k@N~?PsbIPdrD! zdc(}e3VIF^0TSXR2&p-u*T6hU$ahV{_IF|gVloMl9f3^<40OK@nbfuk$zUeq5Ly0( zgn^0rkxanLZvcb%f*-^g)gVk@NhNv-TszIQcocj-kI4|EjRnZtH;?tRY}n7TMfite zqHg4OmfDZd;H1dHm)i6o=oxkiL=k{=wx?o@kI?kqSx;|d41;f{*?s$&SbcuRmNfYv DK8e!2 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/asyncio.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/asyncio.py new file mode 100644 index 0000000..cc7eb65 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/asyncio.py @@ -0,0 +1,52 @@ +import sys + +from apscheduler.executors.base import BaseExecutor, run_coroutine_job, run_job +from apscheduler.util import iscoroutinefunction_partial + + +class AsyncIOExecutor(BaseExecutor): + """ + Runs jobs in the default executor of the event loop. + + If the job function is a native coroutine function, it is scheduled to be run directly in the + event loop as soon as possible. All other functions are run in the event loop's default + executor which is usually a thread pool. + + Plugin alias: ``asyncio`` + """ + + def start(self, scheduler, alias): + super().start(scheduler, alias) + self._eventloop = scheduler._eventloop + self._pending_futures = set() + + def shutdown(self, wait=True): + # There is no way to honor wait=True without converting this method into a coroutine method + for f in self._pending_futures: + if not f.done(): + f.cancel() + + self._pending_futures.clear() + + def _do_submit_job(self, job, run_times): + def callback(f): + self._pending_futures.discard(f) + try: + events = f.result() + except BaseException: + self._run_job_error(job.id, *sys.exc_info()[1:]) + else: + self._run_job_success(job.id, events) + + if iscoroutinefunction_partial(job.func): + coro = run_coroutine_job( + job, job._jobstore_alias, run_times, self._logger.name + ) + f = self._eventloop.create_task(coro) + else: + f = self._eventloop.run_in_executor( + None, run_job, job, job._jobstore_alias, run_times, self._logger.name + ) + + f.add_done_callback(callback) + self._pending_futures.add(f) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/base.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/base.py new file mode 100644 index 0000000..d690a38 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/base.py @@ -0,0 +1,205 @@ +import logging +import sys +import traceback +from abc import ABCMeta, abstractmethod +from collections import defaultdict +from datetime import datetime, timedelta, timezone +from traceback import format_tb + +from apscheduler.events import ( + EVENT_JOB_ERROR, + EVENT_JOB_EXECUTED, + EVENT_JOB_MISSED, + JobExecutionEvent, +) + + +class MaxInstancesReachedError(Exception): + def __init__(self, job): + super().__init__( + 'Job "%s" has already reached its maximum number of instances (%d)' + % (job.id, job.max_instances) + ) + + +class BaseExecutor(metaclass=ABCMeta): + """Abstract base class that defines the interface that every executor must implement.""" + + _scheduler = None + _lock = None + _logger = logging.getLogger("apscheduler.executors") + + def __init__(self): + super().__init__() + self._instances = defaultdict(lambda: 0) + + def start(self, scheduler, alias): + """ + Called by the scheduler when the scheduler is being started or when the executor is being + added to an already running scheduler. + + :param apscheduler.schedulers.base.BaseScheduler scheduler: the scheduler that is starting + this executor + :param str|unicode alias: alias of this executor as it was assigned to the scheduler + + """ + self._scheduler = scheduler + self._lock = scheduler._create_lock() + self._logger = logging.getLogger(f"apscheduler.executors.{alias}") + + def shutdown(self, wait=True): + """ + Shuts down this executor. + + :param bool wait: ``True`` to wait until all submitted jobs + have been executed + """ + + def submit_job(self, job, run_times): + """ + Submits job for execution. + + :param Job job: job to execute + :param list[datetime] run_times: list of datetimes specifying + when the job should have been run + :raises MaxInstancesReachedError: if the maximum number of + allowed instances for this job has been reached + + """ + assert self._lock is not None, "This executor has not been started yet" + with self._lock: + if self._instances[job.id] >= job.max_instances: + raise MaxInstancesReachedError(job) + + self._do_submit_job(job, run_times) + self._instances[job.id] += 1 + + @abstractmethod + def _do_submit_job(self, job, run_times): + """Performs the actual task of scheduling `run_job` to be called.""" + + def _run_job_success(self, job_id, events): + """ + Called by the executor with the list of generated events when :func:`run_job` has been + successfully called. + + """ + with self._lock: + self._instances[job_id] -= 1 + if self._instances[job_id] == 0: + del self._instances[job_id] + + for event in events: + self._scheduler._dispatch_event(event) + + def _run_job_error(self, job_id, exc, traceback=None): + """Called by the executor with the exception if there is an error calling `run_job`.""" + with self._lock: + self._instances[job_id] -= 1 + if self._instances[job_id] == 0: + del self._instances[job_id] + + exc_info = (exc.__class__, exc, traceback) + self._logger.error("Error running job %s", job_id, exc_info=exc_info) + + +def run_job(job, jobstore_alias, run_times, logger_name): + """ + Called by executors to run the job. Returns a list of scheduler events to be dispatched by the + scheduler. + + """ + events = [] + logger = logging.getLogger(logger_name) + for run_time in run_times: + # See if the job missed its run time window, and handle + # possible misfires accordingly + if job.misfire_grace_time is not None: + difference = datetime.now(timezone.utc) - run_time + grace_time = timedelta(seconds=job.misfire_grace_time) + if difference > grace_time: + events.append( + JobExecutionEvent( + EVENT_JOB_MISSED, job.id, jobstore_alias, run_time + ) + ) + logger.warning('Run time of job "%s" was missed by %s', job, difference) + continue + + logger.info('Running job "%s" (scheduled at %s)', job, run_time) + try: + retval = job.func(*job.args, **job.kwargs) + except BaseException: + exc, tb = sys.exc_info()[1:] + formatted_tb = "".join(format_tb(tb)) + events.append( + JobExecutionEvent( + EVENT_JOB_ERROR, + job.id, + jobstore_alias, + run_time, + exception=exc, + traceback=formatted_tb, + ) + ) + logger.exception('Job "%s" raised an exception', job) + + # This is to prevent cyclic references that would lead to memory leaks + traceback.clear_frames(tb) + del tb + else: + events.append( + JobExecutionEvent( + EVENT_JOB_EXECUTED, job.id, jobstore_alias, run_time, retval=retval + ) + ) + logger.info('Job "%s" executed successfully', job) + + return events + + +async def run_coroutine_job(job, jobstore_alias, run_times, logger_name): + """Coroutine version of run_job().""" + events = [] + logger = logging.getLogger(logger_name) + for run_time in run_times: + # See if the job missed its run time window, and handle possible misfires accordingly + if job.misfire_grace_time is not None: + difference = datetime.now(timezone.utc) - run_time + grace_time = timedelta(seconds=job.misfire_grace_time) + if difference > grace_time: + events.append( + JobExecutionEvent( + EVENT_JOB_MISSED, job.id, jobstore_alias, run_time + ) + ) + logger.warning('Run time of job "%s" was missed by %s', job, difference) + continue + + logger.info('Running job "%s" (scheduled at %s)', job, run_time) + try: + retval = await job.func(*job.args, **job.kwargs) + except BaseException: + exc, tb = sys.exc_info()[1:] + formatted_tb = "".join(format_tb(tb)) + events.append( + JobExecutionEvent( + EVENT_JOB_ERROR, + job.id, + jobstore_alias, + run_time, + exception=exc, + traceback=formatted_tb, + ) + ) + logger.exception('Job "%s" raised an exception', job) + traceback.clear_frames(tb) + else: + events.append( + JobExecutionEvent( + EVENT_JOB_EXECUTED, job.id, jobstore_alias, run_time, retval=retval + ) + ) + logger.info('Job "%s" executed successfully', job) + + return events diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/debug.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/debug.py new file mode 100644 index 0000000..ac739ae --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/debug.py @@ -0,0 +1,20 @@ +import sys + +from apscheduler.executors.base import BaseExecutor, run_job + + +class DebugExecutor(BaseExecutor): + """ + A special executor that executes the target callable directly instead of deferring it to a + thread or process. + + Plugin alias: ``debug`` + """ + + def _do_submit_job(self, job, run_times): + try: + events = run_job(job, job._jobstore_alias, run_times, self._logger.name) + except BaseException: + self._run_job_error(job.id, *sys.exc_info()[1:]) + else: + self._run_job_success(job.id, events) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/gevent.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/gevent.py new file mode 100644 index 0000000..385be40 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/gevent.py @@ -0,0 +1,29 @@ +import sys + +from apscheduler.executors.base import BaseExecutor, run_job + +try: + import gevent +except ImportError as exc: # pragma: nocover + raise ImportError("GeventExecutor requires gevent installed") from exc + + +class GeventExecutor(BaseExecutor): + """ + Runs jobs as greenlets. + + Plugin alias: ``gevent`` + """ + + def _do_submit_job(self, job, run_times): + def callback(greenlet): + try: + events = greenlet.get() + except BaseException: + self._run_job_error(job.id, *sys.exc_info()[1:]) + else: + self._run_job_success(job.id, events) + + gevent.spawn( + run_job, job, job._jobstore_alias, run_times, self._logger.name + ).link(callback) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/pool.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/pool.py new file mode 100644 index 0000000..166de7c --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/pool.py @@ -0,0 +1,82 @@ +import concurrent.futures +import multiprocessing +from abc import abstractmethod +from concurrent.futures.process import BrokenProcessPool + +from apscheduler.executors.base import BaseExecutor, run_job + + +class BasePoolExecutor(BaseExecutor): + @abstractmethod + def __init__(self, pool): + super().__init__() + self._pool = pool + + def _do_submit_job(self, job, run_times): + def callback(f): + exc, tb = ( + f.exception_info() + if hasattr(f, "exception_info") + else (f.exception(), getattr(f.exception(), "__traceback__", None)) + ) + if exc: + self._run_job_error(job.id, exc, tb) + else: + self._run_job_success(job.id, f.result()) + + f = self._pool.submit( + run_job, job, job._jobstore_alias, run_times, self._logger.name + ) + f.add_done_callback(callback) + + def shutdown(self, wait=True): + self._pool.shutdown(wait) + + +class ThreadPoolExecutor(BasePoolExecutor): + """ + An executor that runs jobs in a concurrent.futures thread pool. + + Plugin alias: ``threadpool`` + + :param max_workers: the maximum number of spawned threads. + :param pool_kwargs: dict of keyword arguments to pass to the underlying + ThreadPoolExecutor constructor + """ + + def __init__(self, max_workers=10, pool_kwargs=None): + pool_kwargs = pool_kwargs or {} + pool = concurrent.futures.ThreadPoolExecutor(int(max_workers), **pool_kwargs) + super().__init__(pool) + + +class ProcessPoolExecutor(BasePoolExecutor): + """ + An executor that runs jobs in a concurrent.futures process pool. + + Plugin alias: ``processpool`` + + :param max_workers: the maximum number of spawned processes. + :param pool_kwargs: dict of keyword arguments to pass to the underlying + ProcessPoolExecutor constructor + """ + + def __init__(self, max_workers=10, pool_kwargs=None): + self.pool_kwargs = pool_kwargs or {} + self.pool_kwargs.setdefault("mp_context", multiprocessing.get_context("spawn")) + pool = concurrent.futures.ProcessPoolExecutor( + int(max_workers), **self.pool_kwargs + ) + super().__init__(pool) + + def _do_submit_job(self, job, run_times): + try: + super()._do_submit_job(job, run_times) + except BrokenProcessPool: + self._logger.warning( + "Process pool is broken; replacing pool with a fresh instance" + ) + self._pool = self._pool.__class__( + self._pool._max_workers, **self.pool_kwargs + ) + super()._do_submit_job(job, run_times) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/tornado.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/tornado.py new file mode 100644 index 0000000..46789bd --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/tornado.py @@ -0,0 +1,49 @@ +import sys +from concurrent.futures import ThreadPoolExecutor + +from tornado.gen import convert_yielded + +from apscheduler.executors.base import BaseExecutor, run_coroutine_job, run_job +from apscheduler.util import iscoroutinefunction_partial + + +class TornadoExecutor(BaseExecutor): + """ + Runs jobs either in a thread pool or directly on the I/O loop. + + If the job function is a native coroutine function, it is scheduled to be run directly in the + I/O loop as soon as possible. All other functions are run in a thread pool. + + Plugin alias: ``tornado`` + + :param int max_workers: maximum number of worker threads in the thread pool + """ + + def __init__(self, max_workers=10): + super().__init__() + self.executor = ThreadPoolExecutor(max_workers) + + def start(self, scheduler, alias): + super().start(scheduler, alias) + self._ioloop = scheduler._ioloop + + def _do_submit_job(self, job, run_times): + def callback(f): + try: + events = f.result() + except BaseException: + self._run_job_error(job.id, *sys.exc_info()[1:]) + else: + self._run_job_success(job.id, events) + + if iscoroutinefunction_partial(job.func): + f = run_coroutine_job( + job, job._jobstore_alias, run_times, self._logger.name + ) + else: + f = self.executor.submit( + run_job, job, job._jobstore_alias, run_times, self._logger.name + ) + + f = convert_yielded(f) + f.add_done_callback(callback) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/twisted.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/twisted.py new file mode 100644 index 0000000..710b20a --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/executors/twisted.py @@ -0,0 +1,24 @@ +from apscheduler.executors.base import BaseExecutor, run_job + + +class TwistedExecutor(BaseExecutor): + """ + Runs jobs in the reactor's thread pool. + + Plugin alias: ``twisted`` + """ + + def start(self, scheduler, alias): + super().start(scheduler, alias) + self._reactor = scheduler._reactor + + def _do_submit_job(self, job, run_times): + def callback(success, result): + if success: + self._run_job_success(job.id, result) + else: + self._run_job_error(job.id, result.value, result.tb) + + self._reactor.getThreadPool().callInThreadWithCallback( + callback, run_job, job, job._jobstore_alias, run_times, self._logger.name + ) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/job.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/job.py new file mode 100644 index 0000000..35e8370 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/job.py @@ -0,0 +1,330 @@ +from collections.abc import Iterable, Mapping +from inspect import isclass, ismethod +from uuid import uuid4 + +from apscheduler.triggers.base import BaseTrigger +from apscheduler.util import ( + check_callable_args, + convert_to_datetime, + datetime_repr, + get_callable_name, + obj_to_ref, + ref_to_obj, +) + + +class Job: + """ + Contains the options given when scheduling callables and its current schedule and other state. + This class should never be instantiated by the user. + + :var str id: the unique identifier of this job + :var str name: the description of this job + :var func: the callable to execute + :var tuple|list args: positional arguments to the callable + :var dict kwargs: keyword arguments to the callable + :var bool coalesce: whether to only run the job once when several run times are due + :var trigger: the trigger object that controls the schedule of this job + :var str executor: the name of the executor that will run this job + :var int misfire_grace_time: the time (in seconds) how much this job's execution is allowed to + be late (``None`` means "allow the job to run no matter how late it is") + :var int max_instances: the maximum number of concurrently executing instances allowed for this + job + :var datetime.datetime next_run_time: the next scheduled run time of this job + + .. note:: + The ``misfire_grace_time`` has some non-obvious effects on job execution. See the + :ref:`missed-job-executions` section in the documentation for an in-depth explanation. + """ + + __slots__ = ( + "_scheduler", + "_jobstore_alias", + "id", + "trigger", + "executor", + "func", + "func_ref", + "args", + "kwargs", + "name", + "misfire_grace_time", + "coalesce", + "max_instances", + "next_run_time", + "__weakref__", + ) + + def __init__(self, scheduler, id=None, **kwargs): + super().__init__() + self._scheduler = scheduler + self._jobstore_alias = None + self._modify(id=id or uuid4().hex, **kwargs) + + def modify(self, **changes): + """ + Makes the given changes to this job and saves it in the associated job store. + + Accepted keyword arguments are the same as the variables on this class. + + .. seealso:: :meth:`~apscheduler.schedulers.base.BaseScheduler.modify_job` + + :return Job: this job instance + + """ + self._scheduler.modify_job(self.id, self._jobstore_alias, **changes) + return self + + def reschedule(self, trigger, **trigger_args): + """ + Shortcut for switching the trigger on this job. + + .. seealso:: :meth:`~apscheduler.schedulers.base.BaseScheduler.reschedule_job` + + :return Job: this job instance + + """ + self._scheduler.reschedule_job( + self.id, self._jobstore_alias, trigger, **trigger_args + ) + return self + + def pause(self): + """ + Temporarily suspend the execution of this job. + + .. seealso:: :meth:`~apscheduler.schedulers.base.BaseScheduler.pause_job` + + :return Job: this job instance + + """ + self._scheduler.pause_job(self.id, self._jobstore_alias) + return self + + def resume(self): + """ + Resume the schedule of this job if previously paused. + + .. seealso:: :meth:`~apscheduler.schedulers.base.BaseScheduler.resume_job` + + :return Job: this job instance + + """ + self._scheduler.resume_job(self.id, self._jobstore_alias) + return self + + def remove(self): + """ + Unschedules this job and removes it from its associated job store. + + .. seealso:: :meth:`~apscheduler.schedulers.base.BaseScheduler.remove_job` + + """ + self._scheduler.remove_job(self.id, self._jobstore_alias) + + @property + def pending(self): + """ + Returns ``True`` if the referenced job is still waiting to be added to its designated job + store. + + """ + return self._jobstore_alias is None + + # + # Private API + # + + def _get_run_times(self, now): + """ + Computes the scheduled run times between ``next_run_time`` and ``now`` (inclusive). + + :type now: datetime.datetime + :rtype: list[datetime.datetime] + + """ + run_times = [] + next_run_time = self.next_run_time + while next_run_time and next_run_time <= now: + run_times.append(next_run_time) + next_run_time = self.trigger.get_next_fire_time(next_run_time, now) + + return run_times + + def _modify(self, **changes): + """ + Validates the changes to the Job and makes the modifications if and only if all of them + validate. + + """ + approved = {} + + if "id" in changes: + value = changes.pop("id") + if not isinstance(value, str): + raise TypeError("id must be a nonempty string") + if hasattr(self, "id"): + raise ValueError("The job ID may not be changed") + approved["id"] = value + + if "func" in changes or "args" in changes or "kwargs" in changes: + func = changes.pop("func") if "func" in changes else self.func + args = changes.pop("args") if "args" in changes else self.args + kwargs = changes.pop("kwargs") if "kwargs" in changes else self.kwargs + + if isinstance(func, str): + func_ref = func + func = ref_to_obj(func) + elif callable(func): + try: + func_ref = obj_to_ref(func) + except ValueError: + # If this happens, this Job won't be serializable + func_ref = None + else: + raise TypeError("func must be a callable or a textual reference to one") + + if not hasattr(self, "name") and changes.get("name", None) is None: + changes["name"] = get_callable_name(func) + + if isinstance(args, str) or not isinstance(args, Iterable): + raise TypeError("args must be a non-string iterable") + if isinstance(kwargs, str) or not isinstance(kwargs, Mapping): + raise TypeError("kwargs must be a dict-like object") + + check_callable_args(func, args, kwargs) + + approved["func"] = func + approved["func_ref"] = func_ref + approved["args"] = args + approved["kwargs"] = kwargs + + if "name" in changes: + value = changes.pop("name") + if not value or not isinstance(value, str): + raise TypeError("name must be a nonempty string") + approved["name"] = value + + if "misfire_grace_time" in changes: + value = changes.pop("misfire_grace_time") + if value is not None and (not isinstance(value, int) or value <= 0): + raise TypeError( + "misfire_grace_time must be either None or a positive integer" + ) + approved["misfire_grace_time"] = value + + if "coalesce" in changes: + value = bool(changes.pop("coalesce")) + approved["coalesce"] = value + + if "max_instances" in changes: + value = changes.pop("max_instances") + if not isinstance(value, int) or value <= 0: + raise TypeError("max_instances must be a positive integer") + approved["max_instances"] = value + + if "trigger" in changes: + trigger = changes.pop("trigger") + if not isinstance(trigger, BaseTrigger): + raise TypeError( + f"Expected a trigger instance, got {trigger.__class__.__name__} instead" + ) + + approved["trigger"] = trigger + + if "executor" in changes: + value = changes.pop("executor") + if not isinstance(value, str): + raise TypeError("executor must be a string") + approved["executor"] = value + + if "next_run_time" in changes: + value = changes.pop("next_run_time") + approved["next_run_time"] = convert_to_datetime( + value, self._scheduler.timezone, "next_run_time" + ) + + if changes: + raise AttributeError( + "The following are not modifiable attributes of Job: {}".format( + ", ".join(changes) + ) + ) + + for key, value in approved.items(): + setattr(self, key, value) + + def __getstate__(self): + # Don't allow this Job to be serialized if the function reference could not be determined + if not self.func_ref: + raise ValueError( + f"This Job cannot be serialized since the reference to its callable ({self.func!r}) could not " + "be determined. Consider giving a textual reference (module:function name) " + "instead." + ) + + # Instance methods cannot survive serialization as-is, so store the "self" argument + # explicitly + func = self.func + if ( + ismethod(func) + and not isclass(func.__self__) + and obj_to_ref(func) == self.func_ref + ): + args = (func.__self__,) + tuple(self.args) + else: + args = self.args + + return { + "version": 1, + "id": self.id, + "func": self.func_ref, + "trigger": self.trigger, + "executor": self.executor, + "args": args, + "kwargs": self.kwargs, + "name": self.name, + "misfire_grace_time": self.misfire_grace_time, + "coalesce": self.coalesce, + "max_instances": self.max_instances, + "next_run_time": self.next_run_time, + } + + def __setstate__(self, state): + if state.get("version", 1) > 1: + raise ValueError( + f"Job has version {state['version']}, but only version 1 can be handled" + ) + + self.id = state["id"] + self.func_ref = state["func"] + self.func = ref_to_obj(self.func_ref) + self.trigger = state["trigger"] + self.executor = state["executor"] + self.args = state["args"] + self.kwargs = state["kwargs"] + self.name = state["name"] + self.misfire_grace_time = state["misfire_grace_time"] + self.coalesce = state["coalesce"] + self.max_instances = state["max_instances"] + self.next_run_time = state["next_run_time"] + + def __eq__(self, other): + if isinstance(other, Job): + return self.id == other.id + return NotImplemented + + def __repr__(self): + return f"" + + def __str__(self): + if hasattr(self, "next_run_time"): + status = ( + "next run at: " + datetime_repr(self.next_run_time) + if self.next_run_time + else "paused" + ) + else: + status = "pending" + + return f"{self.name} (trigger: {self.trigger}, {status})" diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__init__.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ba159f4216d8b07ebecb3863ce45dbcc3970b1ca GIT binary patch literal 195 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 b_qRolRaF&g+@0Qf%a`1f^80(#l3M>CvD1kD literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/etcd.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/etcd.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e8ce8a6983db94161aa70e04fc98d72c4439f37a GIT binary patch literal 10174 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 K?-={f82MkS^W{7M literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/rethinkdb.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/__pycache__/rethinkdb.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..be996c98f99107c6a68687cf640342dbc4340b02 GIT binary patch literal 12023 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 0: + paused_jobs = jobs[:i] + del jobs[:i] + jobs.extend(paused_jobs) + break + + @abstractmethod + def lookup_job(self, job_id): + """ + Returns a specific job, or ``None`` if it isn't found.. + + The job store is responsible for setting the ``scheduler`` and ``jobstore`` attributes of + the returned job to point to the scheduler and itself, respectively. + + :param str|unicode job_id: identifier of the job + :rtype: Job + """ + + @abstractmethod + def get_due_jobs(self, now): + """ + Returns the list of jobs that have ``next_run_time`` earlier or equal to ``now``. + The returned jobs must be sorted by next run time (ascending). + + :param datetime.datetime now: the current (timezone aware) datetime + :rtype: list[Job] + """ + + @abstractmethod + def get_next_run_time(self): + """ + Returns the earliest run time of all the jobs stored in this job store, or ``None`` if + there are no active jobs. + + :rtype: datetime.datetime + """ + + @abstractmethod + def get_all_jobs(self): + """ + Returns a list of all jobs in this job store. + The returned jobs should be sorted by next run time (ascending). + Paused jobs (next_run_time == None) should be sorted last. + + The job store is responsible for setting the ``scheduler`` and ``jobstore`` attributes of + the returned jobs to point to the scheduler and itself, respectively. + + :rtype: list[Job] + """ + + @abstractmethod + def add_job(self, job): + """ + Adds the given job to this store. + + :param Job job: the job to add + :raises ConflictingIdError: if there is another job in this store with the same ID + """ + + @abstractmethod + def update_job(self, job): + """ + Replaces the job in the store with the given newer version. + + :param Job job: the job to update + :raises JobLookupError: if the job does not exist + """ + + @abstractmethod + def remove_job(self, job_id): + """ + Removes the given job from this store. + + :param str|unicode job_id: identifier of the job + :raises JobLookupError: if the job does not exist + """ + + @abstractmethod + def remove_all_jobs(self): + """Removes all jobs from this store.""" + + def __repr__(self): + return f"<{self.__class__.__name__}>" diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/etcd.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/etcd.py new file mode 100644 index 0000000..3fe74ff --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/etcd.py @@ -0,0 +1,170 @@ +import pickle +from datetime import datetime, timezone + +from apscheduler.job import Job +from apscheduler.jobstores.base import BaseJobStore, ConflictingIdError, JobLookupError +from apscheduler.util import ( + datetime_to_utc_timestamp, + maybe_ref, + utc_timestamp_to_datetime, +) + +try: + from etcd3 import Etcd3Client +except ImportError as exc: # pragma: nocover + raise ImportError("EtcdJobStore requires etcd3 be installed") from exc + + +class EtcdJobStore(BaseJobStore): + """ + Stores jobs in a etcd. Any leftover keyword arguments are directly passed to + etcd3's `etcd3.client + `_. + + Plugin alias: ``etcd`` + + :param str path: path to store jobs in + :param client: a :class:`~etcd3.client.etcd3` instance to use instead of + providing connection arguments + :param int pickle_protocol: pickle protocol level to use (for serialization), defaults to the + highest available + """ + + def __init__( + self, + path="/apscheduler", + client=None, + close_connection_on_exit=False, + pickle_protocol=pickle.DEFAULT_PROTOCOL, + **connect_args, + ): + super().__init__() + self.pickle_protocol = pickle_protocol + self.close_connection_on_exit = close_connection_on_exit + + if not path: + raise ValueError('The "path" parameter must not be empty') + + self.path = path + + if client: + self.client = maybe_ref(client) + else: + self.client = Etcd3Client(**connect_args) + + def lookup_job(self, job_id): + node_path = self.path + "/" + str(job_id) + try: + content, _ = self.client.get(node_path) + content = pickle.loads(content) + job = self._reconstitute_job(content["job_state"]) + return job + except BaseException: + return None + + def get_due_jobs(self, now): + timestamp = datetime_to_utc_timestamp(now) + jobs = [ + job_record["job"] + for job_record in self._get_jobs() + if job_record["next_run_time"] is not None + and job_record["next_run_time"] <= timestamp + ] + return jobs + + def get_next_run_time(self): + next_runs = [ + job_record["next_run_time"] + for job_record in self._get_jobs() + if job_record["next_run_time"] is not None + ] + return utc_timestamp_to_datetime(min(next_runs)) if len(next_runs) > 0 else None + + def get_all_jobs(self): + jobs = [job_record["job"] for job_record in self._get_jobs()] + self._fix_paused_jobs_sorting(jobs) + return jobs + + def add_job(self, job): + node_path = self.path + "/" + str(job.id) + value = { + "next_run_time": datetime_to_utc_timestamp(job.next_run_time), + "job_state": job.__getstate__(), + } + data = pickle.dumps(value, self.pickle_protocol) + status = self.client.put_if_not_exists(node_path, value=data) + if not status: + raise ConflictingIdError(job.id) + + def update_job(self, job): + node_path = self.path + "/" + str(job.id) + changes = { + "next_run_time": datetime_to_utc_timestamp(job.next_run_time), + "job_state": job.__getstate__(), + } + data = pickle.dumps(changes, self.pickle_protocol) + status, _ = self.client.transaction( + compare=[self.client.transactions.version(node_path) > 0], + success=[self.client.transactions.put(node_path, value=data)], + failure=[], + ) + if not status: + raise JobLookupError(job.id) + + def remove_job(self, job_id): + node_path = self.path + "/" + str(job_id) + status, _ = self.client.transaction( + compare=[self.client.transactions.version(node_path) > 0], + success=[self.client.transactions.delete(node_path)], + failure=[], + ) + if not status: + raise JobLookupError(job_id) + + def remove_all_jobs(self): + self.client.delete_prefix(self.path) + + def shutdown(self): + self.client.close() + + def _reconstitute_job(self, job_state): + job_state = job_state + job = Job.__new__(Job) + job.__setstate__(job_state) + job._scheduler = self._scheduler + job._jobstore_alias = self._alias + return job + + def _get_jobs(self): + jobs = [] + failed_job_ids = [] + all_ids = list(self.client.get_prefix(self.path)) + + for doc, _ in all_ids: + try: + content = pickle.loads(doc) + job_record = { + "next_run_time": content["next_run_time"], + "job": self._reconstitute_job(content["job_state"]), + } + jobs.append(job_record) + except BaseException: + content = pickle.loads(doc) + failed_id = content["job_state"]["id"] + failed_job_ids.append(failed_id) + self._logger.exception( + 'Unable to restore job "%s" -- removing it', failed_id + ) + + if failed_job_ids: + for failed_id in failed_job_ids: + self.remove_job(failed_id) + paused_sort_key = datetime(9999, 12, 31, tzinfo=timezone.utc) + return sorted( + jobs, + key=lambda job_record: job_record["job"].next_run_time or paused_sort_key, + ) + + def __repr__(self): + self._logger.exception("<%s (client=%s)>", self.__class__.__name__, self.client) + return f"<{self.__class__.__name__} (client={self.client})>" diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/memory.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/memory.py new file mode 100644 index 0000000..8103cfd --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/memory.py @@ -0,0 +1,106 @@ +from apscheduler.jobstores.base import BaseJobStore, ConflictingIdError, JobLookupError +from apscheduler.util import datetime_to_utc_timestamp + + +class MemoryJobStore(BaseJobStore): + """ + Stores jobs in an array in RAM. Provides no persistence support. + + Plugin alias: ``memory`` + """ + + def __init__(self): + super().__init__() + # list of (job, timestamp), sorted by next_run_time and job id (ascending) + self._jobs = [] + self._jobs_index = {} # id -> (job, timestamp) lookup table + + def lookup_job(self, job_id): + return self._jobs_index.get(job_id, (None, None))[0] + + def get_due_jobs(self, now): + now_timestamp = datetime_to_utc_timestamp(now) + pending = [] + for job, timestamp in self._jobs: + if timestamp is None or timestamp > now_timestamp: + break + pending.append(job) + + return pending + + def get_next_run_time(self): + return self._jobs[0][0].next_run_time if self._jobs else None + + def get_all_jobs(self): + return [j[0] for j in self._jobs] + + def add_job(self, job): + if job.id in self._jobs_index: + raise ConflictingIdError(job.id) + + timestamp = datetime_to_utc_timestamp(job.next_run_time) + index = self._get_job_index(timestamp, job.id) + self._jobs.insert(index, (job, timestamp)) + self._jobs_index[job.id] = (job, timestamp) + + def update_job(self, job): + old_job, old_timestamp = self._jobs_index.get(job.id, (None, None)) + if old_job is None: + raise JobLookupError(job.id) + + # If the next run time has not changed, simply replace the job in its present index. + # Otherwise, reinsert the job to the list to preserve the ordering. + old_index = self._get_job_index(old_timestamp, old_job.id) + new_timestamp = datetime_to_utc_timestamp(job.next_run_time) + if old_timestamp == new_timestamp: + self._jobs[old_index] = (job, new_timestamp) + else: + del self._jobs[old_index] + new_index = self._get_job_index(new_timestamp, job.id) + self._jobs.insert(new_index, (job, new_timestamp)) + + self._jobs_index[old_job.id] = (job, new_timestamp) + + def remove_job(self, job_id): + job, timestamp = self._jobs_index.get(job_id, (None, None)) + if job is None: + raise JobLookupError(job_id) + + index = self._get_job_index(timestamp, job_id) + del self._jobs[index] + del self._jobs_index[job.id] + + def remove_all_jobs(self): + self._jobs = [] + self._jobs_index = {} + + def shutdown(self): + self.remove_all_jobs() + + def _get_job_index(self, timestamp, job_id): + """ + Returns the index of the given job, or if it's not found, the index where the job should be + inserted based on the given timestamp. + + :type timestamp: int + :type job_id: str + + """ + lo, hi = 0, len(self._jobs) + timestamp = float("inf") if timestamp is None else timestamp + while lo < hi: + mid = (lo + hi) // 2 + mid_job, mid_timestamp = self._jobs[mid] + mid_timestamp = float("inf") if mid_timestamp is None else mid_timestamp + if mid_timestamp > timestamp: + hi = mid + elif mid_timestamp < timestamp: + lo = mid + 1 + elif mid_job.id > job_id: + hi = mid + elif mid_job.id < job_id: + lo = mid + 1 + else: + return mid + + return lo diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/mongodb.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/mongodb.py new file mode 100644 index 0000000..102c0bd --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/mongodb.py @@ -0,0 +1,158 @@ +import pickle +import warnings + +from apscheduler.job import Job +from apscheduler.jobstores.base import BaseJobStore, ConflictingIdError, JobLookupError +from apscheduler.util import ( + datetime_to_utc_timestamp, + maybe_ref, + utc_timestamp_to_datetime, +) + +try: + from bson.binary import Binary + from pymongo import ASCENDING, MongoClient + from pymongo.errors import DuplicateKeyError +except ImportError as exc: # pragma: nocover + raise ImportError("MongoDBJobStore requires PyMongo installed") from exc + + +class MongoDBJobStore(BaseJobStore): + """ + Stores jobs in a MongoDB database. Any leftover keyword arguments are directly passed to + pymongo's `MongoClient + `_. + + Plugin alias: ``mongodb`` + + :param str database: database to store jobs in + :param str collection: collection to store jobs in + :param client: a :class:`~pymongo.mongo_client.MongoClient` instance to use instead of + providing connection arguments + :param int pickle_protocol: pickle protocol level to use (for serialization), defaults to the + highest available + """ + + def __init__( + self, + database="apscheduler", + collection="jobs", + client=None, + pickle_protocol=pickle.HIGHEST_PROTOCOL, + **connect_args, + ): + super().__init__() + self.pickle_protocol = pickle_protocol + + if not database: + raise ValueError('The "database" parameter must not be empty') + if not collection: + raise ValueError('The "collection" parameter must not be empty') + + if client: + self.client = maybe_ref(client) + else: + connect_args.setdefault("w", 1) + self.client = MongoClient(**connect_args) + + self.collection = self.client[database][collection] + + def start(self, scheduler, alias): + super().start(scheduler, alias) + self.collection.create_index("next_run_time", sparse=True) + + @property + def connection(self): + warnings.warn( + 'The "connection" member is deprecated -- use "client" instead', + DeprecationWarning, + ) + return self.client + + def lookup_job(self, job_id): + document = self.collection.find_one(job_id, ["job_state"]) + return self._reconstitute_job(document["job_state"]) if document else None + + def get_due_jobs(self, now): + timestamp = datetime_to_utc_timestamp(now) + return self._get_jobs({"next_run_time": {"$lte": timestamp}}) + + def get_next_run_time(self): + document = self.collection.find_one( + {"next_run_time": {"$ne": None}}, + projection=["next_run_time"], + sort=[("next_run_time", ASCENDING)], + ) + return ( + utc_timestamp_to_datetime(document["next_run_time"]) if document else None + ) + + def get_all_jobs(self): + jobs = self._get_jobs({}) + self._fix_paused_jobs_sorting(jobs) + return jobs + + def add_job(self, job): + try: + self.collection.insert_one( + { + "_id": job.id, + "next_run_time": datetime_to_utc_timestamp(job.next_run_time), + "job_state": Binary( + pickle.dumps(job.__getstate__(), self.pickle_protocol) + ), + } + ) + except DuplicateKeyError: + raise ConflictingIdError(job.id) + + def update_job(self, job): + changes = { + "next_run_time": datetime_to_utc_timestamp(job.next_run_time), + "job_state": Binary(pickle.dumps(job.__getstate__(), self.pickle_protocol)), + } + result = self.collection.update_one({"_id": job.id}, {"$set": changes}) + if result and result.matched_count == 0: + raise JobLookupError(job.id) + + def remove_job(self, job_id): + result = self.collection.delete_one({"_id": job_id}) + if result and result.deleted_count == 0: + raise JobLookupError(job_id) + + def remove_all_jobs(self): + self.collection.delete_many({}) + + def shutdown(self): + self.client.close() + + def _reconstitute_job(self, job_state): + job_state = pickle.loads(job_state) + job = Job.__new__(Job) + job.__setstate__(job_state) + job._scheduler = self._scheduler + job._jobstore_alias = self._alias + return job + + def _get_jobs(self, conditions): + jobs = [] + failed_job_ids = [] + for document in self.collection.find( + conditions, ["_id", "job_state"], sort=[("next_run_time", ASCENDING)] + ): + try: + jobs.append(self._reconstitute_job(document["job_state"])) + except BaseException: + self._logger.exception( + 'Unable to restore job "%s" -- removing it', document["_id"] + ) + failed_job_ids.append(document["_id"]) + + # Remove all the jobs we failed to restore + if failed_job_ids: + self.collection.delete_many({"_id": {"$in": failed_job_ids}}) + + return jobs + + def __repr__(self): + return f"<{self.__class__.__name__} (client={self.client})>" diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/redis.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/redis.py new file mode 100644 index 0000000..528285f --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/redis.py @@ -0,0 +1,160 @@ +import pickle +from datetime import datetime, timezone + +from apscheduler.job import Job +from apscheduler.jobstores.base import BaseJobStore, ConflictingIdError, JobLookupError +from apscheduler.util import datetime_to_utc_timestamp, utc_timestamp_to_datetime + +try: + from redis import Redis +except ImportError as exc: # pragma: nocover + raise ImportError("RedisJobStore requires redis installed") from exc + + +class RedisJobStore(BaseJobStore): + """ + Stores jobs in a Redis database. Any leftover keyword arguments are directly passed to redis's + :class:`~redis.StrictRedis`. + + Plugin alias: ``redis`` + + :param int db: the database number to store jobs in + :param str jobs_key: key to store jobs in + :param str run_times_key: key to store the jobs' run times in + :param int pickle_protocol: pickle protocol level to use (for serialization), defaults to the + highest available + """ + + def __init__( + self, + db=0, + jobs_key="apscheduler.jobs", + run_times_key="apscheduler.run_times", + pickle_protocol=pickle.HIGHEST_PROTOCOL, + **connect_args, + ): + super().__init__() + + if db is None: + raise ValueError('The "db" parameter must not be empty') + if not jobs_key: + raise ValueError('The "jobs_key" parameter must not be empty') + if not run_times_key: + raise ValueError('The "run_times_key" parameter must not be empty') + + self.pickle_protocol = pickle_protocol + self.jobs_key = jobs_key + self.run_times_key = run_times_key + self.redis = Redis(db=int(db), **connect_args) + + def lookup_job(self, job_id): + job_state = self.redis.hget(self.jobs_key, job_id) + return self._reconstitute_job(job_state) if job_state else None + + def get_due_jobs(self, now): + timestamp = datetime_to_utc_timestamp(now) + job_ids = self.redis.zrangebyscore(self.run_times_key, 0, timestamp) + if job_ids: + job_states = self.redis.hmget(self.jobs_key, *job_ids) + return self._reconstitute_jobs(zip(job_ids, job_states)) + return [] + + def get_next_run_time(self): + next_run_time = self.redis.zrange(self.run_times_key, 0, 0, withscores=True) + if next_run_time: + return utc_timestamp_to_datetime(next_run_time[0][1]) + + def get_all_jobs(self): + job_states = self.redis.hgetall(self.jobs_key) + jobs = self._reconstitute_jobs(job_states.items()) + paused_sort_key = datetime(9999, 12, 31, tzinfo=timezone.utc) + return sorted(jobs, key=lambda job: job.next_run_time or paused_sort_key) + + def add_job(self, job): + if self.redis.hexists(self.jobs_key, job.id): + raise ConflictingIdError(job.id) + + with self.redis.pipeline() as pipe: + pipe.multi() + pipe.hset( + self.jobs_key, + job.id, + pickle.dumps(job.__getstate__(), self.pickle_protocol), + ) + if job.next_run_time: + pipe.zadd( + self.run_times_key, + {job.id: datetime_to_utc_timestamp(job.next_run_time)}, + ) + + pipe.execute() + + def update_job(self, job): + if not self.redis.hexists(self.jobs_key, job.id): + raise JobLookupError(job.id) + + with self.redis.pipeline() as pipe: + pipe.hset( + self.jobs_key, + job.id, + pickle.dumps(job.__getstate__(), self.pickle_protocol), + ) + if job.next_run_time: + pipe.zadd( + self.run_times_key, + {job.id: datetime_to_utc_timestamp(job.next_run_time)}, + ) + else: + pipe.zrem(self.run_times_key, job.id) + + pipe.execute() + + def remove_job(self, job_id): + if not self.redis.hexists(self.jobs_key, job_id): + raise JobLookupError(job_id) + + with self.redis.pipeline() as pipe: + pipe.hdel(self.jobs_key, job_id) + pipe.zrem(self.run_times_key, job_id) + pipe.execute() + + def remove_all_jobs(self): + with self.redis.pipeline() as pipe: + pipe.delete(self.jobs_key) + pipe.delete(self.run_times_key) + pipe.execute() + + def shutdown(self): + self.redis.connection_pool.disconnect() + + def _reconstitute_job(self, job_state): + job_state = pickle.loads(job_state) + job = Job.__new__(Job) + job.__setstate__(job_state) + job._scheduler = self._scheduler + job._jobstore_alias = self._alias + return job + + def _reconstitute_jobs(self, job_states): + jobs = [] + failed_job_ids = [] + for job_id, job_state in job_states: + try: + jobs.append(self._reconstitute_job(job_state)) + except BaseException: + self._logger.exception( + 'Unable to restore job "%s" -- removing it', job_id + ) + failed_job_ids.append(job_id) + + # Remove all the jobs we failed to restore + if failed_job_ids: + with self.redis.pipeline() as pipe: + pipe.hdel(self.jobs_key, *failed_job_ids) + pipe.zrem(self.run_times_key, *failed_job_ids) + pipe.execute() + + return jobs + + def __repr__(self): + return f"<{self.__class__.__name__}>" diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/rethinkdb.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/rethinkdb.py new file mode 100644 index 0000000..d78290b --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/rethinkdb.py @@ -0,0 +1,173 @@ +import pickle + +from apscheduler.job import Job +from apscheduler.jobstores.base import BaseJobStore, ConflictingIdError, JobLookupError +from apscheduler.util import ( + datetime_to_utc_timestamp, + maybe_ref, + utc_timestamp_to_datetime, +) + +try: + from rethinkdb import RethinkDB +except ImportError as exc: # pragma: nocover + raise ImportError("RethinkDBJobStore requires rethinkdb installed") from exc + + +class RethinkDBJobStore(BaseJobStore): + """ + Stores jobs in a RethinkDB database. Any leftover keyword arguments are directly passed to + rethinkdb's `RethinkdbClient `_. + + Plugin alias: ``rethinkdb`` + + :param str database: database to store jobs in + :param str collection: collection to store jobs in + :param client: a :class:`rethinkdb.net.Connection` instance to use instead of providing + connection arguments + :param int pickle_protocol: pickle protocol level to use (for serialization), defaults to the + highest available + """ + + def __init__( + self, + database="apscheduler", + table="jobs", + client=None, + pickle_protocol=pickle.HIGHEST_PROTOCOL, + **connect_args, + ): + super().__init__() + + if not database: + raise ValueError('The "database" parameter must not be empty') + if not table: + raise ValueError('The "table" parameter must not be empty') + + self.database = database + self.table_name = table + self.table = None + self.client = client + self.pickle_protocol = pickle_protocol + self.connect_args = connect_args + self.r = RethinkDB() + self.conn = None + + def start(self, scheduler, alias): + super().start(scheduler, alias) + + if self.client: + self.conn = maybe_ref(self.client) + else: + self.conn = self.r.connect(db=self.database, **self.connect_args) + + if self.database not in self.r.db_list().run(self.conn): + self.r.db_create(self.database).run(self.conn) + + if self.table_name not in self.r.table_list().run(self.conn): + self.r.table_create(self.table_name).run(self.conn) + + if "next_run_time" not in self.r.table(self.table_name).index_list().run( + self.conn + ): + self.r.table(self.table_name).index_create("next_run_time").run(self.conn) + + self.table = self.r.db(self.database).table(self.table_name) + + def lookup_job(self, job_id): + results = list(self.table.get_all(job_id).pluck("job_state").run(self.conn)) + return self._reconstitute_job(results[0]["job_state"]) if results else None + + def get_due_jobs(self, now): + return self._get_jobs( + self.r.row["next_run_time"] <= datetime_to_utc_timestamp(now) + ) + + def get_next_run_time(self): + results = list( + self.table.filter(self.r.row["next_run_time"] != None) + .order_by(self.r.asc("next_run_time")) + .map(lambda x: x["next_run_time"]) + .limit(1) + .run(self.conn) + ) + return utc_timestamp_to_datetime(results[0]) if results else None + + def get_all_jobs(self): + jobs = self._get_jobs() + self._fix_paused_jobs_sorting(jobs) + return jobs + + def add_job(self, job): + job_dict = { + "id": job.id, + "next_run_time": datetime_to_utc_timestamp(job.next_run_time), + "job_state": self.r.binary( + pickle.dumps(job.__getstate__(), self.pickle_protocol) + ), + } + results = self.table.insert(job_dict).run(self.conn) + if results["errors"] > 0: + raise ConflictingIdError(job.id) + + def update_job(self, job): + changes = { + "next_run_time": datetime_to_utc_timestamp(job.next_run_time), + "job_state": self.r.binary( + pickle.dumps(job.__getstate__(), self.pickle_protocol) + ), + } + results = self.table.get_all(job.id).update(changes).run(self.conn) + skipped = False in map(lambda x: results[x] == 0, results.keys()) + if results["skipped"] > 0 or results["errors"] > 0 or not skipped: + raise JobLookupError(job.id) + + def remove_job(self, job_id): + results = self.table.get_all(job_id).delete().run(self.conn) + if results["deleted"] + results["skipped"] != 1: + raise JobLookupError(job_id) + + def remove_all_jobs(self): + self.table.delete().run(self.conn) + + def shutdown(self): + self.conn.close() + + def _reconstitute_job(self, job_state): + job_state = pickle.loads(job_state) + job = Job.__new__(Job) + job.__setstate__(job_state) + job._scheduler = self._scheduler + job._jobstore_alias = self._alias + return job + + def _get_jobs(self, predicate=None): + jobs = [] + failed_job_ids = [] + query = ( + self.table.filter(self.r.row["next_run_time"] != None).filter(predicate) + if predicate + else self.table + ) + query = query.order_by("next_run_time", "id").pluck("id", "job_state") + + for document in query.run(self.conn): + try: + jobs.append(self._reconstitute_job(document["job_state"])) + except Exception: + self._logger.exception( + 'Unable to restore job "%s" -- removing it', document["id"] + ) + failed_job_ids.append(document["id"]) + + # Remove all the jobs we failed to restore + if failed_job_ids: + self.r.expr(failed_job_ids).for_each( + lambda job_id: self.table.get_all(job_id).delete() + ).run(self.conn) + + return jobs + + def __repr__(self): + connection = self.conn + return f"<{self.__class__.__name__} (connection={connection})>" diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/sqlalchemy.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/sqlalchemy.py new file mode 100644 index 0000000..9866acf --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/sqlalchemy.py @@ -0,0 +1,194 @@ +import pickle + +from apscheduler.job import Job +from apscheduler.jobstores.base import BaseJobStore, ConflictingIdError, JobLookupError +from apscheduler.util import ( + datetime_to_utc_timestamp, + maybe_ref, + utc_timestamp_to_datetime, +) + +try: + from sqlalchemy import ( + Column, + Float, + LargeBinary, + MetaData, + Table, + Unicode, + and_, + create_engine, + select, + ) + from sqlalchemy.exc import IntegrityError + from sqlalchemy.sql.expression import null +except ImportError as exc: # pragma: nocover + raise ImportError("SQLAlchemyJobStore requires SQLAlchemy installed") from exc + + +class SQLAlchemyJobStore(BaseJobStore): + """ + Stores jobs in a database table using SQLAlchemy. + The table will be created if it doesn't exist in the database. + + Plugin alias: ``sqlalchemy`` + + :param str url: connection string (see + :ref:`SQLAlchemy documentation ` on this) + :param engine: an SQLAlchemy :class:`~sqlalchemy.engine.Engine` to use instead of creating a + new one based on ``url`` + :param str tablename: name of the table to store jobs in + :param metadata: a :class:`~sqlalchemy.schema.MetaData` instance to use instead of creating a + new one + :param int pickle_protocol: pickle protocol level to use (for serialization), defaults to the + highest available + :param str tableschema: name of the (existing) schema in the target database where the table + should be + :param dict engine_options: keyword arguments to :func:`~sqlalchemy.create_engine` + (ignored if ``engine`` is given) + """ + + def __init__( + self, + url=None, + engine=None, + tablename="apscheduler_jobs", + metadata=None, + pickle_protocol=pickle.HIGHEST_PROTOCOL, + tableschema=None, + engine_options=None, + ): + super().__init__() + self.pickle_protocol = pickle_protocol + metadata = maybe_ref(metadata) or MetaData() + + if engine: + self.engine = maybe_ref(engine) + elif url: + self.engine = create_engine(url, **(engine_options or {})) + else: + raise ValueError('Need either "engine" or "url" defined') + + # 191 = max key length in MySQL for InnoDB/utf8mb4 tables, + # 25 = precision that translates to an 8-byte float + self.jobs_t = Table( + tablename, + metadata, + Column("id", Unicode(191), primary_key=True), + Column("next_run_time", Float(25), index=True), + Column("job_state", LargeBinary, nullable=False), + schema=tableschema, + ) + + def start(self, scheduler, alias): + super().start(scheduler, alias) + self.jobs_t.create(self.engine, True) + + def lookup_job(self, job_id): + selectable = select(self.jobs_t.c.job_state).where(self.jobs_t.c.id == job_id) + with self.engine.begin() as connection: + job_state = connection.execute(selectable).scalar() + return self._reconstitute_job(job_state) if job_state else None + + def get_due_jobs(self, now): + timestamp = datetime_to_utc_timestamp(now) + return self._get_jobs(self.jobs_t.c.next_run_time <= timestamp) + + def get_next_run_time(self): + selectable = ( + select(self.jobs_t.c.next_run_time) + .where(self.jobs_t.c.next_run_time != null()) + .order_by(self.jobs_t.c.next_run_time) + .limit(1) + ) + with self.engine.begin() as connection: + next_run_time = connection.execute(selectable).scalar() + return utc_timestamp_to_datetime(next_run_time) + + def get_all_jobs(self): + jobs = self._get_jobs() + self._fix_paused_jobs_sorting(jobs) + return jobs + + def add_job(self, job): + insert = self.jobs_t.insert().values( + **{ + "id": job.id, + "next_run_time": datetime_to_utc_timestamp(job.next_run_time), + "job_state": pickle.dumps(job.__getstate__(), self.pickle_protocol), + } + ) + with self.engine.begin() as connection: + try: + connection.execute(insert) + except IntegrityError: + raise ConflictingIdError(job.id) + + def update_job(self, job): + update = ( + self.jobs_t.update() + .values( + **{ + "next_run_time": datetime_to_utc_timestamp(job.next_run_time), + "job_state": pickle.dumps(job.__getstate__(), self.pickle_protocol), + } + ) + .where(self.jobs_t.c.id == job.id) + ) + with self.engine.begin() as connection: + result = connection.execute(update) + if result.rowcount == 0: + raise JobLookupError(job.id) + + def remove_job(self, job_id): + delete = self.jobs_t.delete().where(self.jobs_t.c.id == job_id) + with self.engine.begin() as connection: + result = connection.execute(delete) + if result.rowcount == 0: + raise JobLookupError(job_id) + + def remove_all_jobs(self): + delete = self.jobs_t.delete() + with self.engine.begin() as connection: + connection.execute(delete) + + def shutdown(self): + self.engine.dispose() + + def _reconstitute_job(self, job_state): + job_state = pickle.loads(job_state) + job_state["jobstore"] = self + job = Job.__new__(Job) + job.__setstate__(job_state) + job._scheduler = self._scheduler + job._jobstore_alias = self._alias + return job + + def _get_jobs(self, *conditions): + jobs = [] + selectable = select(self.jobs_t.c.id, self.jobs_t.c.job_state).order_by( + self.jobs_t.c.next_run_time + ) + selectable = selectable.where(and_(*conditions)) if conditions else selectable + failed_job_ids = set() + with self.engine.begin() as connection: + for row in connection.execute(selectable): + try: + jobs.append(self._reconstitute_job(row.job_state)) + except BaseException: + self._logger.exception( + 'Unable to restore job "%s" -- removing it', row.id + ) + failed_job_ids.add(row.id) + + # Remove all the jobs we failed to restore + if failed_job_ids: + delete = self.jobs_t.delete().where( + self.jobs_t.c.id.in_(failed_job_ids) + ) + connection.execute(delete) + + return jobs + + def __repr__(self): + return f"<{self.__class__.__name__} (url={self.engine.url})>" diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/zookeeper.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/zookeeper.py new file mode 100644 index 0000000..687fbc2 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/jobstores/zookeeper.py @@ -0,0 +1,197 @@ +import pickle +from datetime import datetime, timezone + +from kazoo.exceptions import NodeExistsError, NoNodeError + +from apscheduler.job import Job +from apscheduler.jobstores.base import BaseJobStore, ConflictingIdError, JobLookupError +from apscheduler.util import ( + datetime_to_utc_timestamp, + maybe_ref, + utc_timestamp_to_datetime, +) + +try: + from kazoo.client import KazooClient +except ImportError as exc: # pragma: nocover + raise ImportError("ZooKeeperJobStore requires Kazoo installed") from exc + + +class ZooKeeperJobStore(BaseJobStore): + """ + Stores jobs in a ZooKeeper tree. Any leftover keyword arguments are directly passed to + kazoo's `KazooClient + `_. + + Plugin alias: ``zookeeper`` + + :param str path: path to store jobs in + :param client: a :class:`~kazoo.client.KazooClient` instance to use instead of + providing connection arguments + :param int pickle_protocol: pickle protocol level to use (for serialization), defaults to the + highest available + """ + + def __init__( + self, + path="/apscheduler", + client=None, + close_connection_on_exit=False, + pickle_protocol=pickle.HIGHEST_PROTOCOL, + **connect_args, + ): + super().__init__() + self.pickle_protocol = pickle_protocol + self.close_connection_on_exit = close_connection_on_exit + + if not path: + raise ValueError('The "path" parameter must not be empty') + + self.path = path + + if client: + self.client = maybe_ref(client) + else: + self.client = KazooClient(**connect_args) + self._ensured_path = False + + def _ensure_paths(self): + if not self._ensured_path: + self.client.ensure_path(self.path) + self._ensured_path = True + + def start(self, scheduler, alias): + super().start(scheduler, alias) + if not self.client.connected: + self.client.start() + + def lookup_job(self, job_id): + self._ensure_paths() + node_path = self.path + "/" + str(job_id) + try: + content, _ = self.client.get(node_path) + doc = pickle.loads(content) + job = self._reconstitute_job(doc["job_state"]) + return job + except BaseException: + return None + + def get_due_jobs(self, now): + timestamp = datetime_to_utc_timestamp(now) + jobs = [ + job_def["job"] + for job_def in self._get_jobs() + if job_def["next_run_time"] is not None + and job_def["next_run_time"] <= timestamp + ] + return jobs + + def get_next_run_time(self): + next_runs = [ + job_def["next_run_time"] + for job_def in self._get_jobs() + if job_def["next_run_time"] is not None + ] + return utc_timestamp_to_datetime(min(next_runs)) if len(next_runs) > 0 else None + + def get_all_jobs(self): + jobs = [job_def["job"] for job_def in self._get_jobs()] + self._fix_paused_jobs_sorting(jobs) + return jobs + + def add_job(self, job): + self._ensure_paths() + node_path = self.path + "/" + str(job.id) + value = { + "next_run_time": datetime_to_utc_timestamp(job.next_run_time), + "job_state": job.__getstate__(), + } + data = pickle.dumps(value, self.pickle_protocol) + try: + self.client.create(node_path, value=data) + except NodeExistsError: + raise ConflictingIdError(job.id) + + def update_job(self, job): + self._ensure_paths() + node_path = self.path + "/" + str(job.id) + changes = { + "next_run_time": datetime_to_utc_timestamp(job.next_run_time), + "job_state": job.__getstate__(), + } + data = pickle.dumps(changes, self.pickle_protocol) + try: + self.client.set(node_path, value=data) + except NoNodeError: + raise JobLookupError(job.id) + + def remove_job(self, job_id): + self._ensure_paths() + node_path = self.path + "/" + str(job_id) + try: + self.client.delete(node_path) + except NoNodeError: + raise JobLookupError(job_id) + + def remove_all_jobs(self): + try: + self.client.delete(self.path, recursive=True) + except NoNodeError: + pass + self._ensured_path = False + + def shutdown(self): + if self.close_connection_on_exit: + self.client.stop() + self.client.close() + + def _reconstitute_job(self, job_state): + job_state = job_state + job = Job.__new__(Job) + job.__setstate__(job_state) + job._scheduler = self._scheduler + job._jobstore_alias = self._alias + return job + + def _get_jobs(self): + self._ensure_paths() + jobs = [] + failed_job_ids = [] + all_ids = self.client.get_children(self.path) + for node_name in all_ids: + try: + node_path = self.path + "/" + node_name + content, _ = self.client.get(node_path) + doc = pickle.loads(content) + job_def = { + "job_id": node_name, + "next_run_time": doc["next_run_time"] + if doc["next_run_time"] + else None, + "job_state": doc["job_state"], + "job": self._reconstitute_job(doc["job_state"]), + "creation_time": _.ctime, + } + jobs.append(job_def) + except BaseException: + self._logger.exception( + 'Unable to restore job "%s" -- removing it', node_name + ) + failed_job_ids.append(node_name) + + # Remove all the jobs we failed to restore + if failed_job_ids: + for failed_id in failed_job_ids: + self.remove_job(failed_id) + paused_sort_key = datetime(9999, 12, 31, tzinfo=timezone.utc) + return sorted( + jobs, + key=lambda job_def: ( + job_def["job"].next_run_time or paused_sort_key, + job_def["creation_time"], + ), + ) + + def __repr__(self): + self._logger.exception("<%s (client=%s)>", self.__class__.__name__, self.client) + return f"<{self.__class__.__name__} (client={self.client})>" diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__init__.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__init__.py new file mode 100644 index 0000000..c17cc29 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__init__.py @@ -0,0 +1,12 @@ +class SchedulerAlreadyRunningError(Exception): + """Raised when attempting to start or configure the scheduler when it's already running.""" + + def __str__(self): + return "Scheduler is already running" + + +class SchedulerNotRunningError(Exception): + """Raised when attempting to shutdown the scheduler when it's not running.""" + + def __str__(self): + return "Scheduler is not running" diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c118f14d42eb2e0772e34c87ec99f7fd64a15087 GIT binary patch literal 1204 zcmbVLKX21O6u*ldNDC!GV(7qd0}@K5#HyH(P$h<{Tcox^NLfyclcPH3!Fg0uYmeD9Bc_kKTr-`d(Fur4o~@n=fNPkbp> zb>YnSz!{SYIUs_3B7#ct%_HOo-1+LzELMS-SBh1He@q(Hs7S^qd?{P=ZFr1{BpoV9 zry^*_6VRpO3lD1i^yzUFOEKt5^SWzfD27J^r4n_vZ;UphH%DP&rC{f=R4jB(_WBNj z%xPv_XdKgqMOvLEX9FXdizTx~ySyfG&n*k{&dlVkTTuZH5u%UBoZka8hNA@U#dk4rIR~G#C)KpZ zxe9xd^K_H*p2mTL|B&!4YK!4{RG?E|%Ao&!;}0 z`Lx=ak+R9VV1xfs$oBH&ZS8KT*ae~cvj zMq1^hW{q#MeO-H%Yh=$nfvSvh4b2cz5 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/asyncio.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/asyncio.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..09c8cabf7428b5296112bc5c6d9c539f577c4511 GIT binary patch literal 4283 zcmb_f&2JmW6`x&l$st8rvTRtgzPgc>TC8oUt}7ui95;3vw>1zMiG{YHfi73vkwkmR zWoMR_CD4ch2&hu1tuIB5q6fh!92>s$Sme}0{{T`TAYlOm27(-VW1t?2oci7@cSVXa zkN}yTeLFkz_U)VBy!YnKXX$j3K>7Uh3(G7{$QSq$6s^_R|1~uJLM&n_Hp${swUwfp zRf~~qM8Wrn9W82EO}3+UtQgP6p{;F@ELF+Rh!xu)R-9>1BZRzw+b`LKrQ9YN`X79q z%cx$wY;w0?+Mc$;&9cZSUi!Kz*zNo>vnn>@(2*#bs|(EFY%#C2#NY#E;=O+b$nQW` zw{7%O@)X`)ggu*NQL&T_`V@Fy!0nfZN)@$H=Q;!<1mA;u|2IJXtQ-;?t&%0RsytCX zA_Y=a|E~N|c^IjZyWy|4RbO}~twuT(LfCGT=gM3r!f_T}(qQ*l$+aD)?48V;wrvQ< zDH-lEXQn00MV8ULs9^S@7d82k@M8B?tFwJdf6$m=>^Bd zo0T}5F0QiD{b{?fFkN1Cmz~n3sf!n7v z*ZLt}8|RghQ7HL(8>sly725&T#nmZaDV_jr#8n{wTPI)kpME^C9j*1xZo5GI`s}{{ z+>Gzh)K>2=WM5<4CYQIa~bKF3eMcX_zOf*N4iUju?h$4FMO zNLIC!Y{XKtQMffLCCx3mk;uka+)B&0*hZq$__9>?$2TZA1qHWBS_z;%@I`Wi9O6w` zJun869w^ykV6w-&zH7K7zql28iunXgFo|n_O%GR2cb8392V{iqlynoSzmWRmok()4t>gh?r4ewpbOTQn=StFs3zUvV9-=iz%0rQdZHguVb?YN61Q=@#xY zJ@0U*;ucCw=##me{0&OT6Y|Tz!hYPb^vYiFfZsW{Ift^}>2O7@Z$hQZGFp6!0L1D0gP=W>~ zix_lqyjAXo-*p;Cl^6jFaUq@urITwrFx_BSKC8-6VM+RJM&r0mc=49WczsLEHDLWq zh0>A)*waL%%s4z;2;vaPQpg`Gn*gxoB@82Pn?e|dz)3(zl77mE;brYqYh^;~osu%% zfHCnl5OCJL-V<9NH;IyX`{mf1jj`GK*jtUUw>E#eb?Zx-{xrT7|5N(+=|_uoI@+M4 zwV+Cuoj)344uTKI^FttoQ5;yq(hX9T93AC5rTH=52Q$KlK%Pg%a>ccrm6F$E2-hha zZlMU9TnoDBidk^^C@^+HhP%<)>2Ancvd-cMtq|A3W|t1`(80$i>vXI^$7*y8!mHm` zr$Y@oR12yf;zG*;Nin!_!S??O@~P=F_lBb}=R>k`HVOi1t!yk7?e{1A|o`G{@0;Owy#^B${|Jt|EX zLjH5r_xltYuOS$~YYDkC>#dzR1*Q%G!ngIc(Qbg-hJOe@71w}30O&H=y`F(u&zZdu z{cpE+M`m|MX8%$B*ZjZl)JHySjC=@@;e$=Mnh}zk05%`xc56iolqk+V57`48xj@_hyqpck>ENs*G7&4AP5CB_yzhh%)h61>m5i^ z5@UO*zO4^-Q~FLyucyWvsqtEBe6R21qcmPk4LBrQ_l$A2a>nb>_!f3Wz6k=5J-;Rl zb_dJ@j3N>QFKv{$lV`9!U^c-ofPVZOkaol28R%FW=z`0)z{|+}6Cms4Rkx)K4DSwP zb_O!_fpd+4bDJq?Os99~>Br~m^lXEktp&9kwa`w+K{}j)6gc~kqViBth)Q5?(0g!( zfMhH($MF+5s`R#WeZQ45!2xHqEu)?aQYkTI`gs_~rG}Ii4Mn!w=kE;~dC2}8@+ms>Jo{JawDV6XL`ZGjgnbph5<(t zqv+si4B9Ef_-)0sTO)D9u$;VM_z@S4UvBR*@#eT|ag3?{>gw3S73FB-U;uu40FGiC z2Kb8H_Rv?}_49;N$chBBd+`MjND6|hsU|hrBuEBH|EcwxkS(nLycvyZ;0muJDH0pN z%zqd&|HA~+|AB^f%4eXeb_Th+2#shTDNWKwlM(!9NRsj=5p5FtCJ&@y53s(0-LEHd z3FNFZNj?a3_7Zrka~;PP@|-BoK;Ce>QH9CAn8Ku-;}Ov7Yv+Kx+?Ly;zc2{ubK?IB z!Tp+E@z?h%M}NXK5PtyDj3|n-M~_RSzefy7b^i|@fX6og literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/background.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/background.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..50ea34da818c09c0e3aba9c7f7ee1c82b1f3759c GIT binary patch literal 2862 zcmcIm&2Jk;6rWk!>&X`_q$uC%l2)` z-@JM6_ulUJ0|UJX+Wq^}gh(h&A$f%z0Hrznd}lvPZe zjhRX|zJ`{t8M{TY2{V2RWz|4VfSg=IH*l7KU8+BL-pF5BW?tDfqYaG$=;4Azhpk`a(Nu(j}v83$6)I%jGV!GR@^)1DDZ2xpa4<<)n8_ zFJE>5D~3GYvnx&)gedX3Oa@l*bZJEtJU8vJ<;;onOvbhrnZZ^v;l2=8VXdT$HZ?MU2=M{FBY!JWEf;zQ!Z=6y8; z!{t+O7-}vPQ%ZJ#dS^vlW<|u2LLl! zDw#YTV9hZsSGPT{#0KO*QV(-J6=VCQ90%3hSFc=`&j#i+HV9K}49LxqZs-U$n1E^i z36NE^+qZB1&1&D|=Ha`?9!||Xn3~y{nypRE!qB79gI^!{=E&NG^>_XtFW1P}#)T?* zeRBp#*ze6oEWm4baOlgo?oIqGeyP-B%5d*v1muY%5@K}~^$e`{hY;H#<25o~ZFY75 zOz94=63ocDp>$M^PUjaRXjX6w1Q5cgN^D9GKi4|7V1PeF3d^yvq?z~O7apAE@K7-e>DuiDZDz0tx#r>6dOBc|b;X$QVSSO2&5k_piMxufTJFD5C2UV7d;d(H&3zd;s6C z>sQN$-Iz)0I(%MqJvd5GKLVIAX{tZaC|-GL+q#~@;hCgk-wqGd11yt7<^{hB1nh2J zb)`Q+>PV7tv~O_rQa!FD4%JZ?LP%nwjv{g(mKdp{e@BAD1~$y6di|d0dl=?VkTYX# zwe#7Zk}$&#{?m%aZyHnKX#W28Rb^q>!8ak;`v(--A@l4hIUPFtESm;Vx{I#?smCzJ pyXa80TmKEcQSI!z=uEYEC6!xB&nF literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/base.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/base.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bc3b276e731d0db3bca23ac0003f116487d771d2 GIT binary patch literal 61390 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 GgZ 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 W@ebXZpT41UZmax1TWG02fxiKg#hoPp literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/blocking.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/blocking.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..22c32ec4e3d907219871eec67f56b09bb5502e43 GIT binary patch literal 2435 zcma)7-D?|15Z^oLq_cgJ(|q6$CAKi7$)#9oNC+h@p*C?#Nu30&lJ+QU&bo~y`=nEM zPjO?^l0r(|qJF%TxX^+hf=Q8osfgFv8A=$nfBQ1aB7JLxRNYTDK9?9R^a z?CktzMh_B+egf_B`lYu9HQb{&s33=I$l%htoq!@}s zWbzKNB6o=uWy%KVdIUXaM$A&?h#va`SzY!9a_`R0Tzx-BXQw{!l$l$s?80hdE;p5% zp>w&b*RIW6@)FagU~~Bbv#K`Z`IahwXe-{k2<(?&8Y6~e5ks~lBVx%$bd}tcz!cR` zEY+VYcl*GI*j-}8tvFCv{X{bQz^Fd&rD@yAFBQuR;bkke{xr0yv}j+Sb_=GP=GC%D z7t6q~^i7Ae1@2VKmcRGZg%WcM7jArJR>DJ>a3(VI@R&^3i!#DBxqBnMT(s@M;=O7^q3c;459a8ML`8~IjZ#(QLQiz z1A52nrzNvkrnci$^r#mV%)aSGO}-$!*wV5;_EDO*O(7^1cphN8^Xz)I;FMT)-f^+B zGH2P+ZC1XOwTtuF%5Ascl+R|)oXLu!%O)#ke#u;5BHMvnb|1N{4-G^|rgEDn;f9r= z1Mw0-i9%rj`TGvp9T=>?(HIz8fBF8aI}_)&CeCe6oZp@}4@*x*$A3Ke)5+CK^~+Dy zW8WxW#q05U;(NEDzOr@;Nbv2d+INFr4{oX>+v-T8{q2EvlFQ3Dv>N6D_PrVqj1RXX z3cB&_9UnDm15P{&Pa%?v;SKBUTx(qy4BdJIOgR=3J<1a>c&aE=UCUW6^8sWd0Iwe5 zhj1QUHj6Gl0#kvy0WW?OMm_{&WweKHTbhpHiL*e!y-(Bxx@|`t-cpCxj&7=B+v-?D z9Rsh`2YUF8J*lV^}ri_W~z zd`mmN_R*$xdRsf)&`!5jPi$!?Hns6>ZM>n4@219gQj=S$$<0)DJC$91uNfzU zNA@*=vhX{IIhu@*-+LWMcOmVa8r`1m40Abf+At{6CEq;)BPQ^N7h5)$Shcb;e9$F< zBn^ATC=jR=FA7;*%IW={N@>|FF-oBv(vpM!hcMSD{kUq{ElHeG%gIw3*oCFYPbiMi z@H7wrH7JyMX4{m4)qV=1)o%qTs<;&iMxFQq2xMCO*OViQ+9XK&N%HWWx0_K#8Eujt zBq^id--xOxui>#4NlLi+Ma0L^x9f@?_xjudXQl=9*pK7jKO@yqx}X2k4MH5B5UHp_w1`X3`3tI^mI|rXR!EV0>WzvXP)>cbYi}@Lv$JpCyf+{3 zz2BR+KX-P<5wz#eZ_NJ1BlI^Lw3^st4!#9u4e3b71}b3%W5#m^SK<{OqZk|UhM)-W z6%4TyQ6l~f(TJ8LMZ(A&d<~Jis1zx&<$|w}i>B>phC%dv^I-qOH3tXp0rNG4g&+m% zNa1v>@Hz)U;8&0$*3k^sg%wGO=pu}xdIYFcM+;bqf$>o$hdQ<%I0aYK}}R zrY&pGcVQrp47K1rJjE5N^h^f3nb{jjE3yqVEWn6 zy1rrU436#&j>4L*M)Kn7BUc(efX&e92$wZ0`!Z+23v zwdV>(HS`6iqbWo?U`9p&SSn>gJ;|P}IJ#9eDf8SD=B%Qb5$FXN(2I=pGI2~*^M+>I zs%i@`256RPAJYy3SsFMI$>yGyKx^Lua=45d(!e+3yzxE{jfn>{Fvv==Yz{Y&buK^Zz)Ud4ECL}SvY0icrT&m zDbXAPNeLBX=(rb0wL`GVW|4!mNcKLiu2$<^=NNVsWO|3*!6|TBkvRL^BKB1}) zDw@&ML{(L{@~Y}5n|}@c45Gtu61@V%>uhFPo*0Iz0%$3a`k;LjWE?ABl#v8eup0!) z)p{Djh%1b|=#ESu>iyHOg)j?E>N@0(7$h#(rh(Xo}cm%8IYoako^qs54HfMLnJ@yyOof8$>!{_hl> W-3{(M=}w~`#SwlZ@fQCpeE$bG^E=Z3 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/qt.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/__pycache__/qt.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..49df11b1cfc9246053c7192e7bfe3578ee23c56b GIT binary patch literal 2961 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/asyncio.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/asyncio.py new file mode 100644 index 0000000..ff31adb --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/asyncio.py @@ -0,0 +1,67 @@ +import asyncio +from functools import partial, wraps + +from apscheduler.schedulers.base import BaseScheduler +from apscheduler.util import maybe_ref + + +def run_in_event_loop(func): + @wraps(func) + def wrapper(self, *args, **kwargs): + wrapped = partial(func, self, *args, **kwargs) + self._eventloop.call_soon_threadsafe(wrapped) + + return wrapper + + +class AsyncIOScheduler(BaseScheduler): + """ + A scheduler that runs on an asyncio (:pep:`3156`) event loop. + + The default executor can run jobs based on native coroutines (``async def``). + + Extra options: + + ============== ============================================================= + ``event_loop`` AsyncIO event loop to use (defaults to the global event loop) + ============== ============================================================= + """ + + _eventloop = None + _timeout = None + + def start(self, paused=False): + if not self._eventloop: + self._eventloop = asyncio.get_running_loop() + + super().start(paused) + + @run_in_event_loop + def shutdown(self, wait=True): + super().shutdown(wait) + self._stop_timer() + + def _configure(self, config): + self._eventloop = maybe_ref(config.pop("event_loop", None)) + super()._configure(config) + + def _start_timer(self, wait_seconds): + self._stop_timer() + if wait_seconds is not None: + self._timeout = self._eventloop.call_later(wait_seconds, self.wakeup) + + def _stop_timer(self): + if self._timeout: + self._timeout.cancel() + del self._timeout + + @run_in_event_loop + def wakeup(self): + self._stop_timer() + wait_seconds = self._process_jobs() + self._start_timer(wait_seconds) + + def _create_default_executor(self): + from apscheduler.executors.asyncio import AsyncIOExecutor + + return AsyncIOExecutor() diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/background.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/background.py new file mode 100644 index 0000000..7d8d1bc --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/background.py @@ -0,0 +1,42 @@ +from threading import Event, Thread + +from apscheduler.schedulers.base import BaseScheduler +from apscheduler.schedulers.blocking import BlockingScheduler +from apscheduler.util import asbool + + +class BackgroundScheduler(BlockingScheduler): + """ + A scheduler that runs in the background using a separate thread + (:meth:`~apscheduler.schedulers.base.BaseScheduler.start` will return immediately). + + Extra options: + + ========== ============================================================================= + ``daemon`` Set the ``daemon`` option in the background thread (defaults to ``True``, see + `the documentation + `_ + for further details) + ========== ============================================================================= + """ + + _thread = None + + def _configure(self, config): + self._daemon = asbool(config.pop("daemon", True)) + super()._configure(config) + + def start(self, *args, **kwargs): + if self._event is None or self._event.is_set(): + self._event = Event() + + BaseScheduler.start(self, *args, **kwargs) + self._thread = Thread( + target=self._main_loop, name="APScheduler", daemon=self._daemon + ) + self._thread.start() + + def shutdown(self, *args, **kwargs): + super().shutdown(*args, **kwargs) + self._thread.join() + del self._thread diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/base.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/base.py new file mode 100644 index 0000000..7d713c7 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/base.py @@ -0,0 +1,1264 @@ +import sys +import warnings +from abc import ABCMeta, abstractmethod +from collections.abc import Mapping, MutableMapping +from contextlib import ExitStack +from datetime import datetime, timedelta +from importlib.metadata import entry_points +from logging import getLogger +from threading import TIMEOUT_MAX, RLock + +from tzlocal import get_localzone + +from apscheduler.events import ( + EVENT_ALL, + EVENT_ALL_JOBS_REMOVED, + EVENT_EXECUTOR_ADDED, + EVENT_EXECUTOR_REMOVED, + EVENT_JOB_ADDED, + EVENT_JOB_MAX_INSTANCES, + EVENT_JOB_MODIFIED, + EVENT_JOB_REMOVED, + EVENT_JOB_SUBMITTED, + EVENT_JOBSTORE_ADDED, + EVENT_JOBSTORE_REMOVED, + EVENT_SCHEDULER_PAUSED, + EVENT_SCHEDULER_RESUMED, + EVENT_SCHEDULER_SHUTDOWN, + EVENT_SCHEDULER_STARTED, + JobEvent, + JobSubmissionEvent, + SchedulerEvent, +) +from apscheduler.executors.base import BaseExecutor, MaxInstancesReachedError +from apscheduler.executors.pool import ThreadPoolExecutor +from apscheduler.job import Job +from apscheduler.jobstores.base import BaseJobStore, ConflictingIdError, JobLookupError +from apscheduler.jobstores.memory import MemoryJobStore +from apscheduler.schedulers import ( + SchedulerAlreadyRunningError, + SchedulerNotRunningError, +) +from apscheduler.triggers.base import BaseTrigger +from apscheduler.util import ( + asbool, + asint, + astimezone, + maybe_ref, + obj_to_ref, + ref_to_obj, + undefined, +) + +#: constant indicating a scheduler's stopped state +STATE_STOPPED = 0 +#: constant indicating a scheduler's running state (started and processing jobs) +STATE_RUNNING = 1 +#: constant indicating a scheduler's paused state (started but not processing jobs) +STATE_PAUSED = 2 + + +class BaseScheduler(metaclass=ABCMeta): + """ + Abstract base class for all schedulers. + + Takes the following keyword arguments: + + :param str|logging.Logger logger: logger to use for the scheduler's logging (defaults to + apscheduler.scheduler) + :param str|datetime.tzinfo timezone: the default time zone (defaults to the local timezone) + :param int|float jobstore_retry_interval: the minimum number of seconds to wait between + retries in the scheduler's main loop if the job store raises an exception when getting + the list of due jobs + :param dict job_defaults: default values for newly added jobs + :param dict jobstores: a dictionary of job store alias -> job store instance or configuration + dict + :param dict executors: a dictionary of executor alias -> executor instance or configuration + dict + + :ivar int state: current running state of the scheduler (one of the following constants from + ``apscheduler.schedulers.base``: ``STATE_STOPPED``, ``STATE_RUNNING``, ``STATE_PAUSED``) + + .. seealso:: :ref:`scheduler-config` + """ + + # The `group=...` API is only available in the backport, used in <=3.7, and in std>=3.10. + if (3, 8) <= sys.version_info < (3, 10): + _trigger_plugins = { + ep.name: ep for ep in entry_points()["apscheduler.triggers"] + } + _executor_plugins = { + ep.name: ep for ep in entry_points()["apscheduler.executors"] + } + _jobstore_plugins = { + ep.name: ep for ep in entry_points()["apscheduler.jobstores"] + } + else: + _trigger_plugins = { + ep.name: ep for ep in entry_points(group="apscheduler.triggers") + } + _executor_plugins = { + ep.name: ep for ep in entry_points(group="apscheduler.executors") + } + _jobstore_plugins = { + ep.name: ep for ep in entry_points(group="apscheduler.jobstores") + } + + _trigger_classes = {} + _executor_classes = {} + _jobstore_classes = {} + + # + # Public API + # + + def __init__(self, gconfig={}, **options): + super().__init__() + self._executors = {} + self._executors_lock = self._create_lock() + self._jobstores = {} + self._jobstores_lock = self._create_lock() + self._listeners = [] + self._listeners_lock = self._create_lock() + self._pending_jobs = [] + self.state = STATE_STOPPED + self.configure(gconfig, **options) + + def __getstate__(self): + raise TypeError( + "Schedulers cannot be serialized. Ensure that you are not passing a " + "scheduler instance as an argument to a job, or scheduling an instance " + "method where the instance contains a scheduler as an attribute." + ) + + def configure(self, gconfig={}, prefix="apscheduler.", **options): + """ + Reconfigures the scheduler with the given options. + + Can only be done when the scheduler isn't running. + + :param dict gconfig: a "global" configuration dictionary whose values can be overridden by + keyword arguments to this method + :param str|unicode prefix: pick only those keys from ``gconfig`` that are prefixed with + this string (pass an empty string or ``None`` to use all keys) + :raises SchedulerAlreadyRunningError: if the scheduler is already running + + """ + if self.state != STATE_STOPPED: + raise SchedulerAlreadyRunningError + + # If a non-empty prefix was given, strip it from the keys in the + # global configuration dict + if prefix: + prefixlen = len(prefix) + gconfig = dict( + (key[prefixlen:], value) + for key, value in gconfig.items() + if key.startswith(prefix) + ) + + # Create a structure from the dotted options + # (e.g. "a.b.c = d" -> {'a': {'b': {'c': 'd'}}}) + config = {} + for key, value in gconfig.items(): + parts = key.split(".") + parent = config + key = parts.pop(0) + while parts: + parent = parent.setdefault(key, {}) + key = parts.pop(0) + parent[key] = value + + # Override any options with explicit keyword arguments + config.update(options) + self._configure(config) + + def start(self, paused=False): + """ + Start the configured executors and job stores and begin processing scheduled jobs. + + :param bool paused: if ``True``, don't start job processing until :meth:`resume` is called + :raises SchedulerAlreadyRunningError: if the scheduler is already running + :raises RuntimeError: if running under uWSGI with threads disabled + + """ + if self.state != STATE_STOPPED: + raise SchedulerAlreadyRunningError + + self._check_uwsgi() + + with self._executors_lock: + # Create a default executor if nothing else is configured + if "default" not in self._executors: + self.add_executor(self._create_default_executor(), "default") + + # Start all the executors + for alias, executor in self._executors.items(): + executor.start(self, alias) + + with self._jobstores_lock: + # Create a default job store if nothing else is configured + if "default" not in self._jobstores: + self.add_jobstore(self._create_default_jobstore(), "default") + + # Start all the job stores + for alias, store in self._jobstores.items(): + store.start(self, alias) + + # Schedule all pending jobs + for job, jobstore_alias, replace_existing in self._pending_jobs: + self._real_add_job(job, jobstore_alias, replace_existing) + del self._pending_jobs[:] + + self.state = STATE_PAUSED if paused else STATE_RUNNING + self._logger.info("Scheduler started") + self._dispatch_event(SchedulerEvent(EVENT_SCHEDULER_STARTED)) + + if not paused: + self.wakeup() + + @abstractmethod + def shutdown(self, wait=True): + """ + Shuts down the scheduler, along with its executors and job stores. + + Does not interrupt any currently running jobs. + + :param bool wait: ``True`` to wait until all currently executing jobs have finished + :raises SchedulerNotRunningError: if the scheduler has not been started yet + + """ + if self.state == STATE_STOPPED: + raise SchedulerNotRunningError + + self.state = STATE_STOPPED + + # Shut down all executors + with self._executors_lock, self._jobstores_lock: + for executor in self._executors.values(): + executor.shutdown(wait) + + # Shut down all job stores + for jobstore in self._jobstores.values(): + jobstore.shutdown() + + self._logger.info("Scheduler has been shut down") + self._dispatch_event(SchedulerEvent(EVENT_SCHEDULER_SHUTDOWN)) + + def pause(self): + """ + Pause job processing in the scheduler. + + This will prevent the scheduler from waking up to do job processing until :meth:`resume` + is called. It will not however stop any already running job processing. + + """ + if self.state == STATE_STOPPED: + raise SchedulerNotRunningError + elif self.state == STATE_RUNNING: + self.state = STATE_PAUSED + self._logger.info("Paused scheduler job processing") + self._dispatch_event(SchedulerEvent(EVENT_SCHEDULER_PAUSED)) + + def resume(self): + """Resume job processing in the scheduler.""" + if self.state == STATE_STOPPED: + raise SchedulerNotRunningError + elif self.state == STATE_PAUSED: + self.state = STATE_RUNNING + self._logger.info("Resumed scheduler job processing") + self._dispatch_event(SchedulerEvent(EVENT_SCHEDULER_RESUMED)) + self.wakeup() + + @property + def running(self): + """ + Return ``True`` if the scheduler has been started. + + This is a shortcut for ``scheduler.state != STATE_STOPPED``. + + """ + return self.state != STATE_STOPPED + + def add_executor(self, executor, alias="default", **executor_opts): + """ + Adds an executor to this scheduler. + + Any extra keyword arguments will be passed to the executor plugin's constructor, assuming + that the first argument is the name of an executor plugin. + + :param str|unicode|apscheduler.executors.base.BaseExecutor executor: either an executor + instance or the name of an executor plugin + :param str|unicode alias: alias for the scheduler + :raises ValueError: if there is already an executor by the given alias + + """ + with self._executors_lock: + if alias in self._executors: + raise ValueError( + f'This scheduler already has an executor by the alias of "{alias}"' + ) + + if isinstance(executor, BaseExecutor): + self._executors[alias] = executor + elif isinstance(executor, str): + self._executors[alias] = executor = self._create_plugin_instance( + "executor", executor, executor_opts + ) + else: + raise TypeError( + f"Expected an executor instance or a string, got {executor.__class__.__name__} instead" + ) + + # Start the executor right away if the scheduler is running + if self.state != STATE_STOPPED: + executor.start(self, alias) + + self._dispatch_event(SchedulerEvent(EVENT_EXECUTOR_ADDED, alias)) + + def remove_executor(self, alias, shutdown=True): + """ + Removes the executor by the given alias from this scheduler. + + :param str|unicode alias: alias of the executor + :param bool shutdown: ``True`` to shut down the executor after + removing it + + """ + with self._executors_lock: + executor = self._lookup_executor(alias) + del self._executors[alias] + + if shutdown: + executor.shutdown() + + self._dispatch_event(SchedulerEvent(EVENT_EXECUTOR_REMOVED, alias)) + + def add_jobstore(self, jobstore, alias="default", **jobstore_opts): + """ + Adds a job store to this scheduler. + + Any extra keyword arguments will be passed to the job store plugin's constructor, assuming + that the first argument is the name of a job store plugin. + + :param str|unicode|apscheduler.jobstores.base.BaseJobStore jobstore: job store to be added + :param str|unicode alias: alias for the job store + :raises ValueError: if there is already a job store by the given alias + + """ + with self._jobstores_lock: + if alias in self._jobstores: + raise ValueError( + f'This scheduler already has a job store by the alias of "{alias}"' + ) + + if isinstance(jobstore, BaseJobStore): + self._jobstores[alias] = jobstore + elif isinstance(jobstore, str): + self._jobstores[alias] = jobstore = self._create_plugin_instance( + "jobstore", jobstore, jobstore_opts + ) + else: + raise TypeError( + f"Expected a job store instance or a string, got {jobstore.__class__.__name__} instead" + ) + + # Start the job store right away if the scheduler isn't stopped + if self.state != STATE_STOPPED: + jobstore.start(self, alias) + + # Notify listeners that a new job store has been added + self._dispatch_event(SchedulerEvent(EVENT_JOBSTORE_ADDED, alias)) + + # Notify the scheduler so it can scan the new job store for jobs + if self.state != STATE_STOPPED: + self.wakeup() + + def remove_jobstore(self, alias, shutdown=True): + """ + Removes the job store by the given alias from this scheduler. + + :param str|unicode alias: alias of the job store + :param bool shutdown: ``True`` to shut down the job store after removing it + + """ + with self._jobstores_lock: + jobstore = self._lookup_jobstore(alias) + del self._jobstores[alias] + + if shutdown: + jobstore.shutdown() + + self._dispatch_event(SchedulerEvent(EVENT_JOBSTORE_REMOVED, alias)) + + def add_listener(self, callback, mask=EVENT_ALL): + """ + add_listener(callback, mask=EVENT_ALL) + + Adds a listener for scheduler events. + + When a matching event occurs, ``callback`` is executed with the event object as its + sole argument. If the ``mask`` parameter is not provided, the callback will receive events + of all types. + + :param callback: any callable that takes one argument + :param int mask: bitmask that indicates which events should be + listened to + + .. seealso:: :mod:`apscheduler.events` + .. seealso:: :ref:`scheduler-events` + + """ + with self._listeners_lock: + self._listeners.append((callback, mask)) + + def remove_listener(self, callback): + """Removes a previously added event listener.""" + + with self._listeners_lock: + for i, (cb, _) in enumerate(self._listeners): + if callback == cb: + del self._listeners[i] + + def add_job( + self, + func, + trigger=None, + args=None, + kwargs=None, + id=None, + name=None, + misfire_grace_time=undefined, + coalesce=undefined, + max_instances=undefined, + next_run_time=undefined, + jobstore="default", + executor="default", + replace_existing=False, + **trigger_args, + ): + """ + add_job(func, trigger=None, args=None, kwargs=None, id=None, \ + name=None, misfire_grace_time=undefined, coalesce=undefined, \ + max_instances=undefined, next_run_time=undefined, \ + jobstore='default', executor='default', \ + replace_existing=False, **trigger_args) + + Adds the given job to the job list and wakes up the scheduler if it's already running. + + Any option that defaults to ``undefined`` will be replaced with the corresponding default + value when the job is scheduled (which happens when the scheduler is started, or + immediately if the scheduler is already running). + + The ``func`` argument can be given either as a callable object or a textual reference in + the ``package.module:some.object`` format, where the first half (separated by ``:``) is an + importable module and the second half is a reference to the callable object, relative to + the module. + + The ``trigger`` argument can either be: + #. the alias name of the trigger (e.g. ``date``, ``interval`` or ``cron``), in which case + any extra keyword arguments to this method are passed on to the trigger's constructor + #. an instance of a trigger class + + :param func: callable (or a textual reference to one) to run at the given time + :param str|apscheduler.triggers.base.BaseTrigger trigger: trigger that determines when + ``func`` is called + :param list|tuple args: list of positional arguments to call func with + :param dict kwargs: dict of keyword arguments to call func with + :param str|unicode id: explicit identifier for the job (for modifying it later) + :param str|unicode name: textual description of the job + :param int misfire_grace_time: seconds after the designated runtime that the job is still + allowed to be run (or ``None`` to allow the job to run no matter how late it is) + :param bool coalesce: run once instead of many times if the scheduler determines that the + job should be run more than once in succession + :param int max_instances: maximum number of concurrently running instances allowed for this + job + :param datetime next_run_time: when to first run the job, regardless of the trigger (pass + ``None`` to add the job as paused) + :param str|unicode jobstore: alias of the job store to store the job in + :param str|unicode executor: alias of the executor to run the job with + :param bool replace_existing: ``True`` to replace an existing job with the same ``id`` + (but retain the number of runs from the existing one) + :rtype: Job + + """ + job_kwargs = { + "trigger": self._create_trigger(trigger, trigger_args), + "executor": executor, + "func": func, + "args": tuple(args) if args is not None else (), + "kwargs": dict(kwargs) if kwargs is not None else {}, + "id": id, + "name": name, + "misfire_grace_time": misfire_grace_time, + "coalesce": coalesce, + "max_instances": max_instances, + "next_run_time": next_run_time, + } + job_kwargs = dict( + (key, value) for key, value in job_kwargs.items() if value is not undefined + ) + job = Job(self, **job_kwargs) + + # Don't really add jobs to job stores before the scheduler is up and running + with self._jobstores_lock: + if self.state == STATE_STOPPED: + self._pending_jobs.append((job, jobstore, replace_existing)) + self._logger.info( + "Adding job tentatively -- it will be properly scheduled when " + "the scheduler starts" + ) + else: + self._real_add_job(job, jobstore, replace_existing) + + return job + + def scheduled_job( + self, + trigger, + args=None, + kwargs=None, + id=None, + name=None, + misfire_grace_time=undefined, + coalesce=undefined, + max_instances=undefined, + next_run_time=undefined, + jobstore="default", + executor="default", + **trigger_args, + ): + """ + scheduled_job(trigger, args=None, kwargs=None, id=None, \ + name=None, misfire_grace_time=undefined, \ + coalesce=undefined, max_instances=undefined, \ + next_run_time=undefined, jobstore='default', \ + executor='default',**trigger_args) + + A decorator version of :meth:`add_job`, except that ``replace_existing`` is always + ``True``. + + .. important:: The ``id`` argument must be given if scheduling a job in a persistent job + store. The scheduler cannot, however, enforce this requirement. + + """ + + def inner(func): + self.add_job( + func, + trigger, + args, + kwargs, + id, + name, + misfire_grace_time, + coalesce, + max_instances, + next_run_time, + jobstore, + executor, + True, + **trigger_args, + ) + return func + + return inner + + def modify_job(self, job_id, jobstore=None, **changes): + """ + Modifies the properties of a single job. + + Modifications are passed to this method as extra keyword arguments. + + :param str|unicode job_id: the identifier of the job + :param str|unicode jobstore: alias of the job store that contains the job + :return Job: the relevant job instance + + """ + with self._jobstores_lock: + job, jobstore = self._lookup_job(job_id, jobstore) + job._modify(**changes) + if jobstore: + self._lookup_jobstore(jobstore).update_job(job) + + self._dispatch_event(JobEvent(EVENT_JOB_MODIFIED, job_id, jobstore)) + + # Wake up the scheduler since the job's next run time may have been changed + if self.state == STATE_RUNNING: + self.wakeup() + + return job + + def reschedule_job(self, job_id, jobstore=None, trigger=None, **trigger_args): + """ + Constructs a new trigger for a job and updates its next run time. + + Extra keyword arguments are passed directly to the trigger's constructor. + + :param str|unicode job_id: the identifier of the job + :param str|unicode jobstore: alias of the job store that contains the job + :param trigger: alias of the trigger type or a trigger instance + :return Job: the relevant job instance + + """ + trigger = self._create_trigger(trigger, trigger_args) + now = datetime.now(self.timezone) + next_run_time = trigger.get_next_fire_time(None, now) + return self.modify_job( + job_id, jobstore, trigger=trigger, next_run_time=next_run_time + ) + + def pause_job(self, job_id, jobstore=None): + """ + Causes the given job not to be executed until it is explicitly resumed. + + :param str|unicode job_id: the identifier of the job + :param str|unicode jobstore: alias of the job store that contains the job + :return Job: the relevant job instance + + """ + return self.modify_job(job_id, jobstore, next_run_time=None) + + def resume_job(self, job_id, jobstore=None): + """ + Resumes the schedule of the given job, or removes the job if its schedule is finished. + + :param str|unicode job_id: the identifier of the job + :param str|unicode jobstore: alias of the job store that contains the job + :return Job|None: the relevant job instance if the job was rescheduled, or ``None`` if no + next run time could be calculated and the job was removed + + """ + with self._jobstores_lock: + job, jobstore = self._lookup_job(job_id, jobstore) + now = datetime.now(self.timezone) + next_run_time = job.trigger.get_next_fire_time(None, now) + if next_run_time: + return self.modify_job(job_id, jobstore, next_run_time=next_run_time) + else: + self.remove_job(job.id, jobstore) + + def get_jobs(self, jobstore=None, pending=None): + """ + Returns a list of pending jobs (if the scheduler hasn't been started yet) and scheduled + jobs, either from a specific job store or from all of them. + + If the scheduler has not been started yet, only pending jobs can be returned because the + job stores haven't been started yet either. + + :param str|unicode jobstore: alias of the job store + :param bool pending: **DEPRECATED** + :rtype: list[Job] + + """ + if pending is not None: + warnings.warn( + 'The "pending" option is deprecated -- get_jobs() always returns ' + "scheduled jobs if the scheduler has been started and pending jobs " + "otherwise", + DeprecationWarning, + ) + + with self._jobstores_lock: + jobs = [] + if self.state == STATE_STOPPED: + for job, alias, replace_existing in self._pending_jobs: + if jobstore is None or alias == jobstore: + jobs.append(job) + else: + for alias, store in self._jobstores.items(): + if jobstore is None or alias == jobstore: + jobs.extend(store.get_all_jobs()) + + return jobs + + def get_job(self, job_id, jobstore=None): + """ + Returns the Job that matches the given ``job_id``. + + :param str|unicode job_id: the identifier of the job + :param str|unicode jobstore: alias of the job store that most likely contains the job + :return: the Job by the given ID, or ``None`` if it wasn't found + :rtype: Job + + """ + with self._jobstores_lock: + try: + return self._lookup_job(job_id, jobstore)[0] + except JobLookupError: + return + + def remove_job(self, job_id, jobstore=None): + """ + Removes a job, preventing it from being run any more. + + :param str|unicode job_id: the identifier of the job + :param str|unicode jobstore: alias of the job store that contains the job + :raises JobLookupError: if the job was not found + + """ + jobstore_alias = None + with self._jobstores_lock: + # Check if the job is among the pending jobs + if self.state == STATE_STOPPED: + for i, (job, alias, replace_existing) in enumerate(self._pending_jobs): + if job.id == job_id and jobstore in (None, alias): + del self._pending_jobs[i] + jobstore_alias = alias + break + else: + # Otherwise, try to remove it from each store until it succeeds or we run out of + # stores to check + for alias, store in self._jobstores.items(): + if jobstore in (None, alias): + try: + store.remove_job(job_id) + jobstore_alias = alias + break + except JobLookupError: + continue + + if jobstore_alias is None: + raise JobLookupError(job_id) + + # Notify listeners that a job has been removed + event = JobEvent(EVENT_JOB_REMOVED, job_id, jobstore_alias) + self._dispatch_event(event) + + self._logger.info("Removed job %s", job_id) + + def remove_all_jobs(self, jobstore=None): + """ + Removes all jobs from the specified job store, or all job stores if none is given. + + :param str|unicode jobstore: alias of the job store + + """ + with self._jobstores_lock: + if self.state == STATE_STOPPED: + if jobstore: + self._pending_jobs = [ + pending + for pending in self._pending_jobs + if pending[1] != jobstore + ] + else: + self._pending_jobs = [] + else: + for alias, store in self._jobstores.items(): + if jobstore in (None, alias): + store.remove_all_jobs() + + self._dispatch_event(SchedulerEvent(EVENT_ALL_JOBS_REMOVED, jobstore)) + + def print_jobs(self, jobstore=None, out=None): + """ + print_jobs(jobstore=None, out=sys.stdout) + + Prints out a textual listing of all jobs currently scheduled on either all job stores or + just a specific one. + + :param str|unicode jobstore: alias of the job store, ``None`` to list jobs from all stores + :param file out: a file-like object to print to (defaults to **sys.stdout** if nothing is + given) + + """ + out = out or sys.stdout + with self._jobstores_lock: + if self.state == STATE_STOPPED: + print("Pending jobs:", file=out) + if self._pending_jobs: + for job, jobstore_alias, replace_existing in self._pending_jobs: + if jobstore in (None, jobstore_alias): + print(f" {job}", file=out) + else: + print(" No pending jobs", file=out) + else: + for alias, store in sorted(self._jobstores.items()): + if jobstore in (None, alias): + print(f"Jobstore {alias}:", file=out) + jobs = store.get_all_jobs() + if jobs: + for job in jobs: + print(f" {job}", file=out) + else: + print(" No scheduled jobs", file=out) + + def export_jobs(self, outfile, jobstore=None): + """ + Export stored jobs as JSON. + + :param outfile: either a file object opened in text write mode ("w"), or a path + to the target file + :param jobstore: alias of the job store to export jobs from (if omitted, export + from all configured job stores) + + """ + import json + import pickle + from base64 import b64encode + + from apscheduler import version + + if self.state == STATE_STOPPED: + raise RuntimeError( + "the scheduler must have been started for job export to work" + ) + + def encode_with_pickle(obj): + return b64encode(pickle.dumps(obj, pickle.HIGHEST_PROTOCOL)).decode("ascii") + + def json_default(obj): + if hasattr(obj, "__getstate__") and hasattr(obj, "__setstate__"): + state = obj.__getstate__() + if isinstance(state, Mapping): + return { + "__apscheduler_class__": obj_to_ref(obj.__class__), + "__apscheduler_state__": state, + } + + return {"__apscheduler_pickle__": encode_with_pickle(obj)} + + with self._jobstores_lock: + all_jobs = [ + job + for alias, store in self._jobstores.items() + for job in store.get_all_jobs() + if jobstore in (None, alias) + ] + + with ExitStack() as stack: + if not hasattr(outfile, "write"): + outfile = stack.enter_context(open(outfile, "w")) + + json.dump( + { + "version": 1, + "scheduler_version": version, + "jobs": [job.__getstate__() for job in all_jobs], + }, + outfile, + default=json_default, + ) + + def import_jobs(self, infile, jobstore="default"): + """ + Import jobs previously exported via :meth:`export_jobs. + + :param infile: either a file object opened in text read mode ("r") or a path to + a JSON file containing previously exported jobs + :param jobstore: the alias of the job store to import the jobs to + + """ + import json + import pickle + from base64 import b64decode + + def json_object_hook(dct): + if pickle_data := dct.get("__apscheduler_pickle__"): + return pickle.loads(b64decode(pickle_data)) + + if obj_class := dct.get("__apscheduler_class__"): + if obj_state := dct.get("__apscheduler_state__"): + obj_class = ref_to_obj(obj_class) + obj = object.__new__(obj_class) + obj.__setstate__(obj_state) + return obj + + return dct + + jobstore = self._jobstores[jobstore] + with ExitStack() as stack: + if not hasattr(infile, "read"): + infile = stack.enter_context(open(infile)) + + data = json.load(infile, object_hook=json_object_hook) + if not isinstance(data, dict): + raise ValueError() + + if (version := data.get("version", None)) != 1: + raise ValueError(f"unrecognized version: {version}") + + for job_state in data["jobs"]: + job = object.__new__(Job) + job.__setstate__(job_state) + jobstore.add_job(job) + + @abstractmethod + def wakeup(self): + """ + Notifies the scheduler that there may be jobs due for execution. + Triggers :meth:`_process_jobs` to be run in an implementation specific manner. + """ + + # + # Private API + # + + def _configure(self, config): + # Set general options + self._logger = maybe_ref(config.pop("logger", None)) or getLogger( + "apscheduler.scheduler" + ) + self.timezone = astimezone(config.pop("timezone", None)) or get_localzone() + self.jobstore_retry_interval = float(config.pop("jobstore_retry_interval", 10)) + + # Set the job defaults + job_defaults = config.get("job_defaults", {}) + self._job_defaults = { + "misfire_grace_time": asint(job_defaults.get("misfire_grace_time", 1)), + "coalesce": asbool(job_defaults.get("coalesce", True)), + "max_instances": asint(job_defaults.get("max_instances", 1)), + } + + # Configure executors + self._executors.clear() + for alias, value in config.get("executors", {}).items(): + if isinstance(value, BaseExecutor): + self.add_executor(value, alias) + elif isinstance(value, MutableMapping): + executor_class = value.pop("class", None) + plugin = value.pop("type", None) + if plugin: + executor = self._create_plugin_instance("executor", plugin, value) + elif executor_class: + cls = maybe_ref(executor_class) + executor = cls(**value) + else: + raise ValueError( + f'Cannot create executor "{alias}" -- either "type" or "class" must be defined' + ) + + self.add_executor(executor, alias) + else: + raise TypeError( + f"Expected executor instance or dict for executors['{alias}'], got {value.__class__.__name__} instead" + ) + + # Configure job stores + self._jobstores.clear() + for alias, value in config.get("jobstores", {}).items(): + if isinstance(value, BaseJobStore): + self.add_jobstore(value, alias) + elif isinstance(value, MutableMapping): + jobstore_class = value.pop("class", None) + plugin = value.pop("type", None) + if plugin: + jobstore = self._create_plugin_instance("jobstore", plugin, value) + elif jobstore_class: + cls = maybe_ref(jobstore_class) + jobstore = cls(**value) + else: + raise ValueError( + f'Cannot create job store "{alias}" -- either "type" or "class" must be ' + "defined" + ) + + self.add_jobstore(jobstore, alias) + else: + raise TypeError( + f"Expected job store instance or dict for jobstores['{alias}'], got {value.__class__.__name__} instead" + ) + + def _create_default_executor(self): + """Creates a default executor store, specific to the particular scheduler type.""" + return ThreadPoolExecutor() + + def _create_default_jobstore(self): + """Creates a default job store, specific to the particular scheduler type.""" + return MemoryJobStore() + + def _lookup_executor(self, alias): + """ + Returns the executor instance by the given name from the list of executors that were added + to this scheduler. + + :type alias: str + :raises KeyError: if no executor by the given alias is not found + + """ + try: + return self._executors[alias] + except KeyError: + raise KeyError(f"No such executor: {alias}") + + def _lookup_jobstore(self, alias): + """ + Returns the job store instance by the given name from the list of job stores that were + added to this scheduler. + + :type alias: str + :raises KeyError: if no job store by the given alias is not found + + """ + try: + return self._jobstores[alias] + except KeyError: + raise KeyError(f"No such job store: {alias}") + + def _lookup_job(self, job_id, jobstore_alias): + """ + Finds a job by its ID. + + :type job_id: str + :param str jobstore_alias: alias of a job store to look in + :return tuple[Job, str]: a tuple of job, jobstore alias (jobstore alias is None in case of + a pending job) + :raises JobLookupError: if no job by the given ID is found. + + """ + if self.state == STATE_STOPPED: + # Check if the job is among the pending jobs + for job, alias, replace_existing in self._pending_jobs: + if job.id == job_id: + return job, None + else: + # Look in all job stores + for alias, store in self._jobstores.items(): + if jobstore_alias in (None, alias): + job = store.lookup_job(job_id) + if job is not None: + return job, alias + + raise JobLookupError(job_id) + + def _dispatch_event(self, event): + """ + Dispatches the given event to interested listeners. + + :param SchedulerEvent event: the event to send + + """ + with self._listeners_lock: + listeners = tuple(self._listeners) + + for cb, mask in listeners: + if event.code & mask: + try: + cb(event) + except BaseException: + self._logger.exception("Error notifying listener") + + def _check_uwsgi(self): + """Check if we're running under uWSGI with threads disabled.""" + uwsgi_module = sys.modules.get("uwsgi") + if not getattr(uwsgi_module, "has_threads", True): + raise RuntimeError( + "The scheduler seems to be running under uWSGI, but threads have " + "been disabled. You must run uWSGI with the --enable-threads " + "option for the scheduler to work." + ) + + def _real_add_job(self, job, jobstore_alias, replace_existing): + """ + :param Job job: the job to add + :param bool replace_existing: ``True`` to use update_job() in case the job already exists + in the store + + """ + # Fill in undefined values with defaults + replacements = {} + for key, value in self._job_defaults.items(): + if not hasattr(job, key): + replacements[key] = value + + # Calculate the next run time if there is none defined + if not hasattr(job, "next_run_time"): + now = datetime.now(self.timezone) + replacements["next_run_time"] = job.trigger.get_next_fire_time(None, now) + + # Apply any replacements + job._modify(**replacements) + + # Add the job to the given job store + store = self._lookup_jobstore(jobstore_alias) + try: + store.add_job(job) + except ConflictingIdError: + if replace_existing: + store.update_job(job) + else: + raise + + # Mark the job as no longer pending + job._jobstore_alias = jobstore_alias + + # Notify listeners that a new job has been added + event = JobEvent(EVENT_JOB_ADDED, job.id, jobstore_alias) + self._dispatch_event(event) + + self._logger.info('Added job "%s" to job store "%s"', job.name, jobstore_alias) + + # Notify the scheduler about the new job + if self.state == STATE_RUNNING: + self.wakeup() + + def _create_plugin_instance(self, type_, alias, constructor_kwargs): + """Creates an instance of the given plugin type, loading the plugin first if necessary.""" + plugin_container, class_container, base_class = { + "trigger": (self._trigger_plugins, self._trigger_classes, BaseTrigger), + "jobstore": (self._jobstore_plugins, self._jobstore_classes, BaseJobStore), + "executor": (self._executor_plugins, self._executor_classes, BaseExecutor), + }[type_] + + try: + plugin_cls = class_container[alias] + except KeyError: + if alias in plugin_container: + plugin_cls = class_container[alias] = plugin_container[alias].load() + if not issubclass(plugin_cls, base_class): + raise TypeError( + f"The {type_} entry point does not point to a {type_} class" + ) + else: + raise LookupError(f'No {type_} by the name "{alias}" was found') + + return plugin_cls(**constructor_kwargs) + + def _create_trigger(self, trigger, trigger_args): + if isinstance(trigger, BaseTrigger): + return trigger + elif trigger is None: + trigger = "date" + elif not isinstance(trigger, str): + raise TypeError( + f"Expected a trigger instance or string, got {trigger.__class__.__name__} instead" + ) + + # Use the scheduler's time zone if nothing else is specified + trigger_args.setdefault("timezone", self.timezone) + + # Instantiate the trigger class + return self._create_plugin_instance("trigger", trigger, trigger_args) + + def _create_lock(self): + """Creates a reentrant lock object.""" + return RLock() + + def _process_jobs(self): + """ + Iterates through jobs in every jobstore, starts jobs that are due and figures out how long + to wait for the next round. + + If the ``get_due_jobs()`` call raises an exception, a new wakeup is scheduled in at least + ``jobstore_retry_interval`` seconds. + + """ + if self.state == STATE_PAUSED: + self._logger.debug("Scheduler is paused -- not processing jobs") + return None + + self._logger.debug("Looking for jobs to run") + now = datetime.now(self.timezone) + next_wakeup_time = None + events = [] + + with self._jobstores_lock: + for jobstore_alias, jobstore in self._jobstores.items(): + try: + due_jobs = jobstore.get_due_jobs(now) + except Exception as e: + # Schedule a wakeup at least in jobstore_retry_interval seconds + self._logger.warning( + "Error getting due jobs from job store %r: %s", + jobstore_alias, + e, + ) + retry_wakeup_time = now + timedelta( + seconds=self.jobstore_retry_interval + ) + if not next_wakeup_time or next_wakeup_time > retry_wakeup_time: + next_wakeup_time = retry_wakeup_time + + continue + + for job in due_jobs: + # Look up the job's executor + try: + executor = self._lookup_executor(job.executor) + except BaseException: + self._logger.error( + 'Executor lookup ("%s") failed for job "%s" -- removing it from the ' + "job store", + job.executor, + job, + ) + self.remove_job(job.id, jobstore_alias) + continue + + run_times = job._get_run_times(now) + run_times = ( + run_times[-1:] if run_times and job.coalesce else run_times + ) + if run_times: + try: + executor.submit_job(job, run_times) + except MaxInstancesReachedError: + self._logger.warning( + 'Execution of job "%s" skipped: maximum number of running ' + "instances reached (%d)", + job, + job.max_instances, + ) + event = JobSubmissionEvent( + EVENT_JOB_MAX_INSTANCES, + job.id, + jobstore_alias, + run_times, + ) + events.append(event) + except BaseException: + self._logger.exception( + 'Error submitting job "%s" to executor "%s"', + job, + job.executor, + ) + else: + event = JobSubmissionEvent( + EVENT_JOB_SUBMITTED, job.id, jobstore_alias, run_times + ) + events.append(event) + + # Update the job if it has a next execution time. + # Otherwise remove it from the job store. + job_next_run = job.trigger.get_next_fire_time( + run_times[-1], now + ) + if job_next_run: + job._modify(next_run_time=job_next_run) + jobstore.update_job(job) + else: + self.remove_job(job.id, jobstore_alias) + + # Set a new next wakeup time if there isn't one yet or + # the jobstore has an even earlier one + jobstore_next_run_time = jobstore.get_next_run_time() + if jobstore_next_run_time and ( + next_wakeup_time is None + or jobstore_next_run_time < next_wakeup_time + ): + next_wakeup_time = jobstore_next_run_time.astimezone(self.timezone) + + # Dispatch collected events + for event in events: + self._dispatch_event(event) + + # Determine the delay until this method should be called again + if self.state == STATE_PAUSED: + wait_seconds = None + self._logger.debug("Scheduler is paused; waiting until resume() is called") + elif next_wakeup_time is None: + wait_seconds = None + self._logger.debug("No jobs; waiting until a job is added") + else: + now = datetime.now(self.timezone) + wait_seconds = min( + max((next_wakeup_time - now).total_seconds(), 0), TIMEOUT_MAX + ) + self._logger.debug( + "Next wakeup is due at %s (in %f seconds)", + next_wakeup_time, + wait_seconds, + ) + + return wait_seconds diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/blocking.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/blocking.py new file mode 100644 index 0000000..0330885 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/blocking.py @@ -0,0 +1,33 @@ +from threading import TIMEOUT_MAX, Event + +from apscheduler.schedulers.base import STATE_STOPPED, BaseScheduler + + +class BlockingScheduler(BaseScheduler): + """ + A scheduler that runs in the foreground + (:meth:`~apscheduler.schedulers.base.BaseScheduler.start` will block). + """ + + _event = None + + def start(self, *args, **kwargs): + if self._event is None or self._event.is_set(): + self._event = Event() + + super().start(*args, **kwargs) + self._main_loop() + + def shutdown(self, wait=True): + super().shutdown(wait) + self._event.set() + + def _main_loop(self): + wait_seconds = TIMEOUT_MAX + while self.state != STATE_STOPPED: + self._event.wait(wait_seconds) + self._event.clear() + wait_seconds = self._process_jobs() + + def wakeup(self): + self._event.set() diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/gevent.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/gevent.py new file mode 100644 index 0000000..e32ad64 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/gevent.py @@ -0,0 +1,34 @@ +from apscheduler.schedulers.base import BaseScheduler +from apscheduler.schedulers.blocking import BlockingScheduler + +try: + import gevent + from gevent.event import Event + from gevent.lock import RLock +except ImportError as exc: # pragma: nocover + raise ImportError("GeventScheduler requires gevent installed") from exc + + +class GeventScheduler(BlockingScheduler): + """A scheduler that runs as a Gevent greenlet.""" + + _greenlet = None + + def start(self, *args, **kwargs): + self._event = Event() + BaseScheduler.start(self, *args, **kwargs) + self._greenlet = gevent.spawn(self._main_loop) + return self._greenlet + + def shutdown(self, *args, **kwargs): + super().shutdown(*args, **kwargs) + self._greenlet.join() + del self._greenlet + + def _create_lock(self): + return RLock() + + def _create_default_executor(self): + from apscheduler.executors.gevent import GeventExecutor + + return GeventExecutor() diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/qt.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/qt.py new file mode 100644 index 0000000..457b539 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/qt.py @@ -0,0 +1,44 @@ +from importlib import import_module +from itertools import product + +from apscheduler.schedulers.base import BaseScheduler + +for version, pkgname in product(range(6, 1, -1), ("PySide", "PyQt")): + try: + qtcore = import_module(pkgname + str(version) + ".QtCore") + except ImportError: + pass + else: + QTimer = qtcore.QTimer + break +else: + raise ImportError("QtScheduler requires either PySide/PyQt (v6 to v2) installed") + + +class QtScheduler(BaseScheduler): + """A scheduler that runs in a Qt event loop.""" + + _timer = None + + def shutdown(self, *args, **kwargs): + super().shutdown(*args, **kwargs) + self._stop_timer() + + def _start_timer(self, wait_seconds): + self._stop_timer() + if wait_seconds is not None: + wait_time = min(int(wait_seconds * 1000), 2147483647) + self._timer = QTimer.singleShot(wait_time, self._process_jobs) + + def _stop_timer(self): + if self._timer: + if self._timer.isActive(): + self._timer.stop() + del self._timer + + def wakeup(self): + self._start_timer(0) + + def _process_jobs(self): + wait_seconds = super()._process_jobs() + self._start_timer(wait_seconds) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/tornado.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/tornado.py new file mode 100644 index 0000000..96741b7 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/tornado.py @@ -0,0 +1,65 @@ +from datetime import timedelta +from functools import wraps + +from apscheduler.schedulers.base import BaseScheduler +from apscheduler.util import maybe_ref + +try: + from tornado.ioloop import IOLoop +except ImportError as exc: # pragma: nocover + raise ImportError("TornadoScheduler requires tornado installed") from exc + + +def run_in_ioloop(func): + @wraps(func) + def wrapper(self, *args, **kwargs): + self._ioloop.add_callback(func, self, *args, **kwargs) + + return wrapper + + +class TornadoScheduler(BaseScheduler): + """ + A scheduler that runs on a Tornado IOLoop. + + The default executor can run jobs based on native coroutines (``async def``). + + =========== =============================================================== + ``io_loop`` Tornado IOLoop instance to use (defaults to the global IO loop) + =========== =============================================================== + """ + + _ioloop = None + _timeout = None + + @run_in_ioloop + def shutdown(self, wait=True): + super().shutdown(wait) + self._stop_timer() + + def _configure(self, config): + self._ioloop = maybe_ref(config.pop("io_loop", None)) or IOLoop.current() + super()._configure(config) + + def _start_timer(self, wait_seconds): + self._stop_timer() + if wait_seconds is not None: + self._timeout = self._ioloop.add_timeout( + timedelta(seconds=wait_seconds), self.wakeup + ) + + def _stop_timer(self): + if self._timeout: + self._ioloop.remove_timeout(self._timeout) + del self._timeout + + def _create_default_executor(self): + from apscheduler.executors.tornado import TornadoExecutor + + return TornadoExecutor() + + @run_in_ioloop + def wakeup(self): + self._stop_timer() + wait_seconds = self._process_jobs() + self._start_timer(wait_seconds) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/twisted.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/twisted.py new file mode 100644 index 0000000..7a3622c --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/schedulers/twisted.py @@ -0,0 +1,62 @@ +from functools import wraps + +from apscheduler.schedulers.base import BaseScheduler +from apscheduler.util import maybe_ref + +try: + from twisted.internet import reactor as default_reactor +except ImportError as exc: # pragma: nocover + raise ImportError("TwistedScheduler requires Twisted installed") from exc + + +def run_in_reactor(func): + @wraps(func) + def wrapper(self, *args, **kwargs): + self._reactor.callFromThread(func, self, *args, **kwargs) + + return wrapper + + +class TwistedScheduler(BaseScheduler): + """ + A scheduler that runs on a Twisted reactor. + + Extra options: + + =========== ======================================================== + ``reactor`` Reactor instance to use (defaults to the global reactor) + =========== ======================================================== + """ + + _reactor = None + _delayedcall = None + + def _configure(self, config): + self._reactor = maybe_ref(config.pop("reactor", default_reactor)) + super()._configure(config) + + @run_in_reactor + def shutdown(self, wait=True): + super().shutdown(wait) + self._stop_timer() + + def _start_timer(self, wait_seconds): + self._stop_timer() + if wait_seconds is not None: + self._delayedcall = self._reactor.callLater(wait_seconds, self.wakeup) + + def _stop_timer(self): + if self._delayedcall and self._delayedcall.active(): + self._delayedcall.cancel() + del self._delayedcall + + @run_in_reactor + def wakeup(self): + self._stop_timer() + wait_seconds = self._process_jobs() + self._start_timer(wait_seconds) + + def _create_default_executor(self): + from apscheduler.executors.twisted import TwistedExecutor + + return TwistedExecutor() diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__init__.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7d6c3bc4289595a701d2261d66cd0f3b53aeacb5 GIT binary patch literal 194 zcmZ3^%ge<81iN){l?R%*!l^kJl@x{Ka9Dn-7w%TzcxCu$6j==KRG-0(>Ud($@pvttHU$1;$&{8CWvlnr8%JA{|^2rmos zY30BoHWmNcq=A-mBqlj^P8U)~p*B}=TUv}CRhgziVYVI*_f3j`OwW^OK> zc4p3;uEAiR2+}b)>6qN;SlsNCM44NAocXO?lVof=y{<)Mo=%*LiU&|vL&%4Z6h1cob9t|U^Vz+;` z?y`_}!E5Hbu@6H0I+dBSLb>B?M4@n;=6o^L9x%y*LQAtSH;`h>i(+M?Q5!vIr{PcM zY339pWE%T6Q>lmizm1g`YHU-fSsPiyH&xe$O_AYO#TG`+~>5kgYrf z)xv{s4u;9frqDL#|IFsjm2+5WzP`Qy-Y7iS-Sjzy5phdM^HzmEJ^c<0_Q}Zj(Hxn| z903YOhDL1UO`pTe<0;0W%0}h^aEHarQ|kbv4hzX0kOxGS*vSl{SjeNm+Y!`pW+QSO z+8t8HxfgCyMrFE@ZZSU=^cq6_v8Ms+jsF3c5dw?Os&A)!2HF%X+a4T6taG)L4Fv`qu{#0%nphH=mpl14qMgd2q%3M#@#v3orY zg<3R!&Fd8gX(VC%vE!WgWj0F3X%ymbET(_QdpoPsq7aHAOk=w+jc{C9$Y&|pkO&O8 zEUS6Q4NKycom8@eO{#I|^&%NGN)j*mWN9{#q>^cri?FB=xR?!D$E|f64{K;=J9geX zUkNiy@1pEyKz7Mwl`OtLUby<}Dv+Z~SI3K2kC!k1Jom?kzc-)1{rsyJYxiER-5b;O z7j*q4(B<`UZCx&d>_(%O)NDIsfw1jl-nN4X%M`|ow*5oQ{CuTq+dOh%dd{|$A8BRV z68)A-NLG>HMUv`Fp-$%MS4_vI4(Urersj-?s56j#H^MVCj`ieMJn&? zJ<29lmdf{y3AvbNhR_E7vf$^%(qBlUDpz1Gu~^rYSlX$RNo{)7rl*v-HtX)I+UHs1 zU&s$Y4C`EtfJ`jIFpfxlH+_!CN8^j$BXVUt`%WsC4fOtE`qQ0km^Y;QjvuA2grgf?{(>B#63O?bopftTNC}FkbbH5;bfj|CC?NuUg3yJ7A)J%v@v#jfe zE!&!*TZy0(P-I(m!c^K?Ms)(Lj8LhlX@014&ob80@(hr z(|tistGXhale(>%x8<};aqbfcF)HEtqnvI@_M9r&vb7)?x@2Y5ls2QOiiFLwxksn5 zRYlTV6qY2X7v&{yk0U5G(T1Xq44{GNGJl!HESQkm8)YUwnW30I71(g!sKniSF~(k`YX z&q$$OgBG!WDFqW-VEY^42rVmz-Eoy+Y$5evYDU_?MZvXflJB8WUJR1tt20nZ$wAQ# zNd`lf(%S5t4Z>~{e(-BiHWkU5(`L9p+4@yUD4LbRF!saN$A+?|ky0&7${4p*i|vwY zqNmrR5-8H3WvUE{F@tbQAdgd(@1O3Hdlr1MMHXa zpIn83n55$h8YJijXmzc_%yH!*HLltDBH5>@zL!(syTA)s($z)DgB?z53o2|%)fr1* zHYNiD%UlhENxG(QGP;<=WM&`JDq+mZL{nk}TE(U(i5D<#msnTSSlCo&R8!Scs>f%> zPgi&@10|3OorWAi0bB|+WAkFC8CEFiOaaW7#DmC(X&X)q3YylQHN4fay8$ z5lJSu4*@U+Sqoa05zPIrhnJ~_J!e>?zHs@90e!Mz-5T~K{TPbD8Cl%~Gj&oBz75y- z)2f`M`5xNgOX{?lBLSQY|tavf(K5` zF;!Mg%}}Iadnv0SrlpqM)23Z8Qa~G*s3a`R2QlFwH*vRDC6mRxaX0q;4qzS_ z$K3$=yMRf5nTHzZ=>``j$gz34N8WxI+9@M3fDsu|)#>nPF(Vln%|`6w=IPQ4Lw0eJ z$AZJm8kVI^BTr$o8n83%aOaVpl0uGi4@*^AlFWe|@UCeUk|Y38F6NQxDIDfnsX0~2 zrO9o&$jN`COrHAO)?{W79@L0rkOGsTvjLU`v#B0ZqN-uH^TYrM64^AYmy~+mn0Au_ zMK=|3DrmOjM;^Qbh1pA^ z`>DW*NMLif_cFN_B+E9Xf^;1ms-fH7$9wrHqdH7$Y)66K?MR8}pr;vsA^iCTLHzD4 z_VSTXh?<>tbsR&5=;vsC;q?@Rq*q5M^6G+MyN5JP5z{ZZ7G}?eI(ufUk#3l9=n$dDk zSeQj}ai2o45Gphkgn5r2Uy7e&CtuWdBP92D(87Fe&%(S1lk(m1Es#bD<^XVcd#~$n zN598~y8e(-o!PGYL_u%0U#PAo2#UXPPd^9O=e=E-FQDb|qJCt7QD*LKz!lhuOA+42 zAsnZ|;Pr%PhKYLGLw>M&u9Gr3xFv)sWaWt1s2``GEu{^8Hh-jQWAHe1lqR@pR*Ewa zj*XtzOthIX!p`i52;R-=Op=dDggZgoz%q3P$83$bXZFx|^iSk;PQ7TFhM8z_0+yPd z*%jk1Mp&~rX22FLO5w5kY`;4;hn!+;+OX+Q)lGFQv!v>`$I{yLSau1SkN(o=@#ABb zW~)cD$j*^TSYvY5bB<$fOt8kPr{yX;N3%;#IGNOR%}yrs(uLg*;-giFw?LXT1iic~ zYz+u49b1Awa{5W%q4hhZzGLOSWA`TRU%PkhfBFu6w*0q0`}Aj}zEkDCQ`Gsiv-e)$ zezelnhfj0GZFR)aiahC+)_Y66Bjw(aV(;014m^zhQ_I5^jI=(953JrP#fQuBVKigz z>?fT)tAp#IjnJn3aJkrdvDA67+<6fI(WlL=_s3T|*7g^hC-6RI&t-xoM4@^2q?ZhG+*)O0hg~r z`3tpvtP2>7EC(Wj?KwZVNkCyu%tYb^&0L7S}0eXwd%U7f6&JxU-C41~YY4KQkh z`ra1>o1&om3<{=S6mAN7U{Sc^zbPz=_br{=q~~t1ZoMmt!I9RrT?gbN_hOUHy3f2v zDTDVM>*wIg7aj-K>w-je=FZTx9BRPZR)vE*7v{Y%(ujAtsnE1ux6A6Bow$L)qilic zhS`akp1ZHj+c|St)cXp;I;9fNJS@yme!-rCuThR~3oGLNSKx|od_&sx4LPQ7NRo+8 zCqQYB6J%KrPc&H8!hEHlJSD-g)P*N8FH*CXt}s<^a<7iK2W1zVaL}2o6QffQnFnh! zAC1dSwC%hTOUl`7dMU|MC+0B|VRMks4^wf3iepq9N8v>15BxIm$X7~?m-@y_9pft#mHvb4fB4roHx8Ei zMmFAqmtDEIP4_z(AudYTa@&50B8xi^r!A*7c*NRHKZ#4i1*4h94_up^DK;2e{&@=F~ zPg;9xC9)L~+B)tp13cEZ-m`Jz%Xc3i7%v_euXOKUv40y9dJe!rZ}eI$DZfDaWtenw$9Xf%O}o zPCafNE4GeRhDLw!)4%&^Y3O8m=wz|&Al|3l`@il^Jnl|xBsOn6eCO9Mmbx#MyDt^n zE`9qW;ssI*9_{^nlqJkd* zD2t(f_Mq;$Q`9{tfI2fh0-7ZU>zQB86*lyG*;PZY=L~1bA$#r+bHD*|G%p%4} z++13cNf-fa)K-x^3_j0L>Y*MGiW?~I3QxP^m7e~!UP%6(&B2F99w}dG#rTyMftSTI_hU(mSv=20dMi@uI8u!NOK+xGlOR@FEg54+F6iWCS?@ zI?SXz(P4zx&O|YO6uA}4GM-dfYqmM>9%mi&7vOV!r+$@NSSPLW{3ra)Gt*Ht| zf}aE%V;s_EQ3=&%{~1=mfq<<;G@fkF zY9=bth7nKc>Z2OgY_35mE%l13iGM*yFfX36L_T)iJcs=-ea%akk(A@|OT(`ddE9m( z4U*Xnfvd$*K0p_V`6DCJbk4>V25zq0A>0__^3OoJkKCRTd*t&Td|gf1tQ4RGQm9JoCYsm7D8gsrg{J8NUB<^Pyt%A>^7{K5_3)#LbhBdde?dfG4(rduM7gd9_Z&>mn;U*!KHj*GU3XR&qG|yO>qnI6y5~J=yn^o%cVHEi=1&3$ zTP@cUfn9BlENELimk&~6b}run`*CkK&mGl0C$s0%`)g$M%k`&5tK;tgZ~88E~0P(^M|dQ& zA3`En?ijvzvC`VH^4?)Jhn7+Hf8<+ z71RgM&gws+dcb^*`l-%)U#DId;xg5vTz#U+WX7QDYJ?S}MfB4j4=qkpGN~9TbR+Os zX~Ra~F%J>GaVlP=;t~~<6#Y_QEMW>}((#cMRI&aO#a-{;mhV_Fyd_Yfh|#^FyOX$% z>FTcF?d+;_bkfV4!y}bLM=B`$4{Yr}5Tpx=A1p74Qt&c>o+&59ND#SJW6{+Td=0?Q zlzp+_>*)WXlJAuEc0JMVfPXVN{Psz~m^?5S3RxTvp+|X@tc-DYf?tzG}(D} z(QlF;a(e2nyhf{6UZeE?LQKkKoVNP$9RBYFzu%*L#biE#vHT`A4^uIOVmo}63--L3 zM3a2H^(_hnTT!eC2aApGQ{im!_j@ZsSF!PZDjX;_zE6eY#m0Bb7Z810!vCk(Gw%~g T7|;K#E_};JfAa%Cj3xgE>rS%Kk8-X?A+gT?z!il^WDp*wY44s>GRJIPXD=%kiTKZO3wVp<{W(7ATp7;Fo|$u z9Eab0n2!i!Lc}rV;0RC75?OeQ$PR_OEf8`SUNen3S)CK=suX8gT@|aVhB{Y8UA62U zCVtOXIE)^q}~`K&7#gsB<9V0_P3Qw>g)LC#F4$!++!Yh|&{?k@|s1kk=?=qoHL85eD_ z5#G(81Gzz_px?#b1> zgQ2jb>%m~w8w^e?xG2)6;OB|wSXk8!P<8A?{JCv3TNo*D zEUbm3uzmtQtZuLkiGCW$BFPb9_frM(u&Mo@0%_>Dc{bB=FkK(W)CcZYuOB+ScIb5a z(3#AkGb!KMoKVt*`d}b1uj)C4>Z%qkSQsod99YM&=ZOyc%1(L%)wQw_s0yq6TYMdWBOO57N9Q3X# z^oG65c;IkoenHDUf}C=7q1|b6@h3k69t%8}Cn`6e5`5|S3qnFj;*2X&LMUtLNH~(X z4=YlFD{aZ)cCzJ4qBp5X2}gOKYj2=0^1Fs;JG7<^K;q(A%@B2ks!~{uE3zm{h9pjE zRLt9v7ttwrdjfsXP9u`AVRGd)6X(=j)6`A=pW`BN9R)9T_ z^<0p`v&xHjJ-Ylxl1tZgWoo*TudUVe zq-uJ;Z0N}GT>b0Z{pVJ9XO0Z!2xd&W(b#hRM5eJfClt!enn!}rh+Cr(H+St*IS*;+ zxOwinhJJOUwT*e%JzdFx%$`7wINZIAyz}zXndKLO;mr%_hJBfaeM^HI&AV^R{CXz2 zH{INmY3^A%yWwqI_lj#?F}W-4-JkL9PkHxmczxGi&X=~Nz5a~XpJGqWZ4GU1McZG( zl&j!1w<3I?A5X$>Wh(aGg^dNJ_SS-Ld)rWt3?Z$z2MFlJZ#68EZE*!YJ zaCO0dBJS=J&0u>xOZ?7k71&`!GMLFw5risoY8{X*@@8mJREg0Y!kk&%jr~pmfwit{ zU$5(0tLs9=4Q0H0nF2Tb2k*6~yvI`B?wgKVHSl9Tt6h((9X`)v0tA=IbZZpdqu<4( z%X)&rh=#G)wBI*prLbw`7-00UW@xo%O;JSw{}W&XkHARzYEjk2kQUWdS)t&-z#)MvngqdI^;e+Zo0_vaR}RB_p&a60Yx<3U?VbLQgT#5CxTvj^C6J8xwrWn z#7&m?C2o=j%#R#H#1krb`IA|;MWDq1PM77J=h8R`mRBcu-G}0Z=L=+bn zO&{L|x%lCN&kR%!yVaTD40O{6fPBpk4Q+@k@&pbIIf2x-uKRk|e7&h>j<4!z-(bc! z2q%T&cBaS2H32w<$T2HK)F=??O13r#Kr1{SG);_wGngELTZ-pA`W!a**b~>yNr5Sv zlR5&`@jW|E>NGUb-vjbB&Vcv0d*Db>EMC!s@+XWoJYlpUjB0yo>3q&bd`-*oRNd3? zY_zm58(-EpEswq5dA;+K!8@LhUitWywfZBe`Xf-c-r`?t@!#pa|JuESt4)7ue-KKy zoX@nJPx;ROy?OV|-uJcZ+Om+_1ycOm$VldsRuw`cZSX#cfO2K()&O}Dl z;I4mqb>ZR@zE3Q%X|yC%_2#ocendDtLXnG&<)`G*F)xrC97nD-;ZA0#1#DT+4N6;J z5FN#|PPXo2QwkV(jGl;h7p)~g7z6NCkyTpFevBg=0P+v`TO=v}2t2FLf429|)JosI zJ~LlTnX*>|>W4mA$0be8A6Lsk9h?Rj&v-+n9Iqi$)B*yz*7ds1wYtuv<5TzV-6p38 z@)r^KO8ZALK*f=aIFha#&D4#iT%(Nt&`LEGp+9{F30@uH=|k2+0MZU(5e`n#Ud!=W zKb9fEX8JiGi}qiRZ*aPD1jzwX--uYP#@Ul2HfiIW7x3J$C1rxKp+hjLoh$?U_Grxg z3eAUT=_ITz3k}}^jFp7D?ZDGFA+a(Hwl%bymgb7k8U%Bd+TmQ^4uEOY!e9T-aLbem z05A&Ib%_4*7ltOHlNCI$0(1iy3kb!E2L()Fqd8V@p&tt=^obFv07!I2i6C^CP?)-4 zPXNq8IHar55JG1KPzeBO$%NZ6xXMDbxh3CXD8ps|*ll}&Y_9PRpdtxIYJ!S9q~N|0 zQs70QQ0@-#mW28NB3QO=8$W*R6!yW%+OVP$Ft8gBVW`A^{&z6}{XPgt(G_nM;t$yy z@mogtDIBN};hW*qCgjOOUkgO|+NO1H&ziRtKL4)9HNJ|?h*_VWzRWZi{0UlblFLoVNWS~EDUJwPBn>>4$n@)|&gc~JlDpG8F=dI&#m)YzA zq|pp#d>~66KpM>#I1u%I8<6y_(af&VCC^69F6iiPg-f6H#_qMo?oUE@dOy-W*6tgB zy!v1;-FPn3crN8V_pq^L`Ps^qK-E^ZH81y$;BfJxs^+1!P->A6W2? z*H>_T6ImPvg3zJmyszt`Wv- zh`xx-$}VjX22doU@K%5VFMP{dZ~hxNYzfm=cg I8Zce{3xEItwEzGB literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__pycache__/date.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__pycache__/date.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0f2b1057e28fcb96c204f6e47729f8bc394c70e0 GIT binary patch literal 3047 zcmZ`*&5smC6tC`{p6Q)omybc&l|_q>unxkGu!2GW6NUIaNK_KXkfwLKcDL7_?ymBvu2xPI z6SALh^>VV9ET@X8vQab?qLMd=t$$7IBuiY^2)PNrs1*n7)CVMIJj7v62@Ts4OgLo* z{lRG_OxG`2Zq4_Qka^7t*oWMio@P9!g=s6mnaB*YCEuH4T$sW)V-?|G+%q|=@KSq8 z`KPuAt4E=8i7--BY*JKhrKs6zF=40e#MequN27~LI|-PwQ-FqT01ns#fN5I;(=%b_ z1lZg*%NkG!NmFQTLO^}5!~m$6VRYJ=V;+so8mDhf(R1f`)sr@#J4c;>x@<~NR<4No zy|h&2oOy!cHj!5im_44B>W@?`Zk0Q#>Ve=iR&+$Jg{$PHr0|g?iL?GBwZ#8v7#B6i zoARZi_*g*^u8b#4r+ogHty9zy)b?56jR`tq&EYN?wOr0DdtNRP8nH=*Qpe?R;22go zUcD|)U%;8gt*%~&(ajE}GAMc^asJJCDp^qL%9q0;4pN}kl{)yaKg8<9>}asb2Sf~X z6p-1D?BnY`E|pUYJOhHcB!?s+Jb{oxKq|)-Le29(hqz1x%$<_t(1=emzzGl)k51=j z{4&c=`T~E<<1AmEXWm@ibtdzbc`@UA6XW~$=L1KueHE+psWr`lyj2NGGt92KjORs^ z06`udJYJa(4byZyN0?@9b5A6W$J8vW9J~#%NbY5~U7lIajy1DmjqH)%j@@|m)~id# zN+#RLJa=z2f7|%u`MYl~kDh9do?1F_{=Fr59*pj~^6sz0%cBRHqX%N*Drh5p9z}oQ z7FUM>E`c8wQ*|;6{iu16U63nE;f4~OqQ-}S6K<+-Hs|=&z?^b8Gx4l2gMJ6q>;Cy~y*Mfe5?8?F2Z1MmDcAO|U8u;3II%aIdw!oNXwE z_JEyRM}OUQYhPpiEBG3(L}tc?3Z@VYH)&=FolB%IZ4}Wn^E&izcE;SOE4DI%8f05g z>dLhaH>Tphjmgs|Yb&2(q!Yed;OgyWYoJl>YW$Jd2{zy+5VDg7xiW zR~k|cQ%W`&CaD6)Fyc6+M&IxS4H$PU*QqfZE1o5bQQHf&mZ1I=t?k@PC#wQVkULLf z)_z*DJUYpsI(fFs>?rn9VcH2C4}1faIn+h9;<8W!Z-wbImRn^fIrn)uV45Y@3Ifx_ z1oNyi_%V`KquAA@a|1j`+I4#HM5lK-6hwmW02axE%u^TG)sL1lJDZuEEusu;TiHBv zdHcmTmrmZ#Z2120w}&r$d`(%->}Y0oTs!?&W_KgA``)I}ma1%gU%7qokCEoY>mUY$ z2v@ROE*@`Y_q4PwE#my6Y1yHF2|$ZzgF~$}8F}{dY;!oblsG@Q1kc*EK!3`3I{+O_ zi@t~>vz-*`_b>Qdy^2?(R;cOVF80YIN9ocRZKi+d+=+KzQkM{6a1I ztZKPY42N*owqF7=M0nu(0wSDmM2oTb@vR8E5XKPp0Nfx_yR2&*zZE6mEgF0Su-JK8 zs;(O?f-pojZe4thpO5mg4o7+}(ed~a9iN0xN{(Lv;f7v*RXA>R(PP<*oGG`S#~~JM zc^r?7qtPiJ=MzA~kd}!J>8B_wWLu;Ey-&6``rrFxf203hA@4Mv{I-&N6xjY+xbVV1 MNd5PJSkm180GT7%@&Et; literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__pycache__/interval.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/__pycache__/interval.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0da49c3e98a1e0cc0576d7034820c065bebb8937 GIT binary patch literal 6599 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 XX}LkuFpyi*J6B&4&M&XwlivOh{Q1xv literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/base.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/base.py new file mode 100644 index 0000000..917af8c --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/base.py @@ -0,0 +1,35 @@ +import random +from abc import ABCMeta, abstractmethod +from datetime import timedelta + + +class BaseTrigger(metaclass=ABCMeta): + """Abstract base class that defines the interface that every trigger must implement.""" + + __slots__ = () + + @abstractmethod + def get_next_fire_time(self, previous_fire_time, now): + """ + Returns the next datetime to fire on, If no such datetime can be calculated, returns + ``None``. + + :param datetime.datetime previous_fire_time: the previous time the trigger was fired + :param datetime.datetime now: current datetime + """ + + def _apply_jitter(self, next_fire_time, jitter, now): + """ + Randomize ``next_fire_time`` by adding a random value (the jitter). + + :param datetime.datetime|None next_fire_time: next fire time without jitter applied. If + ``None``, returns ``None``. + :param int|None jitter: maximum number of seconds to add to ``next_fire_time`` + (if ``None`` or ``0``, returns ``next_fire_time``) + :param datetime.datetime now: current datetime + :return datetime.datetime|None: next fire time with a jitter. + """ + if next_fire_time is None or not jitter: + return next_fire_time + + return next_fire_time + timedelta(seconds=random.uniform(0, jitter)) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/calendarinterval.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/calendarinterval.py new file mode 100644 index 0000000..cd86048 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/calendarinterval.py @@ -0,0 +1,186 @@ +from __future__ import annotations + +from datetime import date, datetime, time, timedelta, tzinfo +from typing import Any + +from tzlocal import get_localzone + +from apscheduler.triggers.base import BaseTrigger +from apscheduler.util import ( + asdate, + astimezone, + timezone_repr, +) + + +class CalendarIntervalTrigger(BaseTrigger): + """ + Runs the task on specified calendar-based intervals always at the same exact time of + day. + + When calculating the next date, the ``years`` and ``months`` parameters are first + added to the previous date while keeping the day of the month constant. This is + repeated until the resulting date is valid. After that, the ``weeks`` and ``days`` + parameters are added to that date. Finally, the date is combined with the given time + (hour, minute, second) to form the final datetime. + + This means that if the ``days`` or ``weeks`` parameters are not used, the task will + always be executed on the same day of the month at the same wall clock time, + assuming the date and time are valid. + + If the resulting datetime is invalid due to a daylight saving forward shift, the + date is discarded and the process moves on to the next date. If instead the datetime + is ambiguous due to a backward DST shift, the earlier of the two resulting datetimes + is used. + + If no previous run time is specified when requesting a new run time (like when + starting for the first time or resuming after being paused), ``start_date`` is used + as a reference and the next valid datetime equal to or later than the current time + will be returned. Otherwise, the next valid datetime starting from the previous run + time is returned, even if it's in the past. + + .. warning:: Be wary of setting a start date near the end of the month (29. – 31.) + if you have ``months`` specified in your interval, as this will skip the months + when those days do not exist. Likewise, setting the start date on the leap day + (February 29th) and having ``years`` defined may cause some years to be skipped. + + Users are also discouraged from using a time inside the target timezone's DST + switching period (typically around 2 am) since a date could either be skipped or + repeated due to the specified wall clock time either occurring twice or not at + all. + + :param years: number of years to wait + :param months: number of months to wait + :param weeks: number of weeks to wait + :param days: number of days to wait + :param hour: hour to run the task at + :param minute: minute to run the task at + :param second: second to run the task at + :param start_date: first date to trigger on (defaults to current date if omitted) + :param end_date: latest possible date to trigger on + :param timezone: time zone to use for calculating the next fire time (defaults + to scheduler timezone if created via the scheduler, otherwise the local time + zone) + :param jitter: delay the job execution by ``jitter`` seconds at most + """ + + __slots__ = ( + "years", + "months", + "weeks", + "days", + "start_date", + "end_date", + "timezone", + "jitter", + "_time", + ) + + def __init__( + self, + *, + years: int = 0, + months: int = 0, + weeks: int = 0, + days: int = 0, + hour: int = 0, + minute: int = 0, + second: int = 0, + start_date: date | str | None = None, + end_date: date | str | None = None, + timezone: str | tzinfo | None = None, + jitter: int | None = None, + ): + if timezone: + self.timezone = astimezone(timezone) + else: + self.timezone = astimezone(get_localzone()) + + self.years = years + self.months = months + self.weeks = weeks + self.days = days + self.start_date = asdate(start_date) or date.today() + self.end_date = asdate(end_date) + self.jitter = jitter + self._time = time(hour, minute, second, tzinfo=self.timezone) + + if self.years == self.months == self.weeks == self.days == 0: + raise ValueError("interval must be at least 1 day long") + + if self.end_date and self.start_date > self.end_date: + raise ValueError("end_date cannot be earlier than start_date") + + def get_next_fire_time( + self, previous_fire_time: datetime | None, now: datetime + ) -> datetime | None: + while True: + if previous_fire_time: + year, month = previous_fire_time.year, previous_fire_time.month + while True: + month += self.months + year += self.years + (month - 1) // 12 + month = (month - 1) % 12 + 1 + try: + next_date = date(year, month, previous_fire_time.day) + except ValueError: + pass # Nonexistent date + else: + next_date += timedelta(self.days + self.weeks * 7) + break + else: + next_date = self.start_date + + # Don't return any date past end_date + if self.end_date and next_date > self.end_date: + return None + + # Combine the date with the designated time and normalize the result + timestamp = datetime.combine(next_date, self._time).timestamp() + next_time = datetime.fromtimestamp(timestamp, self.timezone) + + # Check if the time is off due to normalization and a forward DST shift + if next_time.timetz() != self._time: + previous_fire_time = next_time.date() + else: + return self._apply_jitter(next_time, self.jitter, now) + + def __getstate__(self) -> dict[str, Any]: + return { + "version": 1, + "interval": [self.years, self.months, self.weeks, self.days], + "time": [self._time.hour, self._time.minute, self._time.second], + "start_date": self.start_date, + "end_date": self.end_date, + "timezone": self.timezone, + "jitter": self.jitter, + } + + def __setstate__(self, state: dict[str, Any]) -> None: + if state.get("version", 1) > 1: + raise ValueError( + f"Got serialized data for version {state['version']} of " + f"{self.__class__.__name__}, but only versions up to 1 can be handled" + ) + + self.years, self.months, self.weeks, self.days = state["interval"] + self.start_date = state["start_date"] + self.end_date = state["end_date"] + self.timezone = state["timezone"] + self.jitter = state["jitter"] + self._time = time(*state["time"], tzinfo=self.timezone) + + def __repr__(self) -> str: + fields = [] + for field in "years", "months", "weeks", "days": + value = getattr(self, field) + if value > 0: + fields.append(f"{field}={value}") + + fields.append(f"time={self._time.isoformat()!r}") + fields.append(f"start_date='{self.start_date}'") + if self.end_date: + fields.append(f"end_date='{self.end_date}'") + + fields.append(f"timezone={timezone_repr(self.timezone)!r}") + return f'{self.__class__.__name__}({", ".join(fields)})' diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/combining.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/combining.py new file mode 100644 index 0000000..653f9b5 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/combining.py @@ -0,0 +1,114 @@ +from apscheduler.triggers.base import BaseTrigger +from apscheduler.util import obj_to_ref, ref_to_obj + + +class BaseCombiningTrigger(BaseTrigger): + __slots__ = ("triggers", "jitter") + + def __init__(self, triggers, jitter=None): + self.triggers = triggers + self.jitter = jitter + + def __getstate__(self): + return { + "version": 1, + "triggers": [ + (obj_to_ref(trigger.__class__), trigger.__getstate__()) + for trigger in self.triggers + ], + "jitter": self.jitter, + } + + def __setstate__(self, state): + if state.get("version", 1) > 1: + raise ValueError( + f"Got serialized data for version {state['version']} of " + f"{self.__class__.__name__}, but only versions up to 1 can be handled" + ) + + self.jitter = state["jitter"] + self.triggers = [] + for clsref, state in state["triggers"]: + cls = ref_to_obj(clsref) + trigger = cls.__new__(cls) + trigger.__setstate__(state) + self.triggers.append(trigger) + + def __repr__(self): + return "<{}({}{})>".format( + self.__class__.__name__, + self.triggers, + f", jitter={self.jitter}" if self.jitter else "", + ) + + +class AndTrigger(BaseCombiningTrigger): + """ + Always returns the earliest next fire time that all the given triggers can agree on. + The trigger is considered to be finished when any of the given triggers has finished its + schedule. + + Trigger alias: ``and`` + + .. warning:: This trigger should only be used to combine triggers that fire on + specific times of day, such as + :class:`~apscheduler.triggers.cron.CronTrigger` and + class:`~apscheduler.triggers.calendarinterval.CalendarIntervalTrigger`. + Attempting to use it with + :class:`~apscheduler.triggers.interval.IntervalTrigger` will likely result in + the scheduler hanging as it tries to find a fire time that matches exactly + between fire times produced by all the given triggers. + + :param list triggers: triggers to combine + :param int|None jitter: delay the job execution by ``jitter`` seconds at most + """ + + __slots__ = () + + def get_next_fire_time(self, previous_fire_time, now): + while True: + fire_times = [ + trigger.get_next_fire_time(previous_fire_time, now) + for trigger in self.triggers + ] + if None in fire_times: + return None + elif min(fire_times) == max(fire_times): + return self._apply_jitter(fire_times[0], self.jitter, now) + else: + now = max(fire_times) + + def __str__(self): + return "and[{}]".format(", ".join(str(trigger) for trigger in self.triggers)) + + +class OrTrigger(BaseCombiningTrigger): + """ + Always returns the earliest next fire time produced by any of the given triggers. + The trigger is considered finished when all the given triggers have finished their schedules. + + Trigger alias: ``or`` + + :param list triggers: triggers to combine + :param int|None jitter: delay the job execution by ``jitter`` seconds at most + + .. note:: Triggers that depends on the previous fire time, such as the interval trigger, may + seem to behave strangely since they are always passed the previous fire time produced by + any of the given triggers. + """ + + __slots__ = () + + def get_next_fire_time(self, previous_fire_time, now): + fire_times = [ + trigger.get_next_fire_time(previous_fire_time, now) + for trigger in self.triggers + ] + fire_times = [fire_time for fire_time in fire_times if fire_time is not None] + if fire_times: + return self._apply_jitter(min(fire_times), self.jitter, now) + else: + return None + + def __str__(self): + return "or[{}]".format(", ".join(str(trigger) for trigger in self.triggers)) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/__init__.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/__init__.py new file mode 100644 index 0000000..03be819 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/__init__.py @@ -0,0 +1,289 @@ +from datetime import datetime, timedelta + +from tzlocal import get_localzone + +from apscheduler.triggers.base import BaseTrigger +from apscheduler.triggers.cron.fields import ( + DEFAULT_VALUES, + BaseField, + DayOfMonthField, + DayOfWeekField, + MonthField, + WeekField, +) +from apscheduler.util import ( + astimezone, + convert_to_datetime, + datetime_ceil, + datetime_repr, +) + + +class CronTrigger(BaseTrigger): + """ + Triggers when current time matches all specified time constraints, + similarly to how the UNIX cron scheduler works. + + :param int|str year: 4-digit year + :param int|str month: month (1-12) + :param int|str day: day of month (1-31) + :param int|str week: ISO week (1-53) + :param int|str day_of_week: number or name of weekday (0-6 or mon,tue,wed,thu,fri,sat,sun) + :param int|str hour: hour (0-23) + :param int|str minute: minute (0-59) + :param int|str second: second (0-59) + :param datetime|str start_date: earliest possible date/time to trigger on (inclusive) + :param datetime|str end_date: latest possible date/time to trigger on (inclusive) + :param datetime.tzinfo|str timezone: time zone to use for the date/time calculations (defaults + to scheduler timezone) + :param int|None jitter: delay the job execution by ``jitter`` seconds at most + + .. note:: The first weekday is always **monday**. + """ + + FIELD_NAMES = ( + "year", + "month", + "day", + "week", + "day_of_week", + "hour", + "minute", + "second", + ) + FIELDS_MAP = { + "year": BaseField, + "month": MonthField, + "week": WeekField, + "day": DayOfMonthField, + "day_of_week": DayOfWeekField, + "hour": BaseField, + "minute": BaseField, + "second": BaseField, + } + + __slots__ = "timezone", "start_date", "end_date", "fields", "jitter" + + def __init__( + self, + year=None, + month=None, + day=None, + week=None, + day_of_week=None, + hour=None, + minute=None, + second=None, + start_date=None, + end_date=None, + timezone=None, + jitter=None, + ): + if timezone: + self.timezone = astimezone(timezone) + elif isinstance(start_date, datetime) and start_date.tzinfo: + self.timezone = astimezone(start_date.tzinfo) + elif isinstance(end_date, datetime) and end_date.tzinfo: + self.timezone = astimezone(end_date.tzinfo) + else: + self.timezone = get_localzone() + + self.start_date = convert_to_datetime(start_date, self.timezone, "start_date") + self.end_date = convert_to_datetime(end_date, self.timezone, "end_date") + + self.jitter = jitter + + values = dict( + (key, value) + for (key, value) in locals().items() + if key in self.FIELD_NAMES and value is not None + ) + self.fields = [] + assign_defaults = False + for field_name in self.FIELD_NAMES: + if field_name in values: + exprs = values.pop(field_name) + is_default = False + assign_defaults = not values + elif assign_defaults: + exprs = DEFAULT_VALUES[field_name] + is_default = True + else: + exprs = "*" + is_default = True + + field_class = self.FIELDS_MAP[field_name] + field = field_class(field_name, exprs, is_default) + self.fields.append(field) + + @classmethod + def from_crontab(cls, expr, timezone=None): + """ + Create a :class:`~CronTrigger` from a standard crontab expression. + + See https://en.wikipedia.org/wiki/Cron for more information on the format accepted here. + + :param expr: minute, hour, day of month, month, day of week + :param datetime.tzinfo|str timezone: time zone to use for the date/time calculations ( + defaults to scheduler timezone) + :return: a :class:`~CronTrigger` instance + + """ + values = expr.split() + if len(values) != 5: + raise ValueError(f"Wrong number of fields; got {len(values)}, expected 5") + + return cls( + minute=values[0], + hour=values[1], + day=values[2], + month=values[3], + day_of_week=values[4], + timezone=timezone, + ) + + def _increment_field_value(self, dateval, fieldnum): + """ + Increments the designated field and resets all less significant fields to their minimum + values. + + :type dateval: datetime + :type fieldnum: int + :return: a tuple containing the new date, and the number of the field that was actually + incremented + :rtype: tuple + """ + + values = {} + i = 0 + while i < len(self.fields): + field = self.fields[i] + if not field.REAL: + if i == fieldnum: + fieldnum -= 1 + i -= 1 + else: + i += 1 + continue + + if i < fieldnum: + values[field.name] = field.get_value(dateval) + i += 1 + elif i > fieldnum: + values[field.name] = field.get_min(dateval) + i += 1 + else: + value = field.get_value(dateval) + maxval = field.get_max(dateval) + if value == maxval: + fieldnum -= 1 + i -= 1 + else: + values[field.name] = value + 1 + i += 1 + + difference = datetime(**values) - dateval.replace(tzinfo=None) + dateval = datetime.fromtimestamp( + dateval.timestamp() + difference.total_seconds(), self.timezone + ) + return dateval, fieldnum + + def _set_field_value(self, dateval, fieldnum, new_value): + values = {} + for i, field in enumerate(self.fields): + if field.REAL: + if i < fieldnum: + values[field.name] = field.get_value(dateval) + elif i > fieldnum: + values[field.name] = field.get_min(dateval) + else: + values[field.name] = new_value + + return datetime(**values, tzinfo=self.timezone, fold=dateval.fold) + + def get_next_fire_time(self, previous_fire_time, now): + if previous_fire_time: + start_date = min(now, previous_fire_time + timedelta(microseconds=1)) + if start_date == previous_fire_time: + start_date += timedelta(microseconds=1) + else: + start_date = max(now, self.start_date) if self.start_date else now + + fieldnum = 0 + next_date = datetime_ceil(start_date).astimezone(self.timezone) + while 0 <= fieldnum < len(self.fields): + field = self.fields[fieldnum] + curr_value = field.get_value(next_date) + next_value = field.get_next_value(next_date) + + if next_value is None: + # No valid value was found + next_date, fieldnum = self._increment_field_value( + next_date, fieldnum - 1 + ) + elif next_value > curr_value: + # A valid, but higher than the starting value, was found + if field.REAL: + next_date = self._set_field_value(next_date, fieldnum, next_value) + fieldnum += 1 + else: + next_date, fieldnum = self._increment_field_value( + next_date, fieldnum + ) + else: + # A valid value was found, no changes necessary + fieldnum += 1 + + # Return if the date has rolled past the end date + if self.end_date and next_date > self.end_date: + return None + + if fieldnum >= 0: + next_date = self._apply_jitter(next_date, self.jitter, now) + return min(next_date, self.end_date) if self.end_date else next_date + + def __getstate__(self): + return { + "version": 2, + "timezone": self.timezone, + "start_date": self.start_date, + "end_date": self.end_date, + "fields": self.fields, + "jitter": self.jitter, + } + + def __setstate__(self, state): + # This is for compatibility with APScheduler 3.0.x + if isinstance(state, tuple): + state = state[1] + + if state.get("version", 1) > 2: + raise ValueError( + f"Got serialized data for version {state['version']} of " + f"{self.__class__.__name__}, but only versions up to 2 can be handled" + ) + + self.timezone = astimezone(state["timezone"]) + self.start_date = state["start_date"] + self.end_date = state["end_date"] + self.fields = state["fields"] + self.jitter = state.get("jitter") + + def __str__(self): + options = [f"{f.name}='{f}'" for f in self.fields if not f.is_default] + return "cron[{}]".format(", ".join(options)) + + def __repr__(self): + options = [f"{f.name}='{f}'" for f in self.fields if not f.is_default] + if self.start_date: + options.append(f"start_date={datetime_repr(self.start_date)!r}") + if self.end_date: + options.append(f"end_date={datetime_repr(self.end_date)!r}") + if self.jitter: + options.append(f"jitter={self.jitter}") + + return "<{} ({}, timezone='{}')>".format( + self.__class__.__name__, + ", ".join(options), + self.timezone, + ) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3def3540fc55ffb64a748da327745c594853f66a GIT binary patch literal 12580 zcmb_CTWlLwb~Aj5Pw{Dq)XO6|woF+sOIB>lvQyVj`Jp&#$JtflrD@K{ro@LbGqNp( z+IZ8TWdfs1yINSAwXtlFO_Xff)rSjY7b)tGegtSykiq~a1~8y*5n%IEFmM(K^3$Gk zhaApGvf*uWH9EYHbI(0<@44rkd+vPXa@i?JzyE#DmC!bd`Y$Y0lev<4{1#;HP%OpL z2`WjAQ%QQ9rm<{D7?Q?uBgq>Rrlfh?O!B6LC0RFKm$Z&sleTeN(mrlaI>sGI=eU!! zn-i{N{dj%SJ?>6=#yv^zxR<63)G>;+yiKunocTi|Mg0c;l{D^St!JsQ?JF#X4YHMu zikuivaM~%}gHEv+(aU*LOH*sdp z!qstB&IUR7V~uyM<960G?yylC|FLeEPkP+RxmXWd_cr|@(EUwi5Q-YFXRU8j<8Ial z(8JmRdRYfRAL|6@XI%gTY(2nDtQqFtD?1MH=~QJxqxWHb>`a2=nQLi&O6awdPQ%ktKAL2JN(QJgvs{!PW_IV$zQ|w>i4F~JhzRr|>4}Jf zpPETtf)`5jOezYq1>;~n4!OO*=XtCL9=pXEuKOCtc8gbLx+nN}w-6P(g_+cb zU;+>#iGhuINXAn$A_o&dei3nK?}pR_4pxaBW|ZFz5Ua9HCSMSvAp2M~%)mM%;+!Bd z(`iA7UrKN=ks{YegaVdVR5m38>$*LjiX~=*_*G8Ff{rqmVk>kLK;?U&+AGe*Qxj>z zc6Iv>D{_fD86|K=;Ft+m0hGcT@1R^_Gr&X~q?g&waud;+geVZ{!L0!OYI0g7ta~q% z)G-`lGA@c7tQBZ4SZ^FN)WA|$d!k%6$4_k#xE0|*)rY(mh8Ac!D@pb5aoX4zVu0oh)Y4cS^t(I>$~b{W)pk)L%0ne(sR^1jzHJpzJSs`gbKY64 z*Z%5p4zGDn{p`%UE>keR`o64bz8*NQuhKhAU6`78XWSXrRf=!Uxbp65i}p9;UPILb zbi5gtlbWwjHDu~}kI2;UGj5b}CCz(S^Sn1@Vl7Gz#`ad*ba*}kmGJ=|o{U#Nm-Bw; zqw=5kReNiHGk!gPG<7q?)<=k!U6#w|o$Xm|}o zf1aK9tL&Fe_IK;>F7`jqNM~|F392q-!`p8-E zdJMh&vT=%=mCaY9i5X5d30z`Az-#D6ZubA8EKE_Jmp5x>+o zJu6;Grv`g>?(7rdBG)q=jZH-_b3$KqTGgF>6$2skq3!RBMB=Hq7>V>w&wghcxy+@w z>(l&!xlWBc(yQW(5EoE5(5oU|1ipk50KWYr^+)OkRi;c0b^`v>(~|S&xRTqKW2J^| z1vfrRLxmk9WiwUp&27z|THP@MMdc~iRXaWgYShtlGTjyS^SF3?3jo<37vkX7L{l-2 z#}$w*ilO0A8}TTVwdLX&L@=@Om?&Emo@FykNK)W8BjR(|Y@AL{^SD7}J6VCVk<$my z$d>5zG-%OqfZvXoHH}P^F;UAKXk^XM$gDEHg)E>TyQ5&IFQ+0^lP24Va*m*5BAao( z1$?_|yX;V!V+rUdn-xWlM&Tj|z}m!z@dd2a6`Bidv~Gt0NB9Ip_*+<@Hp&?&Q+2lP zM=jg(*NZLvQcHjK@XgcN(~n$@i}qh1FS>dpS5KKT+q###q=7>uhsbkM=bmEAUa4ho z4d43f?M2rP$+e?Q83EsV-%T=v_6KhkTXst=yA|v&Tf)D1@$QRQ__C>IY4Wq@KJWRW zrPy>{YC4}a-E=<+?pQj$%-&Bv7%v9TNWn8u=~``Qfgi`0-c2>Zs^z|9w*9^J1M5fi z@7EWZeu?QXn?Z=aMiKl50pxs`^VzeOvYl!SA+1u==B&Ha)Fw4`m8p8$HUhFIO776& z`GR{3Jf&dUuk7#H^TWkpuN3UfnM5*)zx_MAOu zUkx@_@~cg4cl(yQq^6i*?quG+bYywB7&ssW4rGs%oSvH}A3EDsoNbFUMdwz@ zxwSx^a%+_#eg~{s4CTC<&?sQ}@qYsVeM9HrcYV?;_<5tKp^-7_RUJ!Dkyh};G$x%j zJgv_!Db{#z4V|}WP{35i$eL=(8%kzf$)YRO=}J~j$?&P|LkqYO@UJ9L#rEj$KzdbI z@DR^|ugXN3VX{YtFaAU$^%t25KAnU{)D>)$XUQ2yjG_ZL&2z97)2Ye{2RGAMj$^Kf z;*$e$hc+k02Dwt?2#!ZWG z2D`%XoMwc|ISNOwo(sCkF``>{0_s){LTV*?jp`d$XjDD-@5#qj$>T&+wbRoaZNwYq zIdO(h4L@=Et6Exdq_N9aC|z?cufRlJW~v9X3Gk}XMcv0-PK(T(vm4iki{S(g@#sT- zg*Nvql0zx|3Qb_xqIki?A0`@^c*{g1qv8!4WwS7yh>Nl@!KGyTc{HI%cs|X8Wi`eU zf^5QdAQpumf(})~$|#D|iLw)k0iz%=b3u(*^=ezLVb7le0Dam-`5Nvt-EO+ove1&X zJaW`$ufDVI=Dx-D6-RTy(fr8QQfPhopAS8-{O;uECn2jmMc;YJcfQ~}zv}j7g_1wC z*uJp0>AG*}MxfT87@HGXQ+&-@$&Fz2mWDwFDA1gMbkrj`Qc_4X%Y&1()-HC#Ow zd2eb`J+SDHk@LVYdd^@6EYZVSJ20Ax@mvxjVuBJ%;Lyzi%fKqCg#rD~fX3&b9iwCk zQ2q>}K&UJhg*cj`fKcIq8jnLn2wdUhOj1>givOln<>KtL60(3M3}7j-QnkY{X(wbs z%?)Ghtkzc3o8rtgL~S7cBSMTW4muI7NQ%2g2zC>;Nlhh$HKAA;)RvHgFvYbfyiiP> zftQ+9>7$~Bc#kq69IMt3^T-rLU~o{imS|Z11y~U{g7CfY`!N-E@rNNpTx8kwgChq| z$u^Apl4+1l#9gh!3YaHZ$waR!zIYu(Toch4C%aHhVr&AeZ*p1*A}d*!m=>dnh!X1% zhz1VZh?6bX;Y7kHvb8#OL^sQHoZp8Gbpn8BN%T76*xC5R1Xx%&2M8#Q_}(Nb8oU9{ zGnGk*5NZnha~)b;zA?@%peFns2pDMfAms~WEhVQbOPA{1Ki`sL7p9874$0TCQr}Ui z?qAKq@s zwIJ?=_b)8(E^gf?ZQZvK?rO00SMK-ROLfIyzZC2TZ#2~QtJe2g^Vf=@J}K0fvjDS; zM{mE7dtpNs!@bMik3+emi$iz8S>2{`U*1W%J?kgoPrImww!)@Pc=8tIcd7HYeV_C_ z2rTs#yN*g-M~j<|X6=uBO_FbW$?1RSY+Z4-7M+_V=jMFZ!;ayVj^Sd*h}1DsbdG$+ zexCf=Xz+t|1CXsNTPRQCqP5^=3RXt3bE*}9mBN!7v2z`;V#LlpqlJU8#gEBJ-3%Js zQnO|J4>D%3Wk420t}SDEM(bn(8Y*9Coo@CMI;4)!c{ZE0p3XV21?y`g+E5Z}0IhEN zfCg)=hMF?;q^jRp`mO9(f_6o9DPm@T@Exu*4B zkjN5%8&t{b2lp!2o`3Fx9m>HB9iTx1-Z`Efn<#_!X4Vh}CTp0`-~Q^Oi746nb&A{s$5 z=!!q#&*;v08}vut%b02d8BzT<2=}V;0zQX9+om5Y1-2JFNaMUoRBbxL=Vy&x??t(O7Zs1mI2SJ|BpQwEw!Nm@Lej|%%bui+L)P*TRM zr-z=|#(vB?Ol!t^qcuZq?9afCH?cJOOZwTX=owRLG-Cx1P|*noKx3%B4v#c3%C#;b z&5U(TKvNlqc+;uPPvhnZd}#W^>|xZ5B;Ez1Y04E&4H%{T|E$#VN{Xh@UpGz>3E_u< zXN^}{9UmkL$M;mrnKeOiICW^aTXR{VYtz3sNH1Kkl5nnRjJP`xaCIi*aKfuPBDg2u z{?!Oh4Ug+XLU~XG*9IA_MIdX=5z&uwJ-R{=F0D97{ErZusLvl`4#UQ>D+1xf#B4;l zg&|?Vs?+0xV8qpUdPV?k$a4|&nPg)seN71^R`n`SN9TxWQ`wFez!i7QUK@EMH^`?l zr&6D5(`wrF?f(u83pSVz(6x?MjQYJuKMJ)ho-K6j`ls11qJ`aOio4H906WeULoZ38 zmq^sC(Au}+?kl+aN}i^B@#U8aZM%zYyCs00-8uWWtIrSLPZvUC_xy`zL3Q^PLjzK1 zpb#4PVlaDR)gQ=O9|hX;UBy6;6zF*v*s~JY^I72Y)?(n86gZZ(f%BEyQ>gESXNACf zF=7DPdZo5XjnWEG@yV=GAPi0!I6j--+q@Jih6be&3{@o~3v(v_}f!L)%&pP$V%6d5?HQ1KzT<4P~Oo{ z40Ps37q2f~hq$CSw0Q8AD`!QACvbDVOwq2Ed}!(1rx#Y*hYRh)rN-u*SRMoy?AfNG z{5*tsbFaU$S_yV7?S;_l)Puod@R$@lmK`na+H?PO!GGrGgSlCl(4L~d zU-I`C{QVDR3(hkTp?8L|`xRqG6g0>NCe@f7g#vuHf{q7iKmd6a7xJpHfxLRqhdfb& zh|e1CT8Lx9{{@ubE0Q|+!UMx|im#zwz9^0f12}v$BGSbF5OAz&*d`JId4_X_$VDRh zu#L9mPtZf?0dRv_Z4AQP+;u@9_->z)YiL@SDj^_o7Vs-{Ar|#*pu0K?SAmB+l+K*f zq6Sm1jCgB?X6ag}6A!j|4K`4&Bo@9*(f0)fO6HBNK`366cDAcmbh%8_g)r)t><(#Idc3R@&XV$zWaUdrH+ zITF#BkPT!Syz=dY6cJwm<$7VBEe|3DYv-vHd8zI1HLara&>I<`oTEuctj zt)&2l7LR9-tU5eD+xza`+>i2f(a|9}I`S{AIJOlW+aN+&HqhQz=;fi$Lee1I_h3PR zC4b|>0mZ?Ref=YzRvY*y_l_-+I-9qD;D8Pmf>b2TmT#94EsC3qdPw~@Oyy@IdegNE97N*LMsg4*+&v_L5!u7 z)9Y?$;qxrGz^z@*s)+FEAN6nXYYXIa(S?bE|2cT_wDOCvibfV- z&I*oF>eV;qFMMa{X2M1#G-OdOJY>^kI-UYCAoJMth?5W z2(Abbk@tc0vxo=?kh(g2*AsP-L927Mee@#oOT)c2M>lYNHQM+oBN*3=pla}E8bQ_a zaF}?KMKJ*je=%6y131Yy!dH=aJA3?B@V2T=@cT{~W|jSmKuNpQ}?m`~7plkvHa< z?QhI?lTY37OSk=VE=Xzp^+*(N#Lu=@1Z zbtb&)0swdZmAfu5{F=mXfj12|kV%v6kw`L)-?4)6bw(nuLwsB@z^I4VbPOi$Ih;~- zSa|d%cszyk=%w%|r2HTNwBSM_Eee2*(LC8f?0J%dFKbx-IHLUs0XgHLrstCg&?xbL zh2XCdoIrqrLxR#get1Lxem^2?h9$b8{*?`Wv$aei=(71OH%^utC~s5A+g$R5O76B& z<5tZ0n&ByXZ9Yqx0&wF5VvW)_M$1;J-dBRh=_$Fqa0Ei=_T%GkEO|HK9XssC)ZWrFNj(++LO$o8K$$z7wlVk!2z5F+o6B|L9QmAweDouSG@mu~RzGX%y#$}0 z^JofWX2W(gX}!wT5BdB@k%yWTsFERjwEf}J(S+j3Vbny44UkPt7FWOE-&sc#Nj$*k z02$Vs5*z@*jiTuiwY{*>vr4rW^v^1_v!H*ZJYR`tsM6s6v+fj`sUv6 zaPuA);6}LsKgtJ80b$ZKYQnF1QkXK2nt2ZQmPyN$b=1mpr@4UjLw>XfzeV`9nYbY? zV0(iL*grCH+^_JjhEY4qaUiESX#Yq+9{$sL4wmOcUP;iAlUL00N|EQv%X6|kH}cBz z+ALvt<;bhZ%PS2CBb>J~cIfy-DB_u#4$MvlJ!8}1s6P~rc%lqp{!=J3J}r9oi__ubV(9egpx6}gjE91gfk?a8k}BCdIXS3ROSzu*hffD}302Pq zgJ%Q&3%Thv>GUV3BcUiBsH;+a)E|is_%9qAe*&GG$maZ>25#8PryNt1A=0A|v-l&S zaMW9r5|Eq{qO-x2a4s0Y-NbB47#Bk+A>xmM%!a+rlyJt6LgT?xDDD?if`0~N%6|bF zv&c9zJBhT}(XwZIsVl!Y6;i_!W;akHDG>&8!ZZ0Ky3jls69{w>L4x}Ee@D4Qx1{%C{}f{rMd6% zj^@56dm_=`Oz+7+tJmAtFg&Jl8A?%a=>Og+koUN#_C$`G%jv@$=hJfMxHH;)fIrJx z6kXBGsz6%-lkp8+$6KOr!mwC`+}P$r;W05d6%0o`Q?rq%=Ty)$5js5)6v0pauxE!? z5bY?JGE>)6juZaL+2EikPK#a>(t?xY;$~z==)oS({TDkXrl*1(r>3Ly9}J7Zj;Ra5 z@GBjYp;H|*7oro>;jZ@1&JM6lux-XacGiD780qlOM8+n9#LZ$yRAtdf#~ApvBd9TE zq%I5Qh!l9_o7ppRGZF?rYf%>uoFY}jNz&vLLwOq5THi2vst?DG+ zG^HF*?0wF6V(-ys21jszXgGa;-%V11rq1&U&77zC{w}Wv!b3mDR3thb^-p@(g7i#} z=g1P&;=K?R5GmS3wPz-(ohGVXl_z2o-bHLCLR=wwK)e>Q9zQ7uE8+|LryzhRlZvH^ zS+{)b!4cwG4+U`x<&`2Y6!1rbYIbasan6moUet*E1mq&OWIH0QcHOD+BsVBk+i%2f zwJ05fa@AnGm@&o*XSSCnDzDZgUs$Z!A=T^vkF1#Zvi9Vz>$_Jt+%U4Vxn)JjL|DpQ zL8vJGh67pQgp$$~0qwBH&;~A%*l|o_0z_!q8B_faZr%eECGndda##GkfRfre*O$*L zX+}vV1@xupKCh%DN-UlZU|_RR^Wm9XRt`plIbq%!-k?vTI>hSquTPIz!Tv?aEsCM_ zdFz~Y&T^LZUNp^FN1&rexSRYi7|MP+81*p@NEOlTR4AOj@t-G|ex9+B*QRoinRp>( zVSJRbM52B%nzEt_8o;mrJpG!(!Sm6SI}k#4cr56PPWvb&Vna_DYh}5M9!Pm=2XeW~ znA?Twkv{_gce&TS=X%GLG|TQr#oZXUER|KgSNl$FA}W_PC}j#yW;X-;t|=s zMR9M5Tkg0jE?pot*}ha!9Uq7f-0?JAx8HbX;l$0CWKYj+^Otsc^C8K(3E9%dR=J`T zMT%XQA0hFzRIxsOBrUX5{?gC3#$QL#*IX@vInsE@IM>rIVz-RB#d^hY8-ADgC|CUu%D(-0_PS|g|{+3NEJUxw7KG_GJZbsvrG7B;ra zu9`$+vhsSJ?AoEYc1W(H3&%fs{&wS+EsNbpCEHQ;g|(MJ9qKe&P$W&Tptv*mRfFgV z@cKBhC76#CvoIVpw{$cHQhbY-S3A$M&PS;2wD>9V`65vfy6)2!{XX9;wxTLD zb3cAaDUwi4&w_XWY5LbdwiukD_sG+kYWiWS-~qvllviD8SIWJT>oHt620lKd-VwDu z#$H8b1gA)~QVyR_MWH@l%IWjHJnNrSyOJ`A!Bo-M^wdmfGMKWlC5~>0TTx5wAhL(Z zej-Cej)2_c)F%)xFyzEYJz|kdAQ!d2C09*cycCl*bjhw=ifh-!gDYmi($7N(=Te8w z0*S1V$`VWU3a61e-tq)$>8Mq(R8TW%;@~Ybv3W%8D9z3o{ZIptwsU~>)R>z;jiJ3qR z(f_@F19_J>%8rka_AC6Wp@1e5j4*}g^e8k>`|yU`9E>_|nloKA&j}X+vgrP`b#wfj zDGi!jdcBp4&tKkZ%ENZ6$9OT`Ky@R=sGePE^XaI>lBe+3J?v>n;c1c3yGDEz7RT%g5h* z_0p?xGbB^ICozyX$}|mPQt`&5<%an~XVM9fv*dpIu3#bv1G2)I0AZ|L)kYv@$5LfA z0p~dWR1v0$BJ_iR17nuYATNnoa?!DVigK7on;NvCgGlBx(%yZ8tE03DJ2qc7h6EQc5yr1HxVIqE|OucY74f6JQUT|k=M#Jw%A6g**fhM z?FWfiK^WvquQ5_PvAWzf2GyjqF8N`$fAu-tmv&3Vp5*cC&o6Aa zby(>fT5KGW8i!b0XUQOu+-K=}`lR&YY31pObkuz|zpd&`S1w5FA5R{>5mOo-zZLlG zj9hi_|IX$)iE;gZW%H1Uu8AWfB4*~hCQx2mrx!MJ7X4B+)(i71mtF3Y!WGKG&uSGoOwM&1~XMFtJD$i@1wOHxW$-!K?~}^=6g$ z2<1NtlCm+I3M)d~O=*u)S`nE@l+=S*z8S@ET>h#uT2C)i)mtD~R29|l^}W-V+$C2u zD;3RgTb{9$m+;?Ku6*6)6N%$jN9D3+rK}kiR%^${yQS9tcPm)>^Kw~}Qr0AuHQgSM zTbEIKJTW1cH!0;!@git6T2s(&_U0vKXg#~|irltG_VnIv_|hwHK0=n3vqDPHXq7g!#?QsiEmTUj?tBeMY{N9*ByNmgi2z6z$Q!4AdNcAgO`30LF++^n zWdZrxz0nXei+w1;xyXI(thzj#2wV-z&Nju_ zMnIr>$z6HHkqBNryXf|=2uQet1bgC{tD}qVrj;VI-JuQ&*0dI=vusdEO{@A^IkR`P*7SMfCdU1IxYB?b^@EIhSs(2@O@KCVqB8&#sZUYc8-YheH3cn= zfwsm#%+eTvN$54JDuxyeT*y&TT`L*eR&`X-45qzQ%zTNh&mUuEB)*A)krzPHMq#5+|$F3ZU55n?SjmsTN z6&n&kQVddUhg{JiIXmvSD&x-lc_7Wl=HWcXC5Jf+j@oISja!yEbtTg?R)kU1@-I>> zJIYOSe3BMLUNCsFb@h$bf-%P6-*<0Yt6^--7{fjgpVTC~zPorI8aWoS5;YLF_E zOTW30)ws}AOWpeFeDkaG-utHQ9-tcn7rNC-#z4x7U7BDxkg{TnX38H`S2VM&&1a@V z;fznk>=#c*3`?5~=G80))uz9K+{k4R7z}Ve4O}_=w(E*Za(S3Z09SY}ACl9F*wN|! z>5;dNTocHP@w3var4WgVvq^F`X>8cMMj6-opZ@r*AA_NPq-=iVmiZs;pW1IX{JrZl zm+U&IxDHCTgN#|drr}|433DNcppP4 z?@T`Pix)n8;pZ=2e^IXPQmVTa{Brf9@k8-L-@>U(zS-U^fh{G~_ACs7sFz&6M=9SU zIrm_H$KLzxx8E|*xWZZO*as3y_VUXc>p$puzvqVeH;!LAZaP19${V|tjor6+dE@TO zw#&9}mn&+~K1%B8a+OD_@4ICNQ7^fwU#aSs-2HeC%Bl~l-V{Hm*_6zyQ+u9Uc zo0PdC>+r^Z+|kATP2Juy;q&z!`--?Pit6??3S%^9nLvx4WZu0`KpqIdc0u7~YI3i& zMKj_BX~@yq#lmuMTz0P$ENRLqtF@9}_8N{XpKuwaI z2bNvyE(flhNp`*+R$Pset#J+5wFz%XJ~6$Z(~qcOEct7~LqM-C)YqWbYuf>~XrA*z z-ZQm20aM;A;>ku43PB(wbzG2b9#7X4N){vq%t@VC)s@aUuwYa{m}SfGeZGlJwCG1Q z@e~Ml`PeLLazh-WtN@XIB7};>Adzv9d@ximj_c7zED?a3bl~otUoY(5$QQ1+2sY0$Ym_gKO_>Fe;5pceF_q! zxl7Q1L5}^QFv$GFpbwy+wR`x3q7PyCepLo|oKsJnrJ;v7jj06qusu6Ccw}Jj^CKep zlSGk-hsbdvTZu$K^8CJ(6WhG{DK-sOd`>n06C@2Q`uXK*&j+RNmnLU_@#=@K{(S!W zyj2LO^uFJFqv1C#zihd={p0QO z#z&QnkLnS{eugMAlp%_}w;H7Sz3L@b?Nh4uN$!1wDE5D6M6rDbw@|mYRQSAd`#zrg zg0I`R*@!4;EeZI)N4V>Oh@u^O0_D{3T2mptZ`6M|r83nGh+{1jk!=l{#WXCQLkkA* z@M9#b4j$?Xas`7AGAc$$>K29%b>zKKs#>IqeYk%896<-AtzV5w&V9=+=E_lATP54p zH6TOP4-Xl37$Af9yF-TTz(NkJ1{O@;2`mWT6D*jA#S1ipdZfUn^m`+P!oons3ja#; zPSzx0h1Pcu5=2xgn#bl z(~==Cm;+snKo%`)K071$9EG0)2QBD$g@gG$ido!>xRagVEn(+(OPM#s1%YB03HU<& z2%Xs17k0u|Cv=G*yP^{*p&N&o$x4asB}1Kr*V4W_Vct-Vp^H0sqmQK^zYos zb2tHfpPyUZQ<6yI6TRm&$FfI>{1D)bqrk)0qL%@yn+%2gw#FwKTh^bcVEz_owl`^i z3wEh80iOK_U>)F`(oAXigh=7!1)OUnCd&&C=%>a92VRochFqL7 zlRg6P*}|}jNM;5YN5dtlB9${DS>%#(WS9lM5D&_WB+^nvX>P$TL_NieGo|2!Njdeb zq&iS&MBqS4?{G7uvn8$5^3UaKVCQ$J75R4%fSp3;NyxWym|v>fa&_{nx*dykI~F#6 z)wyr6bD!KfpmYw%b%RRXV0_@xvG}o!hvhJXLmA58(7{`+Qtd(YlFJV%is^Dy1l!E&mZgD*UEj-TDRXW7#1H5B*Qs`0duxY_^dBP zzhh?wuYTCh$Tj+hWe93o!^G z=H9f1DbGA-VJ!W>MM74iH$pStG@fN9vFS2{brK*z;dA@TXX-^;Bm8dxrIJZwx2hQ!% z_Au@v^hoCa%WS66slZrsVGcI#E3cq*-X6K8Cw@47_zsdDTbPnt_y3lcTMqs9DcL(L*9;@0cwM4;vAA9;u1}s> z82IGi;mnwle*aMt49JZ6#!z+v_L$^`0h_|^SzGU<@j2DxE*FDzV@SA zY}y$E09KP&689152Z>PMHTgq@W1hmZr*1r(pu8fzC<^KGwX^Kap-V$Q9e!&#(Jedc z6=yx|KDX2Evn$!HZ0%ZfchUB9J8eHZla}ixi|)1p+t1n>eiDrrwpEOycn$Mm5{($&I4iRVyz5~A?pJ+Fcy%>p$vnVJVxVDz zC5CMi9N{N5XlibXnVYtInqsCVFHU3iqonH6dYBp$X z$#v$&@sCg5YWS=}X~Sqy!oNKEob>#Q%JV_x$#FG>sO=0JHm^I^+r~PX-E$03?}J2M zB||C~w&yF`z@ly7_Q*dy_r-I+ zJuMHOPzF!Pwr3UFvr9I|rINcA!EMFYC2lJ`bq~o+QKICU)dmc!R#DGlSY0 zK6fxAUJRDAidH;=!EM8)2Qf4K-#ZNQeMD$JZYJfZo~ANoQJhyj1ER`3lHmr}Reuya zTLY_n^QfV&3gYB?)LR2};UF(Ab)jpE6jf-H**lWt{XXy{p!-;j2{WenAai|-Km zbC8UH*YtW?z^COJQ_oEW-_)p`$)yq5h(-Z2@m)v5RWA(UQT5A?g)+s}CE2?2MH(up zZ%UI*n<#2;$;cAv9Q5jr98bYMr9a}Rq0SK8fEaPDi@%cpV46`j#2(zNB}=c-7bG}D zZff>|CHhfX6)m|+fJwNu*g_R>v{@9XLMwU!*Cx5xWou&{^{U@nta?~tHE~7yXN{c# zwvLFn>Dh!U^^!{cxFXS%+Ht`t7G2~3aSV-no>>0k#t6q2%y`6qEm#xJV4)UE#vaW)#7WM8N<14`XOqN!x3 zC)jp~x*x!#GkbByMGaJB3&?$2kNOEqulNz7#D0-WpfDkLeu+CKamQB7)?(Aeq7^sC zJ1*MkZ;9J18LvCs7Rh+sDejTjbDt>B1&*6gjD#tgYK5P6{V-x@4)-CU(}UYgJWbY$f{R zl1lBUa_bd&FbZQeh5|{~1kivkbJhY2hG8iB)VvIP*n?yUut1zR!qhL9UXAyJ|*QAS}E zM~aQI@Xw_jX)ek!1oC`}PdlT|v@7aL3sE8Mj=IyHs3+YK?Etz{anT?4!k=(Uhcf^(g_`G64V0wtkkV>}9brHKp?o%;__D%@hr=})QX&FJ#nOfoSer{lA7E-N2Nq~f}Mcot+xL0Qs?(8+m_Z{M6Xg*~v!PeIl-_bP|U9SE_o& z%!-ltwR4wV$YydgW`&&QT+cN} zYN1GU==0dErB>Wr(T^Wg;@4ix>Ph58OWU40X;YWvUtNTJixLkD26s)3YX(oJXgFXT zgPVf^jSk4hvX^4Cz|CZ@YKAkN%v{Z>hErD)*^H7DLokdNhWU0E!qW&&gkFTB00uLd z=jFiz@?Zi=R%)o!#>-H3gQx^dfq)q>QHRQ@{4^VNf*L!nGf|hqT_;gN;Q`%>6VRi$ z06P=`5Y!&fr+5JUN(Z2*cmV^74-`k#co=^2RD!cUObBW$z8hx&Zjb^~ATf(va6rkj zgaRoxCTg|7Oo6pq4A>;OK<+XVVTZwG;%U|JB=wl0UW#8$<&5q`Ha(k6sWH`(xgO>W zPFGWxv>*&;@JP|M0m$n(RTmmhZCE zdZ-x9a%u5J&)pI8;V>w>%{$i;1CAyg4UrN*-Xtx2MlQ<$eb-V2!< zB!>;^sX#7U{Oxa40{65%PzbXccBNdo%W9xq#BibAz8z2LNReeNOe?3=Tnv;k-`QM2 zz3L>;H_*8)lCQ=7o55S*iWn>jL2Wp-rCIJ+j3&!v)Ka=W^N)%*u`20WMxu^WAoq(aO{CRb2u=ruD4M z6}eB{WpS_~4wi($_SvFY(b>L9XRD9}7Ul?fGeyX2!39UbQEXX7gJ!PBzKR8|!2U)k zaQGJ3E3~P`7Ptj=d7!{H*VxfwL53e!lu_sF%L?;UU9=(SZ3ucgo=T~D&fu_%!P7=nA!)>r?68L z0A#h}u_dk|^nK?f+kSTA-0#l)@#HH1hclm^Sr0z77JRB49H|6H%F;6x>6sc~+=CQA zmfpa+ch8!4Pcc&VhAZB1i9R()qe;8m1o$2`f;^}>1QNRed<^92_jYfNi zg#e>ClLQP1$8Sq^`F+a#mRaE3q`+-0ZJ3uOOS`NYlG(S15MQ;=vo7Wka6Q6{iS zEij+J*0I2ULT+>R{t9`Y1=Hu><>#0=GVgeW%%Q8Y^s$H>YD~toXSCv-k z?!0fedP;?-A2f*d)bsi5bH^t!1yyD#=97 z@Ylbo#^~;jdSAnH5gjd^lW7vp`0T8jQNm7B(NV_@p{~c8_BIKcy^ooJ*1igy5hfw zbZ)Bz;M{z(^@DQVsO1I9HstUYO{2+lkm;>Yuzf2>{POxqrFM9AMc$ zRq;=igekobIB}oZKDLv+zteMq;qUM585`yAkMfYW?E%n1QX@8ZgSNPfCT&G9d&J6$ zK(kzPfobNi(AtJebl^@fnbC9cOhPr>u^2s-#9~w}V7EheID9rYqiVKIgfkXX-+~QV zpeb&%CW9hIkGM$w^RT;mycIaZw!MZ)B*RmE- zUo2fPhBi2eGS@eGF1vSGfFo+LwLkPS(`MfV`)$WWqO~dV_DOg*o&xwK=p{PI*SZ%N z8<#hQtc&CZ!;odE8CDqWIp`l|4R+|DhO=(v)Fb!kv#wlWK%O)NGvn#v|% z>v(*~YK41I9V5;E;I~Lhy@%l`9=h$gIrg#hmeVY^B4yzt<^V{GhBxkVHkoON&Wm4; zVPwlp>#g%LTrsQ$5w`45>s2~Vp}xhYpI_xF`<{hwmU|CZdJivot76xO^B>IL^p?ee zia1ab2HNF_-hs+-1TyyM(^OjUnCOu$MTIiNc0k8%C&-JN$g}%Gc`kH74&~WU7y|K2 zFd7~Z@Du}T8iZn)p=zq5XzSZ=Xn;rY%_j)6ZVuW}4uco!>iKA>(iJX=5qMT7KYzu{ zeSyXLBSh%p;Fx?W+^M~W-}l5~=`5aMVll%Ti@kLNd3tn0poBb%Y24?!isZit&*i73t>VA5dDfe$@_fF;eaPSy3zn z4lbUqaSnbT_&FPR7=8fu5e;x!Ia&wB{Yb5Y)5Z7Ihy`6d4|@;``~m(VQzI=HbnqVh zU>!Uxzqdv#5EyBD!_&R?20|Qxsz(HKO$ES}(&fGbnY!*aRG``s zSd7#-1|{AO<{;SL#$sd=rVaBr*SOzM9hW(iK#0n#&S^FeMPN91VYumlqYjuL?w@R2 z$1arXCm^%=Y}hpR)+l6;R(1(!3Je3^@xY(fh0u+#`5;S;Dc{??m}-h49iLxxyCy}&Ihmoae{q? z#u-G#P*L&JLR@tV!42*YSO_{Lyj?27e|xf9NMpCa7%seQgL}7jX`tHX`=~Uwu!$9* z>L^QU6Cb|!!Fy#jZ48F>JILdUIKLl-ca= zQ&@-a5xhFyT(+!;>QyOpw6u4$92i|ZjX!hV*dyG7fnCWaATmJ)E*T)h!pT6e92uIG zG0<`kH`KU?8^U|Iq2|d%Hv^d$I%ssBG^A0Rpwd9TXlVEvhhw@L2Zm!{)YKgpB`#qz zF)T!_pA018>#X|x)edjf>#KH4h<*{CTBq9&UjkV4)Ou(uvD)FQdi}JOzv>Ubv$<8E zF_u{E?r9yX3&-kW7yYn2U+>b1\d+))?$") + + def __init__(self, step=None): + self.step = asint(step) + if self.step == 0: + raise ValueError("Increment must be higher than 0") + + def validate_range(self, field_name): + from apscheduler.triggers.cron.fields import MAX_VALUES, MIN_VALUES + + value_range = MAX_VALUES[field_name] - MIN_VALUES[field_name] + if self.step and self.step > value_range: + raise ValueError( + f"the step value ({self.step}) is higher than the total range of the " + f"expression ({value_range})" + ) + + def get_next_value(self, date, field): + start = field.get_value(date) + minval = field.get_min(date) + maxval = field.get_max(date) + start = max(start, minval) + + if not self.step: + next = start + else: + distance_to_next = (self.step - (start - minval)) % self.step + next = start + distance_to_next + + if next <= maxval: + return next + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.step == other.step + + def __str__(self): + if self.step: + return "*/%d" % self.step + return "*" + + def __repr__(self): + return f"{self.__class__.__name__}({self.step})" + + +class RangeExpression(AllExpression): + value_re = re.compile(r"(?P\d+)(?:-(?P\d+))?(?:/(?P\d+))?$") + + def __init__(self, first, last=None, step=None): + super().__init__(step) + first = asint(first) + last = asint(last) + if last is None and step is None: + last = first + if last is not None and first > last: + raise ValueError( + "The minimum value in a range must not be higher than the maximum" + ) + self.first = first + self.last = last + + def validate_range(self, field_name): + from apscheduler.triggers.cron.fields import MAX_VALUES, MIN_VALUES + + super().validate_range(field_name) + if self.first < MIN_VALUES[field_name]: + raise ValueError( + f"the first value ({self.first}) is lower than the minimum value ({MIN_VALUES[field_name]})" + ) + if self.last is not None and self.last > MAX_VALUES[field_name]: + raise ValueError( + f"the last value ({self.last}) is higher than the maximum value ({MAX_VALUES[field_name]})" + ) + value_range = (self.last or MAX_VALUES[field_name]) - self.first + if self.step and self.step > value_range: + raise ValueError( + f"the step value ({self.step}) is higher than the total range of the " + f"expression ({value_range})" + ) + + def get_next_value(self, date, field): + startval = field.get_value(date) + minval = field.get_min(date) + maxval = field.get_max(date) + + # Apply range limits + minval = max(minval, self.first) + maxval = min(maxval, self.last) if self.last is not None else maxval + nextval = max(minval, startval) + + # Apply the step if defined + if self.step: + distance_to_next = (self.step - (nextval - minval)) % self.step + nextval += distance_to_next + + return nextval if nextval <= maxval else None + + def __eq__(self, other): + return ( + isinstance(other, self.__class__) + and self.first == other.first + and self.last == other.last + ) + + def __str__(self): + if self.last != self.first and self.last is not None: + range = "%d-%d" % (self.first, self.last) + else: + range = str(self.first) + + if self.step: + return "%s/%d" % (range, self.step) + + return range + + def __repr__(self): + args = [str(self.first)] + if self.last != self.first and self.last is not None or self.step: + args.append(str(self.last)) + + if self.step: + args.append(str(self.step)) + + return "{}({})".format(self.__class__.__name__, ", ".join(args)) + + +class MonthRangeExpression(RangeExpression): + value_re = re.compile(r"(?P[a-z]+)(?:-(?P[a-z]+))?", re.IGNORECASE) + + def __init__(self, first, last=None): + try: + first_num = MONTHS.index(first.lower()) + 1 + except ValueError: + raise ValueError(f'Invalid month name "{first}"') + + if last: + try: + last_num = MONTHS.index(last.lower()) + 1 + except ValueError: + raise ValueError(f'Invalid month name "{last}"') + else: + last_num = None + + super().__init__(first_num, last_num) + + def __str__(self): + if self.last != self.first and self.last is not None: + return f"{MONTHS[self.first - 1]}-{MONTHS[self.last - 1]}" + return MONTHS[self.first - 1] + + def __repr__(self): + args = [f"'{MONTHS[self.first]}'"] + if self.last != self.first and self.last is not None: + args.append(f"'{MONTHS[self.last - 1]}'") + return "{}({})".format(self.__class__.__name__, ", ".join(args)) + + +class WeekdayRangeExpression(RangeExpression): + value_re = re.compile(r"(?P[a-z]+)(?:-(?P[a-z]+))?", re.IGNORECASE) + + def __init__(self, first, last=None): + try: + first_num = WEEKDAYS.index(first.lower()) + except ValueError: + raise ValueError(f'Invalid weekday name "{first}"') + + if last: + try: + last_num = WEEKDAYS.index(last.lower()) + except ValueError: + raise ValueError(f'Invalid weekday name "{last}"') + else: + last_num = None + + super().__init__(first_num, last_num) + + def __str__(self): + if self.last != self.first and self.last is not None: + return f"{WEEKDAYS[self.first]}-{WEEKDAYS[self.last]}" + return WEEKDAYS[self.first] + + def __repr__(self): + args = [f"'{WEEKDAYS[self.first]}'"] + if self.last != self.first and self.last is not None: + args.append(f"'{WEEKDAYS[self.last]}'") + return "{}({})".format(self.__class__.__name__, ", ".join(args)) + + +class WeekdayPositionExpression(AllExpression): + options = ["1st", "2nd", "3rd", "4th", "5th", "last"] + value_re = re.compile( + r"(?P{}) +(?P(?:\d+|\w+))".format("|".join(options)), + re.IGNORECASE, + ) + + def __init__(self, option_name, weekday_name): + super().__init__(None) + try: + self.option_num = self.options.index(option_name.lower()) + except ValueError: + raise ValueError(f'Invalid weekday position "{option_name}"') + + try: + self.weekday = WEEKDAYS.index(weekday_name.lower()) + except ValueError: + raise ValueError(f'Invalid weekday name "{weekday_name}"') + + def get_next_value(self, date, field): + # Figure out the weekday of the month's first day and the number of days in that month + first_day_wday, last_day = monthrange(date.year, date.month) + + # Calculate which day of the month is the first of the target weekdays + first_hit_day = self.weekday - first_day_wday + 1 + if first_hit_day <= 0: + first_hit_day += 7 + + # Calculate what day of the month the target weekday would be + if self.option_num < 5: + target_day = first_hit_day + self.option_num * 7 + else: + target_day = first_hit_day + ((last_day - first_hit_day) // 7) * 7 + + if target_day <= last_day and target_day >= date.day: + return target_day + + def __eq__(self, other): + return ( + super().__eq__(other) + and self.option_num == other.option_num + and self.weekday == other.weekday + ) + + def __str__(self): + return f"{self.options[self.option_num]} {WEEKDAYS[self.weekday]}" + + def __repr__(self): + return f"{self.__class__.__name__}('{self.options[self.option_num]}', '{WEEKDAYS[self.weekday]}')" + + +class LastDayOfMonthExpression(AllExpression): + value_re = re.compile(r"last", re.IGNORECASE) + + def __init__(self): + super().__init__(None) + + def get_next_value(self, date, field): + return monthrange(date.year, date.month)[1] + + def __str__(self): + return "last" + + def __repr__(self): + return f"{self.__class__.__name__}()" diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/fields.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/fields.py new file mode 100644 index 0000000..4c08179 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/cron/fields.py @@ -0,0 +1,149 @@ +"""Fields represent CronTrigger options which map to :class:`~datetime.datetime` fields.""" + +__all__ = ( + "MIN_VALUES", + "MAX_VALUES", + "DEFAULT_VALUES", + "BaseField", + "WeekField", + "DayOfMonthField", + "DayOfWeekField", +) + +import re +from calendar import monthrange + +from apscheduler.triggers.cron.expressions import ( + AllExpression, + LastDayOfMonthExpression, + MonthRangeExpression, + RangeExpression, + WeekdayPositionExpression, + WeekdayRangeExpression, +) + +MIN_VALUES = { + "year": 1970, + "month": 1, + "day": 1, + "week": 1, + "day_of_week": 0, + "hour": 0, + "minute": 0, + "second": 0, +} +MAX_VALUES = { + "year": 9999, + "month": 12, + "day": 31, + "week": 53, + "day_of_week": 6, + "hour": 23, + "minute": 59, + "second": 59, +} +DEFAULT_VALUES = { + "year": "*", + "month": 1, + "day": 1, + "week": "*", + "day_of_week": "*", + "hour": 0, + "minute": 0, + "second": 0, +} +SEPARATOR = re.compile(" *, *") + + +class BaseField: + REAL = True + COMPILERS = [AllExpression, RangeExpression] + + def __init__(self, name, exprs, is_default=False): + self.name = name + self.is_default = is_default + self.compile_expressions(exprs) + + def get_min(self, dateval): + return MIN_VALUES[self.name] + + def get_max(self, dateval): + return MAX_VALUES[self.name] + + def get_value(self, dateval): + return getattr(dateval, self.name) + + def get_next_value(self, dateval): + smallest = None + for expr in self.expressions: + value = expr.get_next_value(dateval, self) + if smallest is None or (value is not None and value < smallest): + smallest = value + + return smallest + + def compile_expressions(self, exprs): + self.expressions = [] + + # Split a comma-separated expression list, if any + for expr in SEPARATOR.split(str(exprs).strip()): + self.compile_expression(expr) + + def compile_expression(self, expr): + for compiler in self.COMPILERS: + match = compiler.value_re.match(expr) + if match: + compiled_expr = compiler(**match.groupdict()) + + try: + compiled_expr.validate_range(self.name) + except ValueError as e: + raise ValueError( + f"Error validating expression {expr!r}: {e}" + ) from None + + self.expressions.append(compiled_expr) + return + + raise ValueError(f'Unrecognized expression "{expr}" for field "{self.name}"') + + def __eq__(self, other): + return ( + isinstance(self, self.__class__) and self.expressions == other.expressions + ) + + def __str__(self): + expr_strings = (str(e) for e in self.expressions) + return ",".join(expr_strings) + + def __repr__(self): + return f"{self.__class__.__name__}('{self.name}', '{self}')" + + +class WeekField(BaseField): + REAL = False + + def get_value(self, dateval): + return dateval.isocalendar()[1] + + +class DayOfMonthField(BaseField): + COMPILERS = BaseField.COMPILERS + [ + WeekdayPositionExpression, + LastDayOfMonthExpression, + ] + + def get_max(self, dateval): + return monthrange(dateval.year, dateval.month)[1] + + +class DayOfWeekField(BaseField): + REAL = False + COMPILERS = BaseField.COMPILERS + [WeekdayRangeExpression] + + def get_value(self, dateval): + return dateval.weekday() + + +class MonthField(BaseField): + COMPILERS = BaseField.COMPILERS + [MonthRangeExpression] diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/date.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/date.py new file mode 100644 index 0000000..a9302da --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/date.py @@ -0,0 +1,51 @@ +from datetime import datetime + +from tzlocal import get_localzone + +from apscheduler.triggers.base import BaseTrigger +from apscheduler.util import astimezone, convert_to_datetime, datetime_repr + + +class DateTrigger(BaseTrigger): + """ + Triggers once on the given datetime. If ``run_date`` is left empty, current time is used. + + :param datetime|str run_date: the date/time to run the job at + :param datetime.tzinfo|str timezone: time zone for ``run_date`` if it doesn't have one already + """ + + __slots__ = "run_date" + + def __init__(self, run_date=None, timezone=None): + timezone = astimezone(timezone) or get_localzone() + if run_date is not None: + self.run_date = convert_to_datetime(run_date, timezone, "run_date") + else: + self.run_date = datetime.now(timezone) + + def get_next_fire_time(self, previous_fire_time, now): + return self.run_date if previous_fire_time is None else None + + def __getstate__(self): + return {"version": 1, "run_date": self.run_date} + + def __setstate__(self, state): + # This is for compatibility with APScheduler 3.0.x + if isinstance(state, tuple): + state = state[1] + + if state.get("version", 1) > 1: + raise ValueError( + f"Got serialized data for version {state['version']} of " + f"{self.__class__.__name__}, but only version 1 can be handled" + ) + + self.run_date = state["run_date"] + + def __str__(self): + return f"date[{datetime_repr(self.run_date)}]" + + def __repr__(self): + return ( + f"<{self.__class__.__name__} (run_date='{datetime_repr(self.run_date)}')>" + ) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/interval.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/interval.py new file mode 100644 index 0000000..9264c4a --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/triggers/interval.py @@ -0,0 +1,138 @@ +import random +from datetime import datetime, timedelta +from math import ceil + +from tzlocal import get_localzone + +from apscheduler.triggers.base import BaseTrigger +from apscheduler.util import ( + astimezone, + convert_to_datetime, + datetime_repr, +) + + +class IntervalTrigger(BaseTrigger): + """ + Triggers on specified intervals, starting on ``start_date`` if specified, ``datetime.now()`` + + interval otherwise. + + :param int weeks: number of weeks to wait + :param int days: number of days to wait + :param int hours: number of hours to wait + :param int minutes: number of minutes to wait + :param int seconds: number of seconds to wait + :param datetime|str start_date: starting point for the interval calculation + :param datetime|str end_date: latest possible date/time to trigger on + :param datetime.tzinfo|str timezone: time zone to use for the date/time calculations + :param int|None jitter: delay the job execution by ``jitter`` seconds at most + """ + + __slots__ = ( + "timezone", + "start_date", + "end_date", + "interval", + "interval_length", + "jitter", + ) + + def __init__( + self, + weeks=0, + days=0, + hours=0, + minutes=0, + seconds=0, + start_date=None, + end_date=None, + timezone=None, + jitter=None, + ): + self.interval = timedelta( + weeks=weeks, days=days, hours=hours, minutes=minutes, seconds=seconds + ) + self.interval_length = self.interval.total_seconds() + if self.interval_length == 0: + self.interval = timedelta(seconds=1) + self.interval_length = 1 + + if timezone: + self.timezone = astimezone(timezone) + elif isinstance(start_date, datetime) and start_date.tzinfo: + self.timezone = astimezone(start_date.tzinfo) + elif isinstance(end_date, datetime) and end_date.tzinfo: + self.timezone = astimezone(end_date.tzinfo) + else: + self.timezone = get_localzone() + + start_date = start_date or (datetime.now(self.timezone) + self.interval) + self.start_date = convert_to_datetime(start_date, self.timezone, "start_date") + self.end_date = convert_to_datetime(end_date, self.timezone, "end_date") + + self.jitter = jitter + + def get_next_fire_time(self, previous_fire_time, now): + if previous_fire_time: + next_fire_time = previous_fire_time.timestamp() + self.interval_length + elif self.start_date > now: + next_fire_time = self.start_date.timestamp() + else: + timediff = now.timestamp() - self.start_date.timestamp() + next_interval_num = int(ceil(timediff / self.interval_length)) + next_fire_time = ( + self.start_date.timestamp() + self.interval_length * next_interval_num + ) + + if self.jitter is not None: + next_fire_time += random.uniform(0, self.jitter) + + if not self.end_date or next_fire_time <= self.end_date.timestamp(): + return datetime.fromtimestamp(next_fire_time, tz=self.timezone) + + def __getstate__(self): + return { + "version": 2, + "timezone": astimezone(self.timezone), + "start_date": self.start_date, + "end_date": self.end_date, + "interval": self.interval, + "jitter": self.jitter, + } + + def __setstate__(self, state): + # This is for compatibility with APScheduler 3.0.x + if isinstance(state, tuple): + state = state[1] + + if state.get("version", 1) > 2: + raise ValueError( + f"Got serialized data for version {state['version']} of " + f"{self.__class__.__name__}, but only versions up to 2 can be handled" + ) + + self.timezone = state["timezone"] + self.start_date = state["start_date"] + self.end_date = state["end_date"] + self.interval = state["interval"] + self.interval_length = self.interval.total_seconds() + self.jitter = state.get("jitter") + + def __str__(self): + return f"interval[{self.interval!s}]" + + def __repr__(self): + options = [ + f"interval={self.interval!r}", + f"start_date={datetime_repr(self.start_date)!r}", + ] + if self.end_date: + options.append(f"end_date={datetime_repr(self.end_date)!r}") + if self.jitter: + options.append(f"jitter={self.jitter}") + + return "<{} ({}, timezone='{}')>".format( + self.__class__.__name__, + ", ".join(options), + self.timezone, + ) diff --git a/botenre/myenv/lib/python3.11/site-packages/apscheduler/util.py b/botenre/myenv/lib/python3.11/site-packages/apscheduler/util.py new file mode 100644 index 0000000..82eb8c0 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/apscheduler/util.py @@ -0,0 +1,461 @@ +"""This module contains several handy functions primarily meant for internal use.""" + +__all__ = ( + "asint", + "asbool", + "astimezone", + "convert_to_datetime", + "datetime_to_utc_timestamp", + "utc_timestamp_to_datetime", + "datetime_ceil", + "get_callable_name", + "obj_to_ref", + "ref_to_obj", + "maybe_ref", + "check_callable_args", + "normalize", + "localize", + "undefined", +) + +import re +import sys +from calendar import timegm +from datetime import date, datetime, time, timedelta, timezone, tzinfo +from functools import partial +from inspect import isbuiltin, isclass, isfunction, ismethod, signature + +if sys.version_info < (3, 14): + from asyncio import iscoroutinefunction +else: + from inspect import iscoroutinefunction + +if sys.version_info < (3, 9): + from backports.zoneinfo import ZoneInfo +else: + from zoneinfo import ZoneInfo + + +class _Undefined: + def __nonzero__(self): + return False + + def __bool__(self): + return False + + def __repr__(self): + return "" + + +undefined = ( + _Undefined() +) #: a unique object that only signifies that no value is defined + + +def asint(text): + """ + Safely converts a string to an integer, returning ``None`` if the string is ``None``. + + :type text: str + :rtype: int + + """ + if text is not None: + return int(text) + + +def asbool(obj): + """ + Interprets an object as a boolean value. + + :rtype: bool + + """ + if isinstance(obj, str): + obj = obj.strip().lower() + if obj in ("true", "yes", "on", "y", "t", "1"): + return True + + if obj in ("false", "no", "off", "n", "f", "0"): + return False + + raise ValueError(f'Unable to interpret value "{obj}" as boolean') + + return bool(obj) + + +def astimezone(obj): + """ + Interprets an object as a timezone. + + :rtype: tzinfo + + """ + if isinstance(obj, str): + if obj == "UTC": + return timezone.utc + + return ZoneInfo(obj) + + if isinstance(obj, tzinfo): + if obj.tzname(None) == "local": + raise ValueError( + "Unable to determine the name of the local timezone -- you must " + "explicitly specify the name of the local timezone. Please refrain " + "from using timezones like EST to prevent problems with daylight " + "saving time. Instead, use a locale based timezone name (such as " + "Europe/Helsinki)." + ) + elif isinstance(obj, ZoneInfo): + return obj + elif hasattr(obj, "zone"): + # pytz timezones + if obj.zone: + return ZoneInfo(obj.zone) + + return timezone(obj._offset) + + return obj + + if obj is not None: + raise TypeError(f"Expected tzinfo, got {obj.__class__.__name__} instead") + + +def asdate(obj): + if isinstance(obj, str): + return date.fromisoformat(obj) + + return obj + + +_DATE_REGEX = re.compile( + r"(?P\d{4})-(?P\d{1,2})-(?P\d{1,2})" + r"(?:[ T](?P\d{1,2}):(?P\d{1,2}):(?P\d{1,2})" + r"(?:\.(?P\d{1,6}))?" + r"(?PZ|[+-]\d\d:\d\d)?)?$" +) + + +def convert_to_datetime(input, tz, arg_name): + """ + Converts the given object to a timezone aware datetime object. + + If a timezone aware datetime object is passed, it is returned unmodified. + If a native datetime object is passed, it is given the specified timezone. + If the input is a string, it is parsed as a datetime with the given timezone. + + Date strings are accepted in three different forms: date only (Y-m-d), date with + time (Y-m-d H:M:S) or with date+time with microseconds (Y-m-d H:M:S.micro). + Additionally you can override the time zone by giving a specific offset in the + format specified by ISO 8601: Z (UTC), +HH:MM or -HH:MM. + + :param str|datetime input: the datetime or string to convert to a timezone aware + datetime + :param datetime.tzinfo tz: timezone to interpret ``input`` in + :param str arg_name: the name of the argument (used in an error message) + :rtype: datetime + + """ + if input is None: + return + elif isinstance(input, datetime): + datetime_ = input + elif isinstance(input, date): + datetime_ = datetime.combine(input, time()) + elif isinstance(input, str): + m = _DATE_REGEX.match(input) + if not m: + raise ValueError("Invalid date string") + + values = m.groupdict() + tzname = values.pop("timezone") + if tzname == "Z": + tz = timezone.utc + elif tzname: + hours, minutes = (int(x) for x in tzname[1:].split(":")) + sign = 1 if tzname[0] == "+" else -1 + tz = timezone(sign * timedelta(hours=hours, minutes=minutes)) + + values = {k: int(v or 0) for k, v in values.items()} + datetime_ = datetime(**values) + else: + raise TypeError(f"Unsupported type for {arg_name}: {input.__class__.__name__}") + + if datetime_.tzinfo is not None: + return datetime_ + if tz is None: + raise ValueError( + f'The "tz" argument must be specified if {arg_name} has no timezone information' + ) + if isinstance(tz, str): + tz = astimezone(tz) + + return localize(datetime_, tz) + + +def datetime_to_utc_timestamp(timeval): + """ + Converts a datetime instance to a timestamp. + + :type timeval: datetime + :rtype: float + + """ + if timeval is not None: + return timegm(timeval.utctimetuple()) + timeval.microsecond / 1000000 + + +def utc_timestamp_to_datetime(timestamp): + """ + Converts the given timestamp to a datetime instance. + + :type timestamp: float + :rtype: datetime + + """ + if timestamp is not None: + return datetime.fromtimestamp(timestamp, timezone.utc) + + +def timedelta_seconds(delta): + """ + Converts the given timedelta to seconds. + + :type delta: timedelta + :rtype: float + + """ + return delta.days * 24 * 60 * 60 + delta.seconds + delta.microseconds / 1000000.0 + + +def datetime_ceil(dateval): + """ + Rounds the given datetime object upwards. + + :type dateval: datetime + + """ + if dateval.microsecond > 0: + return dateval + timedelta(seconds=1, microseconds=-dateval.microsecond) + return dateval + + +def datetime_repr(dateval): + return dateval.strftime("%Y-%m-%d %H:%M:%S %Z") if dateval else "None" + + +def timezone_repr(timezone: tzinfo) -> str: + if isinstance(timezone, ZoneInfo): + return timezone.key + + return repr(timezone) + + +def get_callable_name(func): + """ + Returns the best available display name for the given function/callable. + + :rtype: str + + """ + if ismethod(func): + self = func.__self__ + cls = self if isclass(self) else type(self) + return f"{cls.__qualname__}.{func.__name__}" + elif isclass(func) or isfunction(func) or isbuiltin(func): + return func.__qualname__ + elif hasattr(func, "__call__") and callable(func.__call__): + # instance of a class with a __call__ method + return type(func).__qualname__ + + raise TypeError( + f"Unable to determine a name for {func!r} -- maybe it is not a callable?" + ) + + +def obj_to_ref(obj): + """ + Returns the path to the given callable. + + :rtype: str + :raises TypeError: if the given object is not callable + :raises ValueError: if the given object is a :class:`~functools.partial`, lambda or a nested + function + + """ + if isinstance(obj, partial): + raise ValueError("Cannot create a reference to a partial()") + + name = get_callable_name(obj) + if "" in name: + raise ValueError("Cannot create a reference to a lambda") + if "" in name: + raise ValueError("Cannot create a reference to a nested function") + + if ismethod(obj): + module = obj.__self__.__module__ + else: + module = obj.__module__ + + return f"{module}:{name}" + + +def ref_to_obj(ref): + """ + Returns the object pointed to by ``ref``. + + :type ref: str + + """ + if not isinstance(ref, str): + raise TypeError("References must be strings") + if ":" not in ref: + raise ValueError("Invalid reference") + + modulename, rest = ref.split(":", 1) + try: + obj = __import__(modulename, fromlist=[rest]) + except ImportError as exc: + raise LookupError( + f"Error resolving reference {ref}: could not import module" + ) from exc + + try: + for name in rest.split("."): + obj = getattr(obj, name) + return obj + except Exception: + raise LookupError(f"Error resolving reference {ref}: error looking up object") + + +def maybe_ref(ref): + """ + Returns the object that the given reference points to, if it is indeed a reference. + If it is not a reference, the object is returned as-is. + + """ + if not isinstance(ref, str): + return ref + return ref_to_obj(ref) + + +def check_callable_args(func, args, kwargs): + """ + Ensures that the given callable can be called with the given arguments. + + :type args: tuple + :type kwargs: dict + + """ + pos_kwargs_conflicts = [] # parameters that have a match in both args and kwargs + positional_only_kwargs = [] # positional-only parameters that have a match in kwargs + unsatisfied_args = [] # parameters in signature that don't have a match in args or kwargs + unsatisfied_kwargs = [] # keyword-only arguments that don't have a match in kwargs + unmatched_args = list( + args + ) # args that didn't match any of the parameters in the signature + # kwargs that didn't match any of the parameters in the signature + unmatched_kwargs = list(kwargs) + # indicates if the signature defines *args and **kwargs respectively + has_varargs = has_var_kwargs = False + + try: + sig = signature(func, follow_wrapped=False) + except ValueError: + # signature() doesn't work against every kind of callable + return + + for param in sig.parameters.values(): + if param.kind == param.POSITIONAL_OR_KEYWORD: + if param.name in unmatched_kwargs and unmatched_args: + pos_kwargs_conflicts.append(param.name) + elif unmatched_args: + del unmatched_args[0] + elif param.name in unmatched_kwargs: + unmatched_kwargs.remove(param.name) + elif param.default is param.empty: + unsatisfied_args.append(param.name) + elif param.kind == param.POSITIONAL_ONLY: + if unmatched_args: + del unmatched_args[0] + elif param.name in unmatched_kwargs: + unmatched_kwargs.remove(param.name) + positional_only_kwargs.append(param.name) + elif param.default is param.empty: + unsatisfied_args.append(param.name) + elif param.kind == param.KEYWORD_ONLY: + if param.name in unmatched_kwargs: + unmatched_kwargs.remove(param.name) + elif param.default is param.empty: + unsatisfied_kwargs.append(param.name) + elif param.kind == param.VAR_POSITIONAL: + has_varargs = True + elif param.kind == param.VAR_KEYWORD: + has_var_kwargs = True + + # Make sure there are no conflicts between args and kwargs + if pos_kwargs_conflicts: + raise ValueError( + "The following arguments are supplied in both args and kwargs: {}".format( + ", ".join(pos_kwargs_conflicts) + ) + ) + + # Check if keyword arguments are being fed to positional-only parameters + if positional_only_kwargs: + raise ValueError( + "The following arguments cannot be given as keyword arguments: {}".format( + ", ".join(positional_only_kwargs) + ) + ) + + # Check that the number of positional arguments minus the number of matched kwargs + # matches the argspec + if unsatisfied_args: + raise ValueError( + "The following arguments have not been supplied: {}".format( + ", ".join(unsatisfied_args) + ) + ) + + # Check that all keyword-only arguments have been supplied + if unsatisfied_kwargs: + raise ValueError( + "The following keyword-only arguments have not been supplied in kwargs: " + "{}".format(", ".join(unsatisfied_kwargs)) + ) + + # Check that the callable can accept the given number of positional arguments + if not has_varargs and unmatched_args: + raise ValueError( + f"The list of positional arguments is longer than the target callable can " + f"handle (allowed: {len(args) - len(unmatched_args)}, given in args: " + f"{len(args)})" + ) + + # Check that the callable can accept the given keyword arguments + if not has_var_kwargs and unmatched_kwargs: + raise ValueError( + "The target callable does not accept the following keyword arguments: " + "{}".format(", ".join(unmatched_kwargs)) + ) + + +def iscoroutinefunction_partial(f): + while isinstance(f, partial): + f = f.func + + # The asyncio version of iscoroutinefunction includes testing for @coroutine + # decorations vs. the inspect version which does not. + return iscoroutinefunction(f) + + +def normalize(dt): + return datetime.fromtimestamp(dt.timestamp(), dt.tzinfo) + + +def localize(dt, tzinfo): + if hasattr(tzinfo, "localize"): + return tzinfo.localize(dt) + + return normalize(dt.replace(tzinfo=tzinfo)) diff --git a/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/INSTALLER b/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/LICENSE b/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/LICENSE new file mode 100644 index 0000000..62b076c --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/LICENSE @@ -0,0 +1,20 @@ +This package contains a modified version of ca-bundle.crt: + +ca-bundle.crt -- Bundle of CA Root Certificates + +This is a bundle of X.509 certificates of public Certificate Authorities +(CA). These were automatically extracted from Mozilla's root certificates +file (certdata.txt). This file can be found in the mozilla source tree: +https://hg.mozilla.org/mozilla-central/file/tip/security/nss/lib/ckfw/builtins/certdata.txt +It contains the certificates in PEM format and therefore +can be directly used with curl / libcurl / php_curl, or with +an Apache+mod_ssl webserver for SSL client authentication. +Just configure this file as the SSLCACertificateFile.# + +***** BEGIN LICENSE BLOCK ***** +This Source Code Form is subject to the terms of the Mozilla Public License, +v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain +one at http://mozilla.org/MPL/2.0/. + +***** END LICENSE BLOCK ***** +@(#) $RCSfile: certdata.txt,v $ $Revision: 1.80 $ $Date: 2011/11/03 15:11:58 $ diff --git a/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/METADATA b/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/METADATA new file mode 100644 index 0000000..50af144 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/METADATA @@ -0,0 +1,77 @@ +Metadata-Version: 2.2 +Name: certifi +Version: 2025.1.31 +Summary: Python package for providing Mozilla's CA Bundle. +Home-page: https://github.com/certifi/python-certifi +Author: Kenneth Reitz +Author-email: me@kennethreitz.com +License: MPL-2.0 +Project-URL: Source, https://github.com/certifi/python-certifi +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0) +Classifier: Natural Language :: English +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 +Requires-Python: >=3.6 +License-File: LICENSE +Dynamic: author +Dynamic: author-email +Dynamic: classifier +Dynamic: description +Dynamic: home-page +Dynamic: license +Dynamic: project-url +Dynamic: requires-python +Dynamic: summary + +Certifi: Python SSL Certificates +================================ + +Certifi provides Mozilla's carefully curated collection of Root Certificates for +validating the trustworthiness of SSL certificates while verifying the identity +of TLS hosts. It has been extracted from the `Requests`_ project. + +Installation +------------ + +``certifi`` is available on PyPI. Simply install it with ``pip``:: + + $ pip install certifi + +Usage +----- + +To reference the installed certificate authority (CA) bundle, you can use the +built-in function:: + + >>> import certifi + + >>> certifi.where() + '/usr/local/lib/python3.7/site-packages/certifi/cacert.pem' + +Or from the command line:: + + $ python -m certifi + /usr/local/lib/python3.7/site-packages/certifi/cacert.pem + +Enjoy! + +.. _`Requests`: https://requests.readthedocs.io/en/master/ + +Addition/Removal of Certificates +-------------------------------- + +Certifi does not support any addition/removal or other modification of the +CA trust store content. This project is intended to provide a reliable and +highly portable root of trust to python deployments. Look to upstream projects +for methods to use alternate trust. diff --git a/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/RECORD b/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/RECORD new file mode 100644 index 0000000..c6a380e --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/RECORD @@ -0,0 +1,14 @@ +certifi-2025.1.31.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +certifi-2025.1.31.dist-info/LICENSE,sha256=6TcW2mucDVpKHfYP5pWzcPBpVgPSH2-D8FPkLPwQyvc,989 +certifi-2025.1.31.dist-info/METADATA,sha256=t5kcT5aGu0dQ6_psUNZYTqnC0uCRnponewm3uYjeHbg,2451 +certifi-2025.1.31.dist-info/RECORD,, +certifi-2025.1.31.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91 +certifi-2025.1.31.dist-info/top_level.txt,sha256=KMu4vUCfsjLrkPbSNdgdekS-pVJzBAJFO__nI8NF6-U,8 +certifi/__init__.py,sha256=neIaAf7BM36ygmQCmy-ZsSyjnvjWghFeu13wwEAnjj0,94 +certifi/__main__.py,sha256=xBBoj905TUWBLRGANOcf7oi6e-3dMP4cEoG9OyMs11g,243 +certifi/__pycache__/__init__.cpython-311.pyc,, +certifi/__pycache__/__main__.cpython-311.pyc,, +certifi/__pycache__/core.cpython-311.pyc,, +certifi/cacert.pem,sha256=xVsh-Qf3-G1IrdCTVS-1ZRdJ_1-GBQjMu0I9bB-9gMc,297255 +certifi/core.py,sha256=qRDDFyXVJwTB_EmoGppaXU_R9qCZvhl-EzxPMuV3nTA,4426 +certifi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/WHEEL b/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/WHEEL new file mode 100644 index 0000000..505164b --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: setuptools (75.8.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/top_level.txt b/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/top_level.txt new file mode 100644 index 0000000..963eac5 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/certifi-2025.1.31.dist-info/top_level.txt @@ -0,0 +1 @@ +certifi diff --git a/botenre/myenv/lib/python3.11/site-packages/certifi/__init__.py b/botenre/myenv/lib/python3.11/site-packages/certifi/__init__.py new file mode 100644 index 0000000..177082e --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/certifi/__init__.py @@ -0,0 +1,4 @@ +from .core import contents, where + +__all__ = ["contents", "where"] +__version__ = "2025.01.31" diff --git a/botenre/myenv/lib/python3.11/site-packages/certifi/__main__.py b/botenre/myenv/lib/python3.11/site-packages/certifi/__main__.py new file mode 100644 index 0000000..8945b5d --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/certifi/__main__.py @@ -0,0 +1,12 @@ +import argparse + +from certifi import contents, where + +parser = argparse.ArgumentParser() +parser.add_argument("-c", "--contents", action="store_true") +args = parser.parse_args() + +if args.contents: + print(contents()) +else: + print(where()) diff --git a/botenre/myenv/lib/python3.11/site-packages/certifi/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/certifi/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a436e34cce835ad7b2bb14ac6b543173de7f3604 GIT binary patch literal 323 zcmZuryH3L}6t$g%mPBP^VL`BUAWmAbA!a5PwhUNld`T=4J912`F!dAI_yoiU@E;u* zs!T{sY=~~1a3qizIQMn#Q}<~!@{z^Y%WHmZ<9na{g8Y!pu_cd)BaTZ{;RIJCAsBJO zotz{NcN3R;S7^NRf$iX!bi+(Z1JX2|wTkOn zFqW1jV_m@59CRa;Wb7Gj>?+z`&_Y!}XUg;jQUk48kaJp!8LeAWC^-$|m^Q+|Nu6f5 zX$}p|KpSx*C}Tnj!&q3i+u>QI_+1I-I}Q5_MZ*3?@@Z35i1;5xTm8LJOTtp_><>NLO2_^@G#7#UXO-Fx4??>#=9zE&z0a69{zch7nJEkJ4N zRdRmDlaJtokNVINQR<^m>PVs7kr7CMVMi&O#yt5^0_dn%{i0pN8;LLbim(3E#xmz~ zzcd7#ub1d%yffFp#*S3hNsVhTxl6ZMW5j23zcj@4zZPl*Q~p1*q5lz$?S{k*FODdV zXv)<0JxuVf)bw_(X7l>mN@+~6L&*R)5Yt?b265D|nBkIc;*u0I-NS?iZvrB|m5AqJ z_n(pOAmn3T2?k+W!6fXS>-!FGENaXuZUs)6Qk-f+f{1M^833H|;c_xS6=#Tepi-`$~=NIH4OvjM>N0o_~7$ZEphADYSBE zO`tW?D<^vWSg%j@#av&^l)0?$KRpE*RcDHsy%?>H)(+MW*QZJ?S89`T&x_j1Xyst_ QaP>obznv9}Jmebx0waa75C8xG literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/certifi/__pycache__/core.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/certifi/__pycache__/core.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d438a28af0092f94cd64d18e4f09fc90fc02be4d GIT binary patch literal 3753 zcmb_eO>7&-6`tkplFJpTl|+i7C08VrI5Hhcgnw$sP~q5>gV>HL8Il6jJd|L#D`{nt ztIm!iD^UU-0@N@JL@82O7YDr5wc#9kDUd^eptl~E!U7T&Fd(4F!8f)_07Iv~xBL;8 zR-2;e?9Q9nw=-{M-uvEr^QUlFCQ$zQ7klYOFCl-&k7ns=boMWCgghiF$q3} zb0}$IRVyY9n$($@%o`=9m6$mpzrbV6IR3hzeCtrqL8I_c_b&l?NEpy&seplBEh?B? zC68gwGo0rZP(7I^DQ+g^bGouqSEk;XTgXl={MwPSS?#XQve~C(A4eWsO)ncoE&YMP zuxcf$rHkuY>BDqE{~*1(&X$eR*@@Gq)27a}@zq@Zc5X>C(+wS^^9I#GQI6sYt)DoX zXLl*W6|0#9QYOy@Wk-l_3-PV!7ON~&g;Tb0%4)t;fqU zq-GwttZPR=@9LUj+;W0c%c)t=D(lpu)Qko+2?HmfnrR^5D@t_pR#i#ZN@7PjxviXh za=faXx0Uld%H?h4^4~@+<#JV-vz0kZnrpZYMOeN-JAvy6u7MNq;ZYezephARLZ`!P zX4}06Bk^NU$Fr77az2K#8-<~yMya&*n><2(0{3k`w9@h$h5&68ugW`dPkUfkN}>^H z9BD~o*%qQH0+Pm%3?PXk!8p{ReHXkgc?*7;H-NMuI8KIMt6Y3is18orgOmRUw6+4) z8?aC(T2-HmGBC|y{GKOt2!=l8D4MZz^GW0(nS;8I2SwDxw~ke&zqw#3Q&nZkR;Daz zs*VoM5#KLCcKWExFeh$;^H1xywFB`ETO5DO@k0pE^UMh}Vmtc2Y22X@SB62b;_okhG5O_W zjR%g)J|zFZQ9mF#&}`SRsa>_eW3+2gC|+x&OJ6+ZA+KL_+^f4>g{z5c$^3YSM~ zpP_{t#p{cocydsioOXOPr;-f}#vYr&r3CDPkuxPaKEtFV&~*Z;PD{C>hSw8J_mGMN z%v34P;TBEYY{MF8L)VZ6=$L3kKz^wE!MmT&-k*JRtr|LEhfdt%zE^r5tbM+5e`D*) z)<#tsvz0MR8hbU1{I7mV-@tu%)1vE;F8M9~97R&U*HH8oxQWpe@=gIs4LE^pRyFc) zP~KcO>%j`+loR?;qb4|ORxd3YPDC%R8kE6ZY@+Fw=3zQ_leilO>v7N3P7)VEtf~C`C*G6-V@GPN4 None: + _CACERT_CTX.__exit__(None, None, None) # type: ignore[union-attr] + + +if sys.version_info >= (3, 11): + + from importlib.resources import as_file, files + + _CACERT_CTX = None + _CACERT_PATH = None + + def where() -> str: + # This is slightly terrible, but we want to delay extracting the file + # in cases where we're inside of a zipimport situation until someone + # actually calls where(), but we don't want to re-extract the file + # on every call of where(), so we'll do it once then store it in a + # global variable. + global _CACERT_CTX + global _CACERT_PATH + if _CACERT_PATH is None: + # This is slightly janky, the importlib.resources API wants you to + # manage the cleanup of this file, so it doesn't actually return a + # path, it returns a context manager that will give you the path + # when you enter it and will do any cleanup when you leave it. In + # the common case of not needing a temporary file, it will just + # return the file system location and the __exit__() is a no-op. + # + # We also have to hold onto the actual context manager, because + # it will do the cleanup whenever it gets garbage collected, so + # we will also store that at the global level as well. + _CACERT_CTX = as_file(files("certifi").joinpath("cacert.pem")) + _CACERT_PATH = str(_CACERT_CTX.__enter__()) + atexit.register(exit_cacert_ctx) + + return _CACERT_PATH + + def contents() -> str: + return files("certifi").joinpath("cacert.pem").read_text(encoding="ascii") + +elif sys.version_info >= (3, 7): + + from importlib.resources import path as get_path, read_text + + _CACERT_CTX = None + _CACERT_PATH = None + + def where() -> str: + # This is slightly terrible, but we want to delay extracting the + # file in cases where we're inside of a zipimport situation until + # someone actually calls where(), but we don't want to re-extract + # the file on every call of where(), so we'll do it once then store + # it in a global variable. + global _CACERT_CTX + global _CACERT_PATH + if _CACERT_PATH is None: + # This is slightly janky, the importlib.resources API wants you + # to manage the cleanup of this file, so it doesn't actually + # return a path, it returns a context manager that will give + # you the path when you enter it and will do any cleanup when + # you leave it. In the common case of not needing a temporary + # file, it will just return the file system location and the + # __exit__() is a no-op. + # + # We also have to hold onto the actual context manager, because + # it will do the cleanup whenever it gets garbage collected, so + # we will also store that at the global level as well. + _CACERT_CTX = get_path("certifi", "cacert.pem") + _CACERT_PATH = str(_CACERT_CTX.__enter__()) + atexit.register(exit_cacert_ctx) + + return _CACERT_PATH + + def contents() -> str: + return read_text("certifi", "cacert.pem", encoding="ascii") + +else: + import os + import types + from typing import Union + + Package = Union[types.ModuleType, str] + Resource = Union[str, "os.PathLike"] + + # This fallback will work for Python versions prior to 3.7 that lack the + # importlib.resources module but relies on the existing `where` function + # so won't address issues with environments like PyOxidizer that don't set + # __file__ on modules. + def read_text( + package: Package, + resource: Resource, + encoding: str = 'utf-8', + errors: str = 'strict' + ) -> str: + with open(where(), encoding=encoding) as data: + return data.read() + + # If we don't have importlib.resources, then we will just do the old logic + # of assuming we're on the filesystem and munge the path directly. + def where() -> str: + f = os.path.dirname(__file__) + + return os.path.join(f, "cacert.pem") + + def contents() -> str: + return read_text("certifi", "cacert.pem", encoding="ascii") diff --git a/botenre/myenv/lib/python3.11/site-packages/certifi/py.typed b/botenre/myenv/lib/python3.11/site-packages/certifi/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/botenre/myenv/lib/python3.11/site-packages/distutils-precedence.pth b/botenre/myenv/lib/python3.11/site-packages/distutils-precedence.pth new file mode 100644 index 0000000..7f009fe --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/distutils-precedence.pth @@ -0,0 +1 @@ +import os; var = 'SETUPTOOLS_USE_DISTUTILS'; enabled = os.environ.get(var, 'local') == 'local'; enabled and __import__('_distutils_hack').add_shim(); diff --git a/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/INSTALLER b/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/LICENSE.txt b/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/LICENSE.txt new file mode 100644 index 0000000..8f080ea --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/LICENSE.txt @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2016 Nathaniel J. Smith and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/METADATA b/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/METADATA new file mode 100644 index 0000000..cf12a82 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/METADATA @@ -0,0 +1,193 @@ +Metadata-Version: 2.1 +Name: h11 +Version: 0.14.0 +Summary: A pure-Python, bring-your-own-I/O implementation of HTTP/1.1 +Home-page: https://github.com/python-hyper/h11 +Author: Nathaniel J. Smith +Author-email: njs@pobox.com +License: MIT +Classifier: Development Status :: 3 - Alpha +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Topic :: Internet :: WWW/HTTP +Classifier: Topic :: System :: Networking +Requires-Python: >=3.7 +License-File: LICENSE.txt +Requires-Dist: typing-extensions ; python_version < "3.8" + +h11 +=== + +.. image:: https://travis-ci.org/python-hyper/h11.svg?branch=master + :target: https://travis-ci.org/python-hyper/h11 + :alt: Automated test status + +.. image:: https://codecov.io/gh/python-hyper/h11/branch/master/graph/badge.svg + :target: https://codecov.io/gh/python-hyper/h11 + :alt: Test coverage + +.. image:: https://readthedocs.org/projects/h11/badge/?version=latest + :target: http://h11.readthedocs.io/en/latest/?badge=latest + :alt: Documentation Status + +This is a little HTTP/1.1 library written from scratch in Python, +heavily inspired by `hyper-h2 `_. + +It's a "bring-your-own-I/O" library; h11 contains no IO code +whatsoever. This means you can hook h11 up to your favorite network +API, and that could be anything you want: synchronous, threaded, +asynchronous, or your own implementation of `RFC 6214 +`_ -- h11 won't judge you. +(Compare this to the current state of the art, where every time a `new +network API `_ comes along then someone +gets to start over reimplementing the entire HTTP protocol from +scratch.) Cory Benfield made an `excellent blog post describing the +benefits of this approach +`_, or if you like video +then here's his `PyCon 2016 talk on the same theme +`_. + +This also means that h11 is not immediately useful out of the box: +it's a toolkit for building programs that speak HTTP, not something +that could directly replace ``requests`` or ``twisted.web`` or +whatever. But h11 makes it much easier to implement something like +``requests`` or ``twisted.web``. + +At a high level, working with h11 goes like this: + +1) First, create an ``h11.Connection`` object to track the state of a + single HTTP/1.1 connection. + +2) When you read data off the network, pass it to + ``conn.receive_data(...)``; you'll get back a list of objects + representing high-level HTTP "events". + +3) When you want to send a high-level HTTP event, create the + corresponding "event" object and pass it to ``conn.send(...)``; + this will give you back some bytes that you can then push out + through the network. + +For example, a client might instantiate and then send a +``h11.Request`` object, then zero or more ``h11.Data`` objects for the +request body (e.g., if this is a POST), and then a +``h11.EndOfMessage`` to indicate the end of the message. Then the +server would then send back a ``h11.Response``, some ``h11.Data``, and +its own ``h11.EndOfMessage``. If either side violates the protocol, +you'll get a ``h11.ProtocolError`` exception. + +h11 is suitable for implementing both servers and clients, and has a +pleasantly symmetric API: the events you send as a client are exactly +the ones that you receive as a server and vice-versa. + +`Here's an example of a tiny HTTP client +`_ + +It also has `a fine manual `_. + +FAQ +--- + +*Whyyyyy?* + +I wanted to play with HTTP in `Curio +`__ and `Trio +`__, which at the time didn't have any +HTTP libraries. So I thought, no big deal, Python has, like, a dozen +different implementations of HTTP, surely I can find one that's +reusable. I didn't find one, but I did find Cory's call-to-arms +blog-post. So I figured, well, fine, if I have to implement HTTP from +scratch, at least I can make sure no-one *else* has to ever again. + +*Should I use it?* + +Maybe. You should be aware that it's a very young project. But, it's +feature complete and has an exhaustive test-suite and complete docs, +so the next step is for people to try using it and see how it goes +:-). If you do then please let us know -- if nothing else we'll want +to talk to you before making any incompatible changes! + +*What are the features/limitations?* + +Roughly speaking, it's trying to be a robust, complete, and non-hacky +implementation of the first "chapter" of the HTTP/1.1 spec: `RFC 7230: +HTTP/1.1 Message Syntax and Routing +`_. That is, it mostly focuses on +implementing HTTP at the level of taking bytes on and off the wire, +and the headers related to that, and tries to be anal about spec +conformance. It doesn't know about higher-level concerns like URL +routing, conditional GETs, cross-origin cookie policies, or content +negotiation. But it does know how to take care of framing, +cross-version differences in keep-alive handling, and the "obsolete +line folding" rule, so you can focus your energies on the hard / +interesting parts for your application, and it tries to support the +full specification in the sense that any useful HTTP/1.1 conformant +application should be able to use h11. + +It's pure Python, and has no dependencies outside of the standard +library. + +It has a test suite with 100.0% coverage for both statements and +branches. + +Currently it supports Python 3 (testing on 3.7-3.10) and PyPy 3. +The last Python 2-compatible version was h11 0.11.x. +(Originally it had a Cython wrapper for `http-parser +`_ and a beautiful nested state +machine implemented with ``yield from`` to postprocess the output. But +I had to take these out -- the new *parser* needs fewer lines-of-code +than the old *parser wrapper*, is written in pure Python, uses no +exotic language syntax, and has more features. It's sad, really; that +old state machine was really slick. I just need a few sentences here +to mourn that.) + +I don't know how fast it is. I haven't benchmarked or profiled it yet, +so it's probably got a few pointless hot spots, and I've been trying +to err on the side of simplicity and robustness instead of +micro-optimization. But at the architectural level I tried hard to +avoid fundamentally bad decisions, e.g., I believe that all the +parsing algorithms remain linear-time even in the face of pathological +input like slowloris, and there are no byte-by-byte loops. (I also +believe that it maintains bounded memory usage in the face of +arbitrary/pathological input.) + +The whole library is ~800 lines-of-code. You can read and understand +the whole thing in less than an hour. Most of the energy invested in +this so far has been spent on trying to keep things simple by +minimizing special-cases and ad hoc state manipulation; even though it +is now quite small and simple, I'm still annoyed that I haven't +figured out how to make it even smaller and simpler. (Unfortunately, +HTTP does not lend itself to simplicity.) + +The API is ~feature complete and I don't expect the general outlines +to change much, but you can't judge an API's ergonomics until you +actually document and use it, so I'd expect some changes in the +details. + +*How do I try it?* + +.. code-block:: sh + + $ pip install h11 + $ git clone git@github.com:python-hyper/h11 + $ cd h11/examples + $ python basic-client.py + +and go from there. + +*License?* + +MIT + +*Code of conduct?* + +Contributors are requested to follow our `code of conduct +`_ in +all project spaces. diff --git a/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/RECORD b/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/RECORD new file mode 100644 index 0000000..a055008 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/RECORD @@ -0,0 +1,52 @@ +h11-0.14.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +h11-0.14.0.dist-info/LICENSE.txt,sha256=N9tbuFkm2yikJ6JYZ_ELEjIAOuob5pzLhRE4rbjm82E,1124 +h11-0.14.0.dist-info/METADATA,sha256=B7pZ0m7WBXNs17vl6hUH9bJTL9s37DaGvY31w7jNxSg,8175 +h11-0.14.0.dist-info/RECORD,, +h11-0.14.0.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92 +h11-0.14.0.dist-info/top_level.txt,sha256=F7dC4jl3zeh8TGHEPaWJrMbeuoWbS379Gwdi-Yvdcis,4 +h11/__init__.py,sha256=iO1KzkSO42yZ6ffg-VMgbx_ZVTWGUY00nRYEWn-s3kY,1507 +h11/__pycache__/__init__.cpython-311.pyc,, +h11/__pycache__/_abnf.cpython-311.pyc,, +h11/__pycache__/_connection.cpython-311.pyc,, +h11/__pycache__/_events.cpython-311.pyc,, +h11/__pycache__/_headers.cpython-311.pyc,, +h11/__pycache__/_readers.cpython-311.pyc,, +h11/__pycache__/_receivebuffer.cpython-311.pyc,, +h11/__pycache__/_state.cpython-311.pyc,, +h11/__pycache__/_util.cpython-311.pyc,, +h11/__pycache__/_version.cpython-311.pyc,, +h11/__pycache__/_writers.cpython-311.pyc,, +h11/_abnf.py,sha256=ybixr0xsupnkA6GFAyMubuXF6Tc1lb_hF890NgCsfNc,4815 +h11/_connection.py,sha256=eS2sorMD0zKLCFiB9lW9W9F_Nzny2tjHa4e6s1ujr1c,26539 +h11/_events.py,sha256=LEfuvg1AbhHaVRwxCd0I-pFn9-ezUOaoL8o2Kvy1PBA,11816 +h11/_headers.py,sha256=RqB8cd8CN0blYPzcLe5qeCh-phv6D1U_CHj4hs67lgQ,10230 +h11/_readers.py,sha256=EbSed0jzwVUiD1nOPAeUcVE4Flf3wXkxfb8c06-OTBM,8383 +h11/_receivebuffer.py,sha256=xrspsdsNgWFxRfQcTXxR8RrdjRXXTK0Io5cQYWpJ1Ws,5252 +h11/_state.py,sha256=k1VL6SDbaPkSrZ-49ewCXDpuiUS69_46YhbWjuV1qEY,13300 +h11/_util.py,sha256=LWkkjXyJaFlAy6Lt39w73UStklFT5ovcvo0TkY7RYuk,4888 +h11/_version.py,sha256=LVyTdiZRzIIEv79UyOgbM5iUrJUllEzlCWaJEYBY1zc,686 +h11/_writers.py,sha256=oFKm6PtjeHfbj4RLX7VB7KDc1gIY53gXG3_HR9ltmTA,5081 +h11/py.typed,sha256=sow9soTwP9T_gEAQSVh7Gb8855h04Nwmhs2We-JRgZM,7 +h11/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +h11/tests/__pycache__/__init__.cpython-311.pyc,, +h11/tests/__pycache__/helpers.cpython-311.pyc,, +h11/tests/__pycache__/test_against_stdlib_http.cpython-311.pyc,, +h11/tests/__pycache__/test_connection.cpython-311.pyc,, +h11/tests/__pycache__/test_events.cpython-311.pyc,, +h11/tests/__pycache__/test_headers.cpython-311.pyc,, +h11/tests/__pycache__/test_helpers.cpython-311.pyc,, +h11/tests/__pycache__/test_io.cpython-311.pyc,, +h11/tests/__pycache__/test_receivebuffer.cpython-311.pyc,, +h11/tests/__pycache__/test_state.cpython-311.pyc,, +h11/tests/__pycache__/test_util.cpython-311.pyc,, +h11/tests/data/test-file,sha256=ZJ03Rqs98oJw29OHzJg7LlMzyGQaRAY0r3AqBeM2wVU,65 +h11/tests/helpers.py,sha256=a1EVG_p7xU4wRsa3tMPTRxuaKCmretok9sxXWvqfmQA,3355 +h11/tests/test_against_stdlib_http.py,sha256=cojCHgHXFQ8gWhNlEEwl3trmOpN-5uDukRoHnElqo3A,3995 +h11/tests/test_connection.py,sha256=ZbPLDPclKvjgjAhgk-WlCPBaf17c4XUIV2tpaW08jOI,38720 +h11/tests/test_events.py,sha256=LPVLbcV-NvPNK9fW3rraR6Bdpz1hAlsWubMtNaJ5gHg,4657 +h11/tests/test_headers.py,sha256=qd8T1Zenuz5GbD6wklSJ5G8VS7trrYgMV0jT-SMvqg8,5612 +h11/tests/test_helpers.py,sha256=kAo0CEM4LGqmyyP2ZFmhsyq3UFJqoFfAbzu3hbWreRM,794 +h11/tests/test_io.py,sha256=uCZVnjarkRBkudfC1ij-KSCQ71XWJhnkgkgWWkKgYPQ,16386 +h11/tests/test_receivebuffer.py,sha256=3jGbeJM36Akqg_pAhPb7XzIn2NS6RhPg-Ryg8Eu6ytk,3454 +h11/tests/test_state.py,sha256=rqll9WqFsJPE0zSrtCn9LH659mPKsDeXZ-DwXwleuBQ,8928 +h11/tests/test_util.py,sha256=VO5L4nSFe4pgtSwKuv6u_6l0H7UeizF5WKuHTWreg70,2970 diff --git a/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/WHEEL b/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/WHEEL new file mode 100644 index 0000000..5bad85f --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.37.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/top_level.txt b/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/top_level.txt new file mode 100644 index 0000000..0d24def --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/h11-0.14.0.dist-info/top_level.txt @@ -0,0 +1 @@ +h11 diff --git a/botenre/myenv/lib/python3.11/site-packages/h11/__init__.py b/botenre/myenv/lib/python3.11/site-packages/h11/__init__.py new file mode 100644 index 0000000..989e92c --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/h11/__init__.py @@ -0,0 +1,62 @@ +# A highish-level implementation of the HTTP/1.1 wire protocol (RFC 7230), +# containing no networking code at all, loosely modelled on hyper-h2's generic +# implementation of HTTP/2 (and in particular the h2.connection.H2Connection +# class). There's still a bunch of subtle details you need to get right if you +# want to make this actually useful, because it doesn't implement all the +# semantics to check that what you're asking to write to the wire is sensible, +# but at least it gets you out of dealing with the wire itself. + +from h11._connection import Connection, NEED_DATA, PAUSED +from h11._events import ( + ConnectionClosed, + Data, + EndOfMessage, + Event, + InformationalResponse, + Request, + Response, +) +from h11._state import ( + CLIENT, + CLOSED, + DONE, + ERROR, + IDLE, + MIGHT_SWITCH_PROTOCOL, + MUST_CLOSE, + SEND_BODY, + SEND_RESPONSE, + SERVER, + SWITCHED_PROTOCOL, +) +from h11._util import LocalProtocolError, ProtocolError, RemoteProtocolError +from h11._version import __version__ + +PRODUCT_ID = "python-h11/" + __version__ + + +__all__ = ( + "Connection", + "NEED_DATA", + "PAUSED", + "ConnectionClosed", + "Data", + "EndOfMessage", + "Event", + "InformationalResponse", + "Request", + "Response", + "CLIENT", + "CLOSED", + "DONE", + "ERROR", + "IDLE", + "MUST_CLOSE", + "SEND_BODY", + "SEND_RESPONSE", + "SERVER", + "SWITCHED_PROTOCOL", + "ProtocolError", + "LocalProtocolError", + "RemoteProtocolError", +) diff --git a/botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..10e58147c79686908901f7571f976898caa9c588 GIT binary patch literal 1310 zcmc(d&u`N(6vvbPNZO=Xf354*G2k#Edf1|g69^%VCSsM^rb;>x=3r&5w^hVRNwP`X zY5xTrxgq`l{*NJXKt3Vu#I0hto$$*x(2y!|K{)m&&(HSr*U$c-X^Ozhk56Cr&a#4V z2A%7Yx-!n+bK|Wr5=NpYP!WkVg;F$)(jxd$UWR5-mP$yXGLmTy99?jDls?i0sKLb znB}frO_fQlPTTAa;BWD*cv!1v@<6t2*(}pGIwq@i+t0QJ*m=<&w6<{Hwgy(q>M*6d z?F?|TjO87(XW*xn@seqYX`4>p>NzHp9MgVo+N^xJoS*DE06%u66AWFi9|mzS3_LRo zgOF)AyH%UeASO4QO_8Y>ACfTQ2gLYTogBscfxouDv7tBXVVdVO%mDc75JCwc19E^o z03J}N0tx^PFb60CN`Nw;3YZ7f01JRRUNJ%TQ&Ztzpi+Ry{}T;C?24yC hXIA|xte)Pi-?YZNSD&@}C(2Y>R8uE1eBmlj=}&z+O2hyF literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_abnf.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_abnf.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7a954bee478ff2bef0fe98361cb0857dff38cbf4 GIT binary patch literal 1815 zcma)+-*4Mg6vwX<+szLXbC;DmGENmcmBYmr`ky%G_ket#1?4#4fg5 zT4zRn1PP%bA;BabhBUEO^Z_K02I65zypxAKRDOj&z+!va6UTOcq;H9CeD68;bI(2J zdn`X<*%*S~f4{b?e`gT-$1{$9^wHw!0fEprNJ2c42%f+MACf|RSPJtbCV47^B=VzU z7D*Wyg%Ixf0S^Co90@%nz9jevkW^P>6iB)&G6vbif$r&wW~2zu0v+v&PDn9633R+G zIt3)t6`7V;J_B^3E4o)o@_j(3x}sl@(l-&;Ytk!2WuuZe2UiNiBNtzNEtek~zaxBj z_tR40O|f9k75K`S8DA;yT$(79cdp=y8C|(k-YJ#Jdd18&*JWIngzdGOs99s9vr~Sw zv9oS2Z)Qf1Tx+UgV8yVwS@Zhn?9y~_UJ)C3=7{jt7B|&=fBB|$N^FbutrNsIEY3&F zNb~4+bL7UYTT4anOwBMhg>9_qvZ~CiKqZy(xIb~`+unWy8#Ps$X$G^!4S7yO)T-E+ zX=?c6Evy?tV8dp!Gn{2c{7B77%Y1RvFZXVcfuL%Fx~dBX-huk^=Hl6N{vEm@8e6)s zrbVCl=N#o}f3be{gMK9%N`vynd-< zS!VdH@qAFzR4LKff`RUI3VwSbCvbc}9b50oKcPK;Mz={() zZIVOzVmoPn>a5s_cf1M?y{>8v(QtaIb#+y&>kb?29<~1j_PXjYH7rV46MV#>gQhr% zvwZ-nqp1#ayjzzQ?8G~ybl5Y}o$UD_9f;<{PE~QDCyF>sunh9iLhx03>V27>&lPKG z0~c3S!~0`J!^OrfRj%Tz%hzQ?Fr2h_2H%t(On?gM)JM3mqG-p$81SNXynEMWaqFI|d>>FyK^kL#< zJARm&Yo(^z-g6Pglldp}e=hvB5Lh+~2a{v1#7H}lZzZn4*jwIP-oJftJFx7y8zHGa z7m*bE4DRT2qa-!#nZs~0`_jGYSMt|#hck=_*1d>gNt-@QkK7wD2t3xB^N~~?pX@uOKv(sUG>bXAlu~BPr0ADU$_n@1ZLcR6zjKX zmq8!}`%0VTTI^*Qd-Hqq`wIsPfdv{fi0!qbE*YZwT@<3y|E9ApMN+hvIPKCXp7|{I UIrjzU_MAAq#BIiAv;pYh|GM@JQUCw| literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_connection.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_connection.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..37e9797aa79e61d41f89a541a1901d471bd8c219 GIT binary patch literal 24301 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_events.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_events.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c160fda9ed2cd98f79dfce8d24ca49bab17522b4 GIT binary patch literal 15189 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_readers.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/h11/__pycache__/_readers.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2ddb6e7fab97b06e830dfa019073e4147950c995 GIT binary patch literal 10783 zcmds7S!^5EdY&21a2JOrsl{3>%93o+wj|5@qS&!5d5IM{ww&cMaS2K@vT1X%XGXTA zP%&?CFTkKip#Z)J?}dZv0*R|ME}(}L$U}?zp%3ZuFjOZnJAhgPMSpgSJahqN8L0f*aSA|NqM8* zR712O<%{}Ke3U1AF6mEgh;B#)qJdN}8ccWTKGdZWF-cU`8VTNp~D zu5PV97_=I$_ElSg`vFZ+U&3J&YbzSDUMqO&`nL&QkrTIXtX@tD4c7KFEBJoJMt8h$ zoKxH`Zl7k>u3oFbbv#_xZ@oXXd_Q^Z1A<>{hV?kakY(NtFz?{HdHJ6_@6O7+ZZRk} z3iPziGJ61KA7ZFelo0$CC4?R@@OI%aN_5w{`+9%!eRq>t8)4R_x>@&-o@VH2sq5Km ztQA(t3L9Z%`$SfBi!QNeZOx*yu5IZx?~b_+v)F`Ik+JYtasPU*dBn@=(F5W}v3;5m z2gNWs55c(;+C#u^gY!N(cT~=;!xes5H29muJ>o8Luh4eimT*T8iU-6)f@>IF zzd%n=k@oL!BgP{x-F7TJt2y*PVa)VVj)!2J#tC&KF9sVg(-Yq2Y0To5JQYn)@#2{9??UP-($Bg#rF znMjMeM^@s>j7%C44(=OQ;<|Sh9OyoVXYx z9lC2`bbKUs{M^Vd^afJBFgo$Zx$%in-99mT;jPgN@Kk}Z%v3!2hLlkzbBxNK$ zctK2M6w%6bPKap*o-V07Z^n}eA+F$ZM~{t+UYO9ixIC3e$aZ*B?}pz~E^XI2d=s*6 zm&hBQs(}xT;Na+naJ(AtQ5^MIbLy8$DpWKM}0^uuC?AQqY$%UaI6X^^NPnj(mD^Ulo6P@1`5~AWNle? z5#P$X@&Gtr*0=)oYZF8oSKqyzWq!$KnYXAdK#`68h;FU~D z9GuK3c!+6998ArM>6?Se#N^=hS>;M5y?bD2Xi$cQ^k0upT?3tv2d@AJ)`I#a4_u$s zgE3fPCMhZ+Q6;igX*b-2-0d5v{0IEys8v@(Ui_%-Zd>knsXd$jpav3rO^1N8-KU)w{7>^3LS+GEwr`h-I^cC zk38XnD&JXZYF%*SUn$s(+>*niI+{zqK;B*bE88e%3oxI-vrrZ#K~W`2l7q^RD+wsa z_IX+XKc-p~wpyd8EG^Jk`T=mhtZ@xNU9%A&wq`3=5xcuPh={S{a~l)Mqc8ztc#4D&sm9ieEa6_^*ppbbKV?`lAGZWS+&gyJL z6inMJupk6+s0UJM~{{+poYyA6ARkSKr zl*raxOF9!aGoV4tpdcaa&$YhjB10f0FATUCVRT0Y_;g3?dR&r4;R_1PXD}6?ofKo@ zZAFSt875oSwWF~JWGBa{=HkL>eYX<_mX5a}*R;1d@he1*ZZjG2ID@0I1 z$`1p_5cPvlvr2fIu@uC-*tC>M#n6VwrjiM;wbCdIKZ}?A6_6ZN^74~ragWxxr|93S`S*UUlx;ACj4PcQUu&Qq+KDDvln6~NQKEkVh4}xj zM1ZW^8qVez!Jc+ldGj`CJ1k?IWQ>V7&zhAH#=F+WTNP}c%W{JI8oXirk&eJ^x1H9 z4Hw0#&@}^Nc+X}7VUy6SVIz4#7Yg9-?6(h+PN zMREqoX(XqBMBLIbtRF{$evhHiK9lnf3a#4`po;ijq(&qoNYDgD9CeyaCN-wV8|n5b z@Q>t}j6e(~4U1vcdg_(l;+w~0QGzFx#^JI*fKrh_lidB z9_asXK3JStI{(>ib!hAxQN8%)KVB*N-qw6?=T1EdY%C0DfruIy%G>ky+DdS9e?e_IXp0jH;~`=L%34%hf1N&65m*A>?(WgUi(uD$a5rR%3ehlcuTcX zHG9v-fb|JvMWPTsL>YmGs1-aMh>=-{ky(KgIe`)FkU4My*JJ`=gdIk>pw~SOS_yTJ zU;{Y@!*K$246dR6LPRq%Q-TmBr+=bRI63aoVaVIb&d;5=tyK*ZzXF4ODyI$Lr8C zffZ@)$g_97rPeT<_&od({UNe!Sv{&SS^eKb1tIz>oQ)#T*T{29KC{DV^5b#7X3bM0_PvY|<+SVL}sez9W;n@%7KUIoEly$TBYZ0XvEU4Zst{X(q(fH< z@-K=QP8o@k@MK1q4fjQnrrV92igXbgWLv+W z$%e_OXchEz5@$=yOutxVs=ax*LOuWl!b@LQnV}m7|8;QhpWg&Ty5}t@_wN+_1Iz4J zUhtK6`oLG(>3hm?y!$x?q)c%xH`#!QR|lcMz$g|2jRtWNW|CO<#$q>S;z^@NLadVB zM$&}Dg9PP`NTq~UKtf!TCXu{~1Y;9oO{6!lhGY&78D%S1`ztdH*Hw_w3F}%^$f=$< z9b9MO^)dygC2@J=>mA>)>Yg!ez+e%+i3IGNyU>Tw3lI4cVyq2UGzCYk)PQ*eSSDb0 z2sVINNTQ1@fHa4YEHHI|%)tmJ^tu3$5uDuuLjbwq1g7Lf!GPil1lK?n?t{`xWPT^P zDMZ002qvxCXn}#gnzWOs*EUX|;$+08^D!cJfVMG`2GloH7)mB4B;={MB^Mqs z3<8Tp5^Q)J?rM@fvc+>vmPOYv`ZqXsGY~+9P5@`k*iI?wLZ3WhO>-MZR>L=`3 zZEW3ojQ8&rT<}b_eTCIK$m$(RTlLL?v9e|DS;s^71JH~wQAbDt4DpOdXd^N;>qvuT8Q+~BhWpSVVHZ>T}A^Fr#=ZIG9%Dskv=I0e|K%*l+ufJ?bs?pVs}3nx|{=*ovoD z_4Jm4O^<^+R)Ra0E^7TJiop>rh*?ui(USQf<*Ir&Yu?SDPc8NQKJi(i=p8f|Fh=8h zm*^EfqVf?k7*epv+OWcJQ>#C6yUxX-6;F@q>3Pz&>2ce>m9~AwwgXz*f&5sBZ&Ueh zW9dzsR{fnNe|yQl1L#v1*9=A;NdD9xd{ocY#al~RZR_x(U26BqV)sd{`(%DZ^M=Vf zx)*PN=ce*~rM?{ttmf|}GZs#KJbQ0e^@mHXoAPJ#XP>lo=Fe8f$5;5RYV~LG{j|s{ zMgEA!AE|TxRA)O_htF+`Bfocj<|;ZP2E+PzrQR*Lrp=|6_WYUrnI|nB`7^{tTsr&+ z-qKi+AJh0T)j3A2i6uLO3WCS8Fpzpr(W=&lclXxM^X?Mqn%hU@8k{<`q!Ca}T){ds zItk2rF|GP-{{Ve5f@IBa>w9Xmp<@Q5OxdcA8Dn@05sx&5w-AtsNdA{@*k!yH$vrsa z+dy))zcORzwxGXcCjK4V>oj^^c&>N7kZ1H*=zBD4_+M}W^?NZfyaQYcK3T0)5%SqS zV43_c5*WiLV^fL>LSXdC><|Jwz~jPz*(q>9QHyUiN+V}TW-Kd$)MCLmUIvHAcLlr#ZDK&*)YsP_(uSX-A` zmFjt}H7L(2 z0WpMlvh7qx31j>ozI8=RSAszdAV<%gg!kJC)4>Vl)8v2aJ|k$1r8CME7%aUH{i`?z z$Ac6&K&xo(RhlHpjud@IHQ!Oyc@!h>J>&@nAQW&^Flx?+A6+3G)Nf>L=A4+N92^?h z89A&okU6v~v)A!1C>s)s1a(kCXV(bl$R45ZC_y}Jgnc>}i%+Jf4SS8bS_!|iNa$}s zYDl~Zx06kwVGuh*NYJU&eGq|=ZzS;13jS4qM3cHbh8ay!YQ|wLNDv;SRwQjm+L3f1 zK>>yp%qWSZkr53ew+qQ;>~h3nB)s4<1UFGG$Y$s^_->+m40w_8pD?6u=!5Vp7Ei;jk?-4bELJDQ-#dqm z$oh!%$1ofvNN$HWUbfLRUEV^`?wrf`D^c&LKkxU1I<5ZLuSA_!f7-7^MO5pr%(!T# zO#R=I5JjJ(Rcic)e@{H2{PvvVNuYgU^Sy0q$IilgTF1`i=3>V|t>a)Za7YUr%JC&% zOMde1)k160*Q5D*a*)>z(80p(CGP&6G6mJ;17DARb(B==$u^EYQt|{BM(-Xi+o1l0 zgD?3DqlLW-W16o^<2IK$;6gsdLi|*)hpC(7^@JDu;A^sHr^XGH zIbfD4D>)FN0YcW3r^tK0)-mv-PjDC~T2G!L@A+CsmUhyBy6eeP

  • 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 literal 0 HcmV?d00001 diff --git a/.cache/pip/http/e/2/0/7/4/e207426cbcf220918fdf354826064190a066f96cd6ad8830f1f11fdc b/.cache/pip/http/e/2/0/7/4/e207426cbcf220918fdf354826064190a066f96cd6ad8830f1f11fdc new file mode 100644 index 0000000000000000000000000000000000000000..3a387a0f33beb2e481660cf8eb88701044ce0e92 GIT binary patch literal 14351 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 K$=4Om`Tqxgf4F4; literal 0 HcmV?d00001 diff --git a/.profile b/.profile new file mode 100644 index 0000000..d89ea5a --- /dev/null +++ b/.profile @@ -0,0 +1,27 @@ +# ~/.profile: executed by the command interpreter for login shells. +# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login +# exists. +# see /usr/share/doc/bash/examples/startup-files for examples. +# the files are located in the bash-doc package. + +# the default umask is set in /etc/profile; for setting the umask +# for ssh logins, install and configure the libpam-umask package. +#umask 022 + +# if running bash +if [ -n "$BASH_VERSION" ]; then + # include .bashrc if it exists + if [ -f "$HOME/.bashrc" ]; then + . "$HOME/.bashrc" + fi +fi + +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/bin" ] ; then + PATH="$HOME/bin:$PATH" +fi + +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/.local/bin" ] ; then + PATH="$HOME/.local/bin:$PATH" +fi diff --git a/.python_history b/.python_history new file mode 100644 index 0000000..e69de29 diff --git a/botenre/config.json b/botenre/config.json new file mode 100644 index 0000000..bf32e88 --- /dev/null +++ b/botenre/config.json @@ -0,0 +1,4 @@ +{ + "TOKEN": "7524622046:AAEurNzJ3-3TeJIRgHxtog0-UlM_2kwAML4" +} + diff --git a/botenre/laenredada.py b/botenre/laenredada.py new file mode 100644 index 0000000..35ed4f7 --- /dev/null +++ b/botenre/laenredada.py @@ -0,0 +1,288 @@ +import logging +import json +import asyncio +import nest_asyncio + +from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update +from telegram.ext import Application, CommandHandler, CallbackQueryHandler, ContextTypes + +from apscheduler.schedulers.asyncio import AsyncIOScheduler +from apscheduler.triggers.cron import CronTrigger +from datetime import datetime +import pytz + +# Aplica nest_asyncio para evitar problemas con el event loop +nest_asyncio.apply() + +# Configuración del logging +logging.basicConfig( + format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', + level=logging.INFO +) +logger = logging.getLogger(__name__) + +# --------- DATOS DEL CUADRANTE --------- +CUADRANTE = [ + { + "Planta Baja": "Feminismos", + "Villa Paloma": "OVT", + "Planta 2 (Escalera)": "Enrefugio" + }, + { + "Planta Baja": "Kamanchaka", + "Villa Paloma": "F.F.F", + "Planta 2 (Escalera)": "Yoga" + }, + { + "Planta Baja": "Warawas + F.L.O.R", + "Villa Paloma": "Circo", + "Planta 2 (Escalera)": "Asamblea" + }, + { + "Planta Baja": "Autodefensa", + "Villa Paloma": "Hacklab", + "Planta 2 (Escalera)": "Fermentos + hongos" + } +] + +# --- PON AQUÍ EL CHAT_ID DE TU GRUPO --- +GROUP_CHAT_ID = -1002113687479 # <--- Reemplaza por el ID de tu grupo + +# Mensaje de bienvenida con emojis +WELCOME_MESSAGE = ( + "👋 *Bienvenidos a La Enredadera*\n\n" + "🏠 Un centro social ubicado en *Tetuán, Madrid* 📍, en la Calle de la Coruña 5.\n\n" + "🤝 En La Enredadera trabajamos por la igualdad, el respeto y la solidaridad, " + "rechazando categóricamente la homofobia, la transfobia, la xenofobia y cualquier forma de discriminación. \n\n" + "💬 Aquí fomentamos la participación, el diálogo y la defensa de los derechos de todas las personas.\n\n" + "👉 *Selecciona una opción para saber más:*" +) + +# Textos de respuesta para cada opción, con emojis añadidos +NUEVOS_COLECTIVOS = ( + "📢 *NUEVOS COLECTIVOS*\n\n" + "📝 *Presentación:*\n" + "• Cómo se llama el proyecto/colectivo\n" + "• De qué tipo es (colectivo/asociación, etc.)\n" + "• Cuántas personas sois. (Abierto/Cerrado)\n" + "• Desde cuándo funcionáis\n\n" + "💡 *Valores y política:*\n" + "• Cuáles son los objetivos\n" + "• Valores y principios\n" + "• Cómo funcionáis internamente (asambleas, consensos, votación, líder…)\n" + "• ¿Estáis en conexión con alguna red/iniciativa/colectivo?\n\n" + "🚚 *Logística:*\n" + "• Actividad que queréis realizar\n" + "• Qué necesidades tenéis (material, espacio, etc.)\n" + "• Cuándo lo queréis realizar y cada cuánto\n\n" + "🤝 *Compromisos con la Enre:*\n" + "• Asistencia obligatoria a la asamblea de la Enre (todos los lunes a las 20:00)\n" + "• Limpieza del espacio una vez al mes 🧹\n" + "• Bienvenida a externos (todos los lunes de 19:00-20:00)\n" + "• Organización de una Kafeta Enre cada 3-4 meses\n" + "• Apoyo a otros colectivos\n" + "• Participación en el grupo de Telegram “Enredando colectives”\n" + "• Gestión de llaves de la Enre para necesidades puntuales 🔑\n\n" + "🚫 *Líneas rojas en colectivos/eventos:*\n" + "• Masculinidad exclusiva\n" + "• No toleramos actitudes violentas, discriminatorias o de exclusión (homofobia, transfobia, xenofobia, etc.)" +) + +EVENTOS_EXTERNOS = ( + "🎉 *EVENTOS EXTERNOS*\n\n" + "👥 *Información del colectivo:*\n" + "• Cómo se llama el colectivo\n" + "• Líneas políticas\n" + "• Organización interna\n" + "• Qué aportan al espacio\n\n" + "📅 *Información del evento:*\n" + "• Público objetivo, aforo y si es abierto\n" + "• Espacio y enseres necesarios\n" + "• Evitar solapes de eventos/actividades\n" + "• Horario (máximo hasta las 23:30)\n" + "• Bebida y comida a cargo del evento (si es necesario, la Enre gestiona la bebida: pedidos@distribucioneslavapies.es)\n" + "• Equipo de Scum: Contactar con Julita y tarifa de 20 € (o lo que se acuerde)\n\n" + "⚠️ *Líneas rojas en colectivos/eventos:*\n" + "• No a actitudes excluyentes o discriminatorias\n\n" + "🤝 *Compromisos con la Enre:*\n" + "• Asistencia a la asamblea previa al evento (entre las 19:00 y 20:00)\n" + "• Turno de puerta y barra durante el evento\n" + "• Limpieza posterior del espacio 🧼\n" + "• Aporte del 10% de lo recaudado para la Enre\n\n" + "🎶 *Eventos con música:*\n" + "• Música se para a las 23:00/23:30; se debe desalojar el espacio salvo para el personal de limpieza\n" + "• Conciertos/pinchadas en la planta baja (NO en Villa Paloma)\n" + "• Preferencia por conciertos por la tarde para evitar molestias nocturnas\n" + "• Respeto por los fines de semana\n\n" + "📞 *Desde la asamblea:*\n" + "• Contacto Enre: Persona asignada para confirmar y coordinar el evento\n" + "• Madrina: Acompaña y coordina el evento, se asigna dos semanas antes\n" + "• Protocolo policial a entregar y mediación en el evento\n" + "• Valoración posterior del evento" +) + +KAFETAS_ENRE = ( + "☕ *KAFETAS ENRE*\n\n" + "🎯 *Objetivo:*\n" + "• Punto de encuentro entre colectivos\n" + "• Recaudar fondos para el espacio\n\n" + "🔄 *Funcionamiento:*\n" + "• Bebida a cargo de la Enre, verificación de cantidad por el colectivo\n" + "• Recaudación destinada a la Enre\n" + "• Organización conjunta entre colectivos\n" + "• Posible presencia de comida, según recursos disponibles\n" + "• Frecuencia: Dos kafetas al mes\n\n" + "🛠 *Tareas durante la kafeta:*\n" + "• Turno de puerta\n" + "• Turno de barra\n" + "• Limpieza posterior del espacio 🧽" +) + +# CUADRANTE LIMPIEZA FORMATO LISTA +CUADRANTE_LIMPIEZA = ( + "*🧹 Cuadrante de Limpieza Semanal*\n\n" + "🏠 *Planta Baja*\n" + " • Semana 1: Feminismos\n" + " • Semana 2: Kamanchaka\n" + " • Semana 3: Warawas + F.L.O.R\n" + " • Semana 4: Autodefensa\n\n" + "🏛️ *Villa Paloma*\n" + " • Semana 1: OVT\n" + " • Semana 2: F.F.F\n" + " • Semana 3: Circo\n" + " • Semana 4: Hacklab\n\n" + "⬆️ *Planta 2 (Escalera)*\n" + " • Semana 1: Enrefugio\n" + " • Semana 2: Yoga\n" + " • Semana 3: Asamblea\n" + " • Semana 4: Fermentos + hongos\n" +) + +def get_main_menu(): + """Devuelve el teclado principal con las opciones.""" + keyboard = [ + [InlineKeyboardButton("NUEVOS COLECTIVOS 📢", callback_data='nuevos_colectivos')], + [InlineKeyboardButton("EVENTOS EXTERNOS 🎉", callback_data='eventos_externos')], + [InlineKeyboardButton("KAFETAS ENRE ☕", callback_data='kafetas_enre')], + [InlineKeyboardButton("CUADRANTE LIMPIEZA 🧹", callback_data='cuadrante_limpieza')], + [InlineKeyboardButton("¿A quién le toca limpiar esta semana? 🤔", callback_data='quien_limpia')] + ] + return InlineKeyboardMarkup(keyboard) + +def get_back_menu(): + """Devuelve un teclado con el botón para volver al menú principal.""" + keyboard = [ + [InlineKeyboardButton("🔙 Volver al menú", callback_data='volver')] + ] + return InlineKeyboardMarkup(keyboard) + +async def info(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: + # Comando /info que muestra la bienvenida y el menú principal + if update.message: + await update.message.reply_text( + WELCOME_MESSAGE, + parse_mode='Markdown', + reply_markup=get_main_menu() + ) + +async def button(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: + query = update.callback_query + await query.answer() + + # Si el usuario pulsa "volver", se muestra el menú principal nuevamente + if query.data == 'volver': + await query.edit_message_text( + text=WELCOME_MESSAGE, + parse_mode='Markdown', + reply_markup=get_main_menu() + ) + return + + # Selecciona el contenido según la opción elegida + if query.data == 'nuevos_colectivos': + texto = NUEVOS_COLECTIVOS + elif query.data == 'eventos_externos': + texto = EVENTOS_EXTERNOS + elif query.data == 'kafetas_enre': + texto = KAFETAS_ENRE + elif query.data == 'cuadrante_limpieza': + texto = CUADRANTE_LIMPIEZA + elif query.data == 'quien_limpia': + # Calcula la semana actual: + today = datetime.now(pytz.timezone('Europe/Madrid')) + week_num = ((today.day - 1) // 7) % 4 + cuadrante = CUADRANTE[week_num] + texto = ( + f"🧹 *Esta semana toca limpiar:*\n\n" + f"🏠 *Planta Baja*: {cuadrante['Planta Baja']}\n" + f"🏛️ *Villa Paloma*: {cuadrante['Villa Paloma']}\n" + f"⬆️ *Planta 2 (Escalera)*: {cuadrante['Planta 2 (Escalera)']}\n" + ) + else: + texto = "❓ Opción no reconocida." + + # Muestra el contenido seleccionado junto con el botón para volver + await query.edit_message_text( + text=texto, + parse_mode='Markdown', + reply_markup=get_back_menu() + ) + +# ----- AVISO AUTOMÁTICO DE LIMPIEZA ----- + +async def aviso_cuadrante(bot): + # Calcula la semana del mes (0-3) + today = datetime.now(pytz.timezone('Europe/Madrid')) + week_num = ((today.day - 1) // 7) % 4 + cuadrante = CUADRANTE[week_num] + msg = ( + f"🧹 *Aviso semanal de limpieza*\n\n" + f"🏠 *Planta Baja*: {cuadrante['Planta Baja']}\n" + f"🏛️ *Villa Paloma*: {cuadrante['Villa Paloma']}\n" + f"⬆️ *Planta 2 (Escalera)*: {cuadrante['Planta 2 (Escalera)']}\n\n" + f"¡Recordad pasaros a limpiar esta semana! 😉" + ) + await bot.send_message(chat_id=GROUP_CHAT_ID, text=msg, parse_mode="Markdown") + +# ----- FIN AVISO AUTOMÁTICO ----- + +# ----- PRINT CHAT_ID SOLO EN LOG ----- +async def print_chat_id(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: + chat = update.effective_chat + logger.info(f"El chat_id de este chat es: {chat.id}") + await update.message.reply_text("¡ID registrado en el log del servidor! 👍") + +# -------------------------------------- + +async def main() -> None: + # Cargar el token desde config.json + with open('config.json', 'r') as config_file: + config = json.load(config_file) + token = config.get("TOKEN") + if not token: + logger.error("El token no se ha encontrado en el archivo config.json") + return + + application = Application.builder().token(token).build() + + # Se registra el comando /info en lugar de /start + application.add_handler(CommandHandler('info', info)) + application.add_handler(CommandHandler('id', print_chat_id)) + application.add_handler(CallbackQueryHandler(button)) + + # ------ SCHEDULER ------ + scheduler = AsyncIOScheduler(timezone='Europe/Madrid') + # Lunes a las 13:12 + scheduler.add_job( + aviso_cuadrante, + trigger=CronTrigger(day_of_week='mon', hour=13, minute=12), + args=[application.bot] + ) + scheduler.start() + # ----------------------- + + await application.run_polling() + +if __name__ == '__main__': + asyncio.run(main()) + diff --git a/botenre/laenredada.py-backup b/botenre/laenredada.py-backup new file mode 100644 index 0000000..899e5c6 --- /dev/null +++ b/botenre/laenredada.py-backup @@ -0,0 +1,276 @@ +import logging +import json +import asyncio +import nest_asyncio + +from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update +from telegram.ext import Application, CommandHandler, CallbackQueryHandler, ContextTypes + +from apscheduler.schedulers.asyncio import AsyncIOScheduler +from apscheduler.triggers.cron import CronTrigger +from datetime import datetime +import pytz + +# Aplica nest_asyncio para evitar problemas con el event loop +nest_asyncio.apply() + +# Configuración del logging +logging.basicConfig( + format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', + level=logging.INFO +) +logger = logging.getLogger(__name__) + +# --------- DATOS DEL CUADRANTE --------- +CUADRANTE = [ + { + "Planta Baja": "Feminismos", + "Villa Paloma": "OVT", + "Planta 2 (Escalera)": "Enrefugio" + }, + { + "Planta Baja": "Kamanchaka", + "Villa Paloma": "F.F.F", + "Planta 2 (Escalera)": "Yoga" + }, + { + "Planta Baja": "Warawas + F.L.O.R", + "Villa Paloma": "Circo", + "Planta 2 (Escalera)": "Asamblea" + }, + { + "Planta Baja": "Autodefensa", + "Villa Paloma": "Hacklab", + "Planta 2 (Escalera)": "Fermentos + hongos" + } +] + +# --- PON AQUÍ EL CHAT_ID DE TU GRUPO --- +GROUP_CHAT_ID = -1002113687479 # <--- Reemplaza por el ID de tu grupo + +# Mensaje de bienvenida con emojis +WELCOME_MESSAGE = ( + "👋 *Bienvenidos a La Enredadera*\n\n" + "🏠 Un centro social ubicado en *Tetuán, Madrid* 📍, en la Calle de la Coruña 5.\n\n" + "🤝 En La Enredadera trabajamos por la igualdad, el respeto y la solidaridad, " + "rechazando categóricamente la homofobia, la transfobia, la xenofobia y cualquier forma de discriminación. \n\n" + "💬 Aquí fomentamos la participación, el diálogo y la defensa de los derechos de todas las personas.\n\n" + "👉 *Selecciona una opción para saber más:*" +) + +# Textos de respuesta para cada opción, con emojis añadidos +NUEVOS_COLECTIVOS = ( + "📢 *NUEVOS COLECTIVOS*\n\n" + "📝 *Presentación:*\n" + "• Cómo se llama el proyecto/colectivo\n" + "• De qué tipo es (colectivo/asociación, etc.)\n" + "• Cuántas personas sois. (Abierto/Cerrado)\n" + "• Desde cuándo funcionáis\n\n" + "💡 *Valores y política:*\n" + "• Cuáles son los objetivos\n" + "• Valores y principios\n" + "• Cómo funcionáis internamente (asambleas, consensos, votación, líder…)\n" + "• ¿Estáis en conexión con alguna red/iniciativa/colectivo?\n\n" + "🚚 *Logística:*\n" + "• Actividad que queréis realizar\n" + "• Qué necesidades tenéis (material, espacio, etc.)\n" + "• Cuándo lo queréis realizar y cada cuánto\n\n" + "🤝 *Compromisos con la Enre:*\n" + "• Asistencia obligatoria a la asamblea de la Enre (todos los lunes a las 20:00)\n" + "• Limpieza del espacio una vez al mes 🧹\n" + "• Bienvenida a externos (todos los lunes de 19:00-20:00)\n" + "• Organización de una Kafeta Enre cada 3-4 meses\n" + "• Apoyo a otros colectivos\n" + "• Participación en el grupo de Telegram “Enredando colectives”\n" + "• Gestión de llaves de la Enre para necesidades puntuales 🔑\n\n" + "🚫 *Líneas rojas en colectivos/eventos:*\n" + "• Masculinidad exclusiva\n" + "• No toleramos actitudes violentas, discriminatorias o de exclusión (homofobia, transfobia, xenofobia, etc.)" +) + +EVENTOS_EXTERNOS = ( + "🎉 *EVENTOS EXTERNOS*\n\n" + "👥 *Información del colectivo:*\n" + "• Cómo se llama el colectivo\n" + "• Líneas políticas\n" + "• Organización interna\n" + "• Qué aportan al espacio\n\n" + "📅 *Información del evento:*\n" + "• Público objetivo, aforo y si es abierto\n" + "• Espacio y enseres necesarios\n" + "• Evitar solapes de eventos/actividades\n" + "• Horario (máximo hasta las 23:30)\n" + "• Bebida y comida a cargo del evento (si es necesario, la Enre gestiona la bebida: pedidos@distribucioneslavapies.es)\n" + "• Equipo de Scum: Contactar con Julita y tarifa de 20 € (o lo que se acuerde)\n\n" + "⚠️ *Líneas rojas en colectivos/eventos:*\n" + "• No a actitudes excluyentes o discriminatorias\n\n" + "🤝 *Compromisos con la Enre:*\n" + "• Asistencia a la asamblea previa al evento (entre las 19:00 y 20:00)\n" + "• Turno de puerta y barra durante el evento\n" + "• Limpieza posterior del espacio 🧼\n" + "• Aporte del 10% de lo recaudado para la Enre\n\n" + "🎶 *Eventos con música:*\n" + "• Música se para a las 23:00/23:30; se debe desalojar el espacio salvo para el personal de limpieza\n" + "• Conciertos/pinchadas en la planta baja (NO en Villa Paloma)\n" + "• Preferencia por conciertos por la tarde para evitar molestias nocturnas\n" + "• Respeto por los fines de semana\n\n" + "📞 *Desde la asamblea:*\n" + "• Contacto Enre: Persona asignada para confirmar y coordinar el evento\n" + "• Madrina: Acompaña y coordina el evento, se asigna dos semanas antes\n" + "• Protocolo policial a entregar y mediación en el evento\n" + "• Valoración posterior del evento" +) + +KAFETAS_ENRE = ( + "☕ *KAFETAS ENRE*\n\n" + "🎯 *Objetivo:*\n" + "• Punto de encuentro entre colectivos\n" + "• Recaudar fondos para el espacio\n\n" + "🔄 *Funcionamiento:*\n" + "• Bebida a cargo de la Enre, verificación de cantidad por el colectivo\n" + "• Recaudación destinada a la Enre\n" + "• Organización conjunta entre colectivos\n" + "• Posible presencia de comida, según recursos disponibles\n" + "• Frecuencia: Dos kafetas al mes\n\n" + "🛠 *Tareas durante la kafeta:*\n" + "• Turno de puerta\n" + "• Turno de barra\n" + "• Limpieza posterior del espacio 🧽" +) + +# CUADRANTE LIMPIEZA FORMATO LISTA +CUADRANTE_LIMPIEZA = ( + "*🧹 Cuadrante de Limpieza Semanal*\n\n" + "🏠 *Planta Baja*\n" + " • Semana 1: Feminismos\n" + " • Semana 2: Kamanchaka\n" + " • Semana 3: Warawas + F.L.O.R\n" + " • Semana 4: Autodefensa\n\n" + "🏛️ *Villa Paloma*\n" + " • Semana 1: OVT\n" + " • Semana 2: F.F.F\n" + " • Semana 3: Circo\n" + " • Semana 4: Hacklab\n\n" + "⬆️ *Planta 2 (Escalera)*\n" + " • Semana 1: Enrefugio\n" + " • Semana 2: Yoga\n" + " • Semana 3: Asamblea\n" + " • Semana 4: Fermentos + hongos\n" +) + +def get_main_menu(): + """Devuelve el teclado principal con las 4 opciones.""" + keyboard = [ + [InlineKeyboardButton("NUEVOS COLECTIVOS 📢", callback_data='nuevos_colectivos')], + [InlineKeyboardButton("EVENTOS EXTERNOS 🎉", callback_data='eventos_externos')], + [InlineKeyboardButton("KAFETAS ENRE ☕", callback_data='kafetas_enre')], + [InlineKeyboardButton("CUADRANTE LIMPIEZA 🧹", callback_data='cuadrante_limpieza')] + ] + return InlineKeyboardMarkup(keyboard) + +def get_back_menu(): + """Devuelve un teclado con el botón para volver al menú principal.""" + keyboard = [ + [InlineKeyboardButton("🔙 Volver al menú", callback_data='volver')] + ] + return InlineKeyboardMarkup(keyboard) + +async def info(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: + # Comando /info que muestra la bienvenida y el menú principal + if update.message: + await update.message.reply_text( + WELCOME_MESSAGE, + parse_mode='Markdown', + reply_markup=get_main_menu() + ) + +async def button(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: + query = update.callback_query + await query.answer() + + # Si el usuario pulsa "volver", se muestra el menú principal nuevamente + if query.data == 'volver': + await query.edit_message_text( + text=WELCOME_MESSAGE, + parse_mode='Markdown', + reply_markup=get_main_menu() + ) + return + + # Selecciona el contenido según la opción elegida + if query.data == 'nuevos_colectivos': + texto = NUEVOS_COLECTIVOS + elif query.data == 'eventos_externos': + texto = EVENTOS_EXTERNOS + elif query.data == 'kafetas_enre': + texto = KAFETAS_ENRE + elif query.data == 'cuadrante_limpieza': + texto = CUADRANTE_LIMPIEZA + else: + texto = "❓ Opción no reconocida." + + # Muestra el contenido seleccionado junto con el botón para volver + await query.edit_message_text( + text=texto, + parse_mode='Markdown', + reply_markup=get_back_menu() + ) + +# ----- AVISO AUTOMÁTICO DE LIMPIEZA ----- + +async def aviso_cuadrante(bot): + # Calcula la semana del mes (0-3) + today = datetime.now(pytz.timezone('Europe/Madrid')) + week_num = ((today.day - 1) // 7) % 4 + cuadrante = CUADRANTE[week_num] + msg = ( + f"🧹 *Aviso semanal de limpieza*\n\n" + f"🏠 *Planta Baja*: {cuadrante['Planta Baja']}\n" + f"🏛️ *Villa Paloma*: {cuadrante['Villa Paloma']}\n" + f"⬆️ *Planta 2 (Escalera)*: {cuadrante['Planta 2 (Escalera)']}\n\n" + f"¡Recordad pasaros a limpiar esta semana! 😉" + ) + await bot.send_message(chat_id=GROUP_CHAT_ID, text=msg, parse_mode="Markdown") + +# ----- FIN AVISO AUTOMÁTICO ----- + +# ----- PRINT CHAT_ID SOLO EN LOG ----- +async def print_chat_id(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: + chat = update.effective_chat + logger.info(f"El chat_id de este chat es: {chat.id}") + await update.message.reply_text("¡ID registrado en el log del servidor! 👍") + +# -------------------------------------- + +async def main() -> None: + # Cargar el token desde config.json + with open('config.json', 'r') as config_file: + config = json.load(config_file) + token = config.get("TOKEN") + if not token: + logger.error("El token no se ha encontrado en el archivo config.json") + return + + application = Application.builder().token(token).build() + + # Se registra el comando /info en lugar de /start + application.add_handler(CommandHandler('info', info)) + application.add_handler(CommandHandler('id', print_chat_id)) + application.add_handler(CallbackQueryHandler(button)) + + # ------ SCHEDULER ------ + scheduler = AsyncIOScheduler(timezone='Europe/Madrid') + # Lunes a las 13:12 + scheduler.add_job( + aviso_cuadrante, + trigger=CronTrigger(day_of_week='mon', hour=13, minute=12), + args=[application.bot] + ) + scheduler.start() + # ----------------------- + + await application.run_polling() + +if __name__ == '__main__': + asyncio.run(main()) + diff --git a/botenre/myenv/bin/Activate.ps1 b/botenre/myenv/bin/Activate.ps1 new file mode 100644 index 0000000..b49d77b --- /dev/null +++ b/botenre/myenv/bin/Activate.ps1 @@ -0,0 +1,247 @@ +<# +.Synopsis +Activate a Python virtual environment for the current PowerShell session. + +.Description +Pushes the python executable for a virtual environment to the front of the +$Env:PATH environment variable and sets the prompt to signify that you are +in a Python virtual environment. Makes use of the command line switches as +well as the `pyvenv.cfg` file values present in the virtual environment. + +.Parameter VenvDir +Path to the directory that contains the virtual environment to activate. The +default value for this is the parent of the directory that the Activate.ps1 +script is located within. + +.Parameter Prompt +The prompt prefix to display when this virtual environment is activated. By +default, this prompt is the name of the virtual environment folder (VenvDir) +surrounded by parentheses and followed by a single space (ie. '(.venv) '). + +.Example +Activate.ps1 +Activates the Python virtual environment that contains the Activate.ps1 script. + +.Example +Activate.ps1 -Verbose +Activates the Python virtual environment that contains the Activate.ps1 script, +and shows extra information about the activation as it executes. + +.Example +Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv +Activates the Python virtual environment located in the specified location. + +.Example +Activate.ps1 -Prompt "MyPython" +Activates the Python virtual environment that contains the Activate.ps1 script, +and prefixes the current prompt with the specified string (surrounded in +parentheses) while the virtual environment is active. + +.Notes +On Windows, it may be required to enable this Activate.ps1 script by setting the +execution policy for the user. You can do this by issuing the following PowerShell +command: + +PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser + +For more information on Execution Policies: +https://go.microsoft.com/fwlink/?LinkID=135170 + +#> +Param( + [Parameter(Mandatory = $false)] + [String] + $VenvDir, + [Parameter(Mandatory = $false)] + [String] + $Prompt +) + +<# Function declarations --------------------------------------------------- #> + +<# +.Synopsis +Remove all shell session elements added by the Activate script, including the +addition of the virtual environment's Python executable from the beginning of +the PATH variable. + +.Parameter NonDestructive +If present, do not remove this function from the global namespace for the +session. + +#> +function global:deactivate ([switch]$NonDestructive) { + # Revert to original values + + # The prior prompt: + if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) { + Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt + Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT + } + + # The prior PYTHONHOME: + if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) { + Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME + Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME + } + + # The prior PATH: + if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) { + Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH + Remove-Item -Path Env:_OLD_VIRTUAL_PATH + } + + # Just remove the VIRTUAL_ENV altogether: + if (Test-Path -Path Env:VIRTUAL_ENV) { + Remove-Item -Path env:VIRTUAL_ENV + } + + # Just remove VIRTUAL_ENV_PROMPT altogether. + if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) { + Remove-Item -Path env:VIRTUAL_ENV_PROMPT + } + + # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether: + if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) { + Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force + } + + # Leave deactivate function in the global namespace if requested: + if (-not $NonDestructive) { + Remove-Item -Path function:deactivate + } +} + +<# +.Description +Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the +given folder, and returns them in a map. + +For each line in the pyvenv.cfg file, if that line can be parsed into exactly +two strings separated by `=` (with any amount of whitespace surrounding the =) +then it is considered a `key = value` line. The left hand string is the key, +the right hand is the value. + +If the value starts with a `'` or a `"` then the first and last character is +stripped from the value before being captured. + +.Parameter ConfigDir +Path to the directory that contains the `pyvenv.cfg` file. +#> +function Get-PyVenvConfig( + [String] + $ConfigDir +) { + Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg" + + # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue). + $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue + + # An empty map will be returned if no config file is found. + $pyvenvConfig = @{ } + + if ($pyvenvConfigPath) { + + Write-Verbose "File exists, parse `key = value` lines" + $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath + + $pyvenvConfigContent | ForEach-Object { + $keyval = $PSItem -split "\s*=\s*", 2 + if ($keyval[0] -and $keyval[1]) { + $val = $keyval[1] + + # Remove extraneous quotations around a string value. + if ("'""".Contains($val.Substring(0, 1))) { + $val = $val.Substring(1, $val.Length - 2) + } + + $pyvenvConfig[$keyval[0]] = $val + Write-Verbose "Adding Key: '$($keyval[0])'='$val'" + } + } + } + return $pyvenvConfig +} + + +<# Begin Activate script --------------------------------------------------- #> + +# Determine the containing directory of this script +$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition +$VenvExecDir = Get-Item -Path $VenvExecPath + +Write-Verbose "Activation script is located in path: '$VenvExecPath'" +Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)" +Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)" + +# Set values required in priority: CmdLine, ConfigFile, Default +# First, get the location of the virtual environment, it might not be +# VenvExecDir if specified on the command line. +if ($VenvDir) { + Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values" +} +else { + Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir." + $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/") + Write-Verbose "VenvDir=$VenvDir" +} + +# Next, read the `pyvenv.cfg` file to determine any required value such +# as `prompt`. +$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir + +# Next, set the prompt from the command line, or the config file, or +# just use the name of the virtual environment folder. +if ($Prompt) { + Write-Verbose "Prompt specified as argument, using '$Prompt'" +} +else { + Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value" + if ($pyvenvCfg -and $pyvenvCfg['prompt']) { + Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'" + $Prompt = $pyvenvCfg['prompt']; + } + else { + Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)" + Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'" + $Prompt = Split-Path -Path $venvDir -Leaf + } +} + +Write-Verbose "Prompt = '$Prompt'" +Write-Verbose "VenvDir='$VenvDir'" + +# Deactivate any currently active virtual environment, but leave the +# deactivate function in place. +deactivate -nondestructive + +# Now set the environment variable VIRTUAL_ENV, used by many tools to determine +# that there is an activated venv. +$env:VIRTUAL_ENV = $VenvDir + +if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) { + + Write-Verbose "Setting prompt to '$Prompt'" + + # Set the prompt to include the env name + # Make sure _OLD_VIRTUAL_PROMPT is global + function global:_OLD_VIRTUAL_PROMPT { "" } + Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT + New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt + + function global:prompt { + Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) " + _OLD_VIRTUAL_PROMPT + } + $env:VIRTUAL_ENV_PROMPT = $Prompt +} + +# Clear PYTHONHOME +if (Test-Path -Path Env:PYTHONHOME) { + Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME + Remove-Item -Path Env:PYTHONHOME +} + +# Add the venv to the PATH +Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH +$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH" diff --git a/botenre/myenv/bin/activate b/botenre/myenv/bin/activate new file mode 100644 index 0000000..37aaa02 --- /dev/null +++ b/botenre/myenv/bin/activate @@ -0,0 +1,69 @@ +# This file must be used with "source bin/activate" *from bash* +# you cannot run it directly + +deactivate () { + # reset old environment variables + if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then + PATH="${_OLD_VIRTUAL_PATH:-}" + export PATH + unset _OLD_VIRTUAL_PATH + fi + if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then + PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" + export PYTHONHOME + unset _OLD_VIRTUAL_PYTHONHOME + fi + + # This should detect bash and zsh, which have a hash command that must + # be called to get it to forget past commands. Without forgetting + # past commands the $PATH changes we made may not be respected + if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then + hash -r 2> /dev/null + fi + + if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then + PS1="${_OLD_VIRTUAL_PS1:-}" + export PS1 + unset _OLD_VIRTUAL_PS1 + fi + + unset VIRTUAL_ENV + unset VIRTUAL_ENV_PROMPT + if [ ! "${1:-}" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelevant variables +deactivate nondestructive + +VIRTUAL_ENV=/home/bot/botenre/myenv +export VIRTUAL_ENV + +_OLD_VIRTUAL_PATH="$PATH" +PATH="$VIRTUAL_ENV/"bin":$PATH" +export PATH + +# unset PYTHONHOME if set +# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) +# could use `if (set -u; : $PYTHONHOME) ;` in bash +if [ -n "${PYTHONHOME:-}" ] ; then + _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" + unset PYTHONHOME +fi + +if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then + _OLD_VIRTUAL_PS1="${PS1:-}" + PS1='(myenv) '"${PS1:-}" + export PS1 + VIRTUAL_ENV_PROMPT='(myenv) ' + export VIRTUAL_ENV_PROMPT +fi + +# This should detect bash and zsh, which have a hash command that must +# be called to get it to forget past commands. Without forgetting +# past commands the $PATH changes we made may not be respected +if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then + hash -r 2> /dev/null +fi diff --git a/botenre/myenv/bin/activate.csh b/botenre/myenv/bin/activate.csh new file mode 100644 index 0000000..a8954f3 --- /dev/null +++ b/botenre/myenv/bin/activate.csh @@ -0,0 +1,26 @@ +# This file must be used with "source bin/activate.csh" *from csh*. +# You cannot run it directly. +# Created by Davide Di Blasi . +# Ported to Python 3.3 venv by Andrew Svetlov + +alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate' + +# Unset irrelevant variables. +deactivate nondestructive + +setenv VIRTUAL_ENV /home/bot/botenre/myenv + +set _OLD_VIRTUAL_PATH="$PATH" +setenv PATH "$VIRTUAL_ENV/"bin":$PATH" + + +set _OLD_VIRTUAL_PROMPT="$prompt" + +if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then + set prompt = '(myenv) '"$prompt" + setenv VIRTUAL_ENV_PROMPT '(myenv) ' +endif + +alias pydoc python -m pydoc + +rehash diff --git a/botenre/myenv/bin/activate.fish b/botenre/myenv/bin/activate.fish new file mode 100644 index 0000000..c8e9fa4 --- /dev/null +++ b/botenre/myenv/bin/activate.fish @@ -0,0 +1,69 @@ +# This file must be used with "source /bin/activate.fish" *from fish* +# (https://fishshell.com/); you cannot run it directly. + +function deactivate -d "Exit virtual environment and return to normal shell environment" + # reset old environment variables + if test -n "$_OLD_VIRTUAL_PATH" + set -gx PATH $_OLD_VIRTUAL_PATH + set -e _OLD_VIRTUAL_PATH + end + if test -n "$_OLD_VIRTUAL_PYTHONHOME" + set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME + set -e _OLD_VIRTUAL_PYTHONHOME + end + + if test -n "$_OLD_FISH_PROMPT_OVERRIDE" + set -e _OLD_FISH_PROMPT_OVERRIDE + # prevents error when using nested fish instances (Issue #93858) + if functions -q _old_fish_prompt + functions -e fish_prompt + functions -c _old_fish_prompt fish_prompt + functions -e _old_fish_prompt + end + end + + set -e VIRTUAL_ENV + set -e VIRTUAL_ENV_PROMPT + if test "$argv[1]" != "nondestructive" + # Self-destruct! + functions -e deactivate + end +end + +# Unset irrelevant variables. +deactivate nondestructive + +set -gx VIRTUAL_ENV /home/bot/botenre/myenv + +set -gx _OLD_VIRTUAL_PATH $PATH +set -gx PATH "$VIRTUAL_ENV/"bin $PATH + +# Unset PYTHONHOME if set. +if set -q PYTHONHOME + set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME + set -e PYTHONHOME +end + +if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" + # fish uses a function instead of an env var to generate the prompt. + + # Save the current fish_prompt function as the function _old_fish_prompt. + functions -c fish_prompt _old_fish_prompt + + # With the original prompt function renamed, we can override with our own. + function fish_prompt + # Save the return status of the last command. + set -l old_status $status + + # Output the venv prompt; color taken from the blue of the Python logo. + printf "%s%s%s" (set_color 4B8BBE) '(myenv) ' (set_color normal) + + # Restore the return status of the previous command. + echo "exit $old_status" | . + # Output the original/"old" prompt. + _old_fish_prompt + end + + set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" + set -gx VIRTUAL_ENV_PROMPT '(myenv) ' +end diff --git a/botenre/myenv/bin/httpx b/botenre/myenv/bin/httpx new file mode 100755 index 0000000..5e85f0b --- /dev/null +++ b/botenre/myenv/bin/httpx @@ -0,0 +1,8 @@ +#!/home/bot/botenre/myenv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from httpx import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/botenre/myenv/bin/pip b/botenre/myenv/bin/pip new file mode 100755 index 0000000..1714098 --- /dev/null +++ b/botenre/myenv/bin/pip @@ -0,0 +1,8 @@ +#!/home/bot/botenre/myenv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/botenre/myenv/bin/pip3 b/botenre/myenv/bin/pip3 new file mode 100755 index 0000000..1714098 --- /dev/null +++ b/botenre/myenv/bin/pip3 @@ -0,0 +1,8 @@ +#!/home/bot/botenre/myenv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/botenre/myenv/bin/pip3.11 b/botenre/myenv/bin/pip3.11 new file mode 100755 index 0000000..1714098 --- /dev/null +++ b/botenre/myenv/bin/pip3.11 @@ -0,0 +1,8 @@ +#!/home/bot/botenre/myenv/bin/python3 +# -*- coding: utf-8 -*- +import re +import sys +from pip._internal.cli.main import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/botenre/myenv/bin/python b/botenre/myenv/bin/python new file mode 120000 index 0000000..b8a0adb --- /dev/null +++ b/botenre/myenv/bin/python @@ -0,0 +1 @@ +python3 \ No newline at end of file diff --git a/botenre/myenv/bin/python3 b/botenre/myenv/bin/python3 new file mode 120000 index 0000000..ae65fda --- /dev/null +++ b/botenre/myenv/bin/python3 @@ -0,0 +1 @@ +/usr/bin/python3 \ No newline at end of file diff --git a/botenre/myenv/bin/python3.11 b/botenre/myenv/bin/python3.11 new file mode 120000 index 0000000..b8a0adb --- /dev/null +++ b/botenre/myenv/bin/python3.11 @@ -0,0 +1 @@ +python3 \ No newline at end of file diff --git a/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/INSTALLER b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/LICENSE.txt b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/LICENSE.txt new file mode 100644 index 0000000..07806f8 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/LICENSE.txt @@ -0,0 +1,19 @@ +This is the MIT license: http://www.opensource.org/licenses/mit-license.php + +Copyright (c) Alex Grönholm + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/METADATA b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/METADATA new file mode 100644 index 0000000..80c74e0 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/METADATA @@ -0,0 +1,147 @@ +Metadata-Version: 2.1 +Name: APScheduler +Version: 3.11.0 +Summary: In-process task scheduler with Cron-like capabilities +Author-email: Alex Grönholm +License: MIT +Project-URL: Documentation, https://apscheduler.readthedocs.io/en/3.x/ +Project-URL: Changelog, https://apscheduler.readthedocs.io/en/3.x/versionhistory.html +Project-URL: Source code, https://github.com/agronholm/apscheduler +Project-URL: Issue tracker, https://github.com/agronholm/apscheduler/issues +Keywords: scheduling,cron +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 +Requires-Python: >=3.8 +Description-Content-Type: text/x-rst +License-File: LICENSE.txt +Requires-Dist: tzlocal>=3.0 +Requires-Dist: backports.zoneinfo; python_version < "3.9" +Provides-Extra: etcd +Requires-Dist: etcd3; extra == "etcd" +Requires-Dist: protobuf<=3.21.0; extra == "etcd" +Provides-Extra: gevent +Requires-Dist: gevent; extra == "gevent" +Provides-Extra: mongodb +Requires-Dist: pymongo>=3.0; extra == "mongodb" +Provides-Extra: redis +Requires-Dist: redis>=3.0; extra == "redis" +Provides-Extra: rethinkdb +Requires-Dist: rethinkdb>=2.4.0; extra == "rethinkdb" +Provides-Extra: sqlalchemy +Requires-Dist: sqlalchemy>=1.4; extra == "sqlalchemy" +Provides-Extra: tornado +Requires-Dist: tornado>=4.3; extra == "tornado" +Provides-Extra: twisted +Requires-Dist: twisted; extra == "twisted" +Provides-Extra: zookeeper +Requires-Dist: kazoo; extra == "zookeeper" +Provides-Extra: test +Requires-Dist: APScheduler[etcd,mongodb,redis,rethinkdb,sqlalchemy,tornado,zookeeper]; extra == "test" +Requires-Dist: pytest; extra == "test" +Requires-Dist: anyio>=4.5.2; extra == "test" +Requires-Dist: PySide6; (platform_python_implementation == "CPython" and python_version < "3.14") and extra == "test" +Requires-Dist: gevent; python_version < "3.14" and extra == "test" +Requires-Dist: pytz; extra == "test" +Requires-Dist: twisted; python_version < "3.14" and extra == "test" +Provides-Extra: doc +Requires-Dist: packaging; extra == "doc" +Requires-Dist: sphinx; extra == "doc" +Requires-Dist: sphinx-rtd-theme>=1.3.0; extra == "doc" + +.. image:: https://github.com/agronholm/apscheduler/workflows/Python%20codeqa/test/badge.svg?branch=3.x + :target: https://github.com/agronholm/apscheduler/actions?query=workflow%3A%22Python+codeqa%2Ftest%22+branch%3A3.x + :alt: Build Status +.. image:: https://coveralls.io/repos/github/agronholm/apscheduler/badge.svg?branch=3.x + :target: https://coveralls.io/github/agronholm/apscheduler?branch=3.x + :alt: Code Coverage +.. image:: https://readthedocs.org/projects/apscheduler/badge/?version=3.x + :target: https://apscheduler.readthedocs.io/en/master/?badge=3.x + :alt: Documentation + +Advanced Python Scheduler (APScheduler) is a Python library that lets you schedule your Python code +to be executed later, either just once or periodically. You can add new jobs or remove old ones on +the fly as you please. If you store your jobs in a database, they will also survive scheduler +restarts and maintain their state. When the scheduler is restarted, it will then run all the jobs +it should have run while it was offline [#f1]_. + +Among other things, APScheduler can be used as a cross-platform, application specific replacement +to platform specific schedulers, such as the cron daemon or the Windows task scheduler. Please +note, however, that APScheduler is **not** a daemon or service itself, nor does it come with any +command line tools. It is primarily meant to be run inside existing applications. That said, +APScheduler does provide some building blocks for you to build a scheduler service or to run a +dedicated scheduler process. + +APScheduler has three built-in scheduling systems you can use: + +* Cron-style scheduling (with optional start/end times) +* Interval-based execution (runs jobs on even intervals, with optional start/end times) +* One-off delayed execution (runs jobs once, on a set date/time) + +You can mix and match scheduling systems and the backends where the jobs are stored any way you +like. Supported backends for storing jobs include: + +* Memory +* `SQLAlchemy `_ (any RDBMS supported by SQLAlchemy works) +* `MongoDB `_ +* `Redis `_ +* `RethinkDB `_ +* `ZooKeeper `_ +* `Etcd `_ + +APScheduler also integrates with several common Python frameworks, like: + +* `asyncio `_ (:pep:`3156`) +* `gevent `_ +* `Tornado `_ +* `Twisted `_ +* `Qt `_ (using either + `PyQt `_ , + `PySide6 `_ , + `PySide2 `_ or + `PySide `_) + +There are third party solutions for integrating APScheduler with other frameworks: + +* `Django `_ +* `Flask `_ + + +.. [#f1] The cutoff period for this is also configurable. + + +Documentation +------------- + +Documentation can be found `here `_. + + +Source +------ + +The source can be browsed at `Github `_. + + +Reporting bugs +-------------- + +A `bug tracker `_ is provided by Github. + + +Getting help +------------ + +If you have problems or other questions, you can either: + +* Ask in the `apscheduler `_ room on Gitter +* Ask on the `APScheduler GitHub discussion forum `_, or +* Ask on `StackOverflow `_ and tag your + question with the ``apscheduler`` tag diff --git a/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/RECORD b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/RECORD new file mode 100644 index 0000000..85fb12f --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/RECORD @@ -0,0 +1,86 @@ +APScheduler-3.11.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +APScheduler-3.11.0.dist-info/LICENSE.txt,sha256=YWP3mH37ONa8MgzitwsvArhivEESZRbVUu8c1DJH51g,1130 +APScheduler-3.11.0.dist-info/METADATA,sha256=Mve2P3vZbWWDb5V-XfZO80hkih9E6s00Nn5ptU2__9w,6374 +APScheduler-3.11.0.dist-info/RECORD,, +APScheduler-3.11.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +APScheduler-3.11.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91 +APScheduler-3.11.0.dist-info/entry_points.txt,sha256=HSDTxgulLTgymfXK2UNCPP1ib5rlQSFgZJEg72vto3s,1181 +APScheduler-3.11.0.dist-info/top_level.txt,sha256=O3oMCWxG-AHkecUoO6Ze7-yYjWrttL95uHO8-RFdYvE,12 +apscheduler/__init__.py,sha256=hOpI9oJuk5l5I_VtdsHPous2Qr-ZDX573e7NaYRWFUs,380 +apscheduler/__pycache__/__init__.cpython-311.pyc,, +apscheduler/__pycache__/events.cpython-311.pyc,, +apscheduler/__pycache__/job.cpython-311.pyc,, +apscheduler/__pycache__/util.cpython-311.pyc,, +apscheduler/events.py,sha256=W_Wg5aTBXDxXhHtimn93ZEjV3x0ntF-Y0EAVuZPhiXY,3591 +apscheduler/executors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +apscheduler/executors/__pycache__/__init__.cpython-311.pyc,, +apscheduler/executors/__pycache__/asyncio.cpython-311.pyc,, +apscheduler/executors/__pycache__/base.cpython-311.pyc,, +apscheduler/executors/__pycache__/debug.cpython-311.pyc,, +apscheduler/executors/__pycache__/gevent.cpython-311.pyc,, +apscheduler/executors/__pycache__/pool.cpython-311.pyc,, +apscheduler/executors/__pycache__/tornado.cpython-311.pyc,, +apscheduler/executors/__pycache__/twisted.cpython-311.pyc,, +apscheduler/executors/asyncio.py,sha256=g0ArcxefoTnEqtyr_IRc-M3dcj0bhuvHcxwRp2s3nDE,1768 +apscheduler/executors/base.py,sha256=HErgd8d1g0-BjXnylLcFyoo6GU3wHgW9GJVaFNMV7dI,7116 +apscheduler/executors/debug.py,sha256=15_ogSBzl8RRCfBYDnkIV2uMH8cLk1KImYmBa_NVGpc,573 +apscheduler/executors/gevent.py,sha256=_ZFpbn7-tH5_lAeL4sxEyPhxyUTtUUSrH8s42EHGQ2w,761 +apscheduler/executors/pool.py,sha256=q_shxnvXLjdcwhtKyPvQSYngOjAeKQO8KCvZeb19RSQ,2683 +apscheduler/executors/tornado.py,sha256=lb6mshRj7GMLz3d8StwESnlZsAfrNmW78Wokcg__Lk8,1581 +apscheduler/executors/twisted.py,sha256=YUEDnaPbP_M0lXCmNAW_yPiLKwbO9vD3KMiBFQ2D4h0,726 +apscheduler/job.py,sha256=GzOGMfOM6STwd3HWArVAylO-1Kb0f2qA_PRuXs5LPk4,11153 +apscheduler/jobstores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +apscheduler/jobstores/__pycache__/__init__.cpython-311.pyc,, +apscheduler/jobstores/__pycache__/base.cpython-311.pyc,, +apscheduler/jobstores/__pycache__/etcd.cpython-311.pyc,, +apscheduler/jobstores/__pycache__/memory.cpython-311.pyc,, +apscheduler/jobstores/__pycache__/mongodb.cpython-311.pyc,, +apscheduler/jobstores/__pycache__/redis.cpython-311.pyc,, +apscheduler/jobstores/__pycache__/rethinkdb.cpython-311.pyc,, +apscheduler/jobstores/__pycache__/sqlalchemy.cpython-311.pyc,, +apscheduler/jobstores/__pycache__/zookeeper.cpython-311.pyc,, +apscheduler/jobstores/base.py,sha256=ZDOgMtHLaF3TPUOQwmkBIDcpnHU0aUhtzZOGmMGaJn8,4416 +apscheduler/jobstores/etcd.py,sha256=O7C40CGlnn3cPinchJEs2sWcqnzEZQt3c6WnhgPRSdQ,5703 +apscheduler/jobstores/memory.py,sha256=HmOs7FbrOoQNywz-yfq2v5esGDHeKE_mvMNFDeGZ31E,3595 +apscheduler/jobstores/mongodb.py,sha256=mCIwcKiWcicM2qdAQn51QBEkGlNfbk_73Oi6soShNcM,5319 +apscheduler/jobstores/redis.py,sha256=El-H2eUfZjPZca7vwy10B9gZv5RzRucbkDu7Ti07vyM,5482 +apscheduler/jobstores/rethinkdb.py,sha256=SdT3jPrhxnmBoL4IClDfHsez4DpREnYEsHndIP8idHA,5922 +apscheduler/jobstores/sqlalchemy.py,sha256=2jaq3ZcoXEyIqqvYf3eloaP-_ZAqojt0EuWWvQ2LMRg,6799 +apscheduler/jobstores/zookeeper.py,sha256=32bEZNJNniPwmYXBITZ3eSRBq6hipqPKDqh4q4NiZvc,6439 +apscheduler/schedulers/__init__.py,sha256=POEy7n3BZgccZ44atMvxj0w5PejN55g-55NduZUZFqQ,406 +apscheduler/schedulers/__pycache__/__init__.cpython-311.pyc,, +apscheduler/schedulers/__pycache__/asyncio.cpython-311.pyc,, +apscheduler/schedulers/__pycache__/background.cpython-311.pyc,, +apscheduler/schedulers/__pycache__/base.cpython-311.pyc,, +apscheduler/schedulers/__pycache__/blocking.cpython-311.pyc,, +apscheduler/schedulers/__pycache__/gevent.cpython-311.pyc,, +apscheduler/schedulers/__pycache__/qt.cpython-311.pyc,, +apscheduler/schedulers/__pycache__/tornado.cpython-311.pyc,, +apscheduler/schedulers/__pycache__/twisted.cpython-311.pyc,, +apscheduler/schedulers/asyncio.py,sha256=Jo7tgHP1STnMSxNVAWPSkFpmBLngavivTsG9sF0QoWM,1893 +apscheduler/schedulers/background.py,sha256=sRNrikUhpyblvA5RCpKC5Djvf3-b6NHvnXTblxlqIaM,1476 +apscheduler/schedulers/base.py,sha256=hvnvcI1DOC9bmvrFk8UiLlGxsXKHtMpEHLDEe63mQ_s,48342 +apscheduler/schedulers/blocking.py,sha256=138rf9X1C-ZxWVTVAO_pyfYMBKhkqO2qZqJoyGInv5c,872 +apscheduler/schedulers/gevent.py,sha256=zS5nHQUkQMrn0zKOaFnUyiG0fXTE01yE9GXVNCdrd90,987 +apscheduler/schedulers/qt.py,sha256=6BHOCi8e6L3wXTWwQDjNl8w_GJF_dY6iiO3gEtCJgmI,1241 +apscheduler/schedulers/tornado.py,sha256=dQBQKrTtZLPHuhuzZgrT-laU-estPRWGv9W9kgZETnY,1890 +apscheduler/schedulers/twisted.py,sha256=sRkI3hosp-OCLVluR_-wZFCz9auxqqWYauZhtOAoRU4,1778 +apscheduler/triggers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +apscheduler/triggers/__pycache__/__init__.cpython-311.pyc,, +apscheduler/triggers/__pycache__/base.cpython-311.pyc,, +apscheduler/triggers/__pycache__/calendarinterval.cpython-311.pyc,, +apscheduler/triggers/__pycache__/combining.cpython-311.pyc,, +apscheduler/triggers/__pycache__/date.cpython-311.pyc,, +apscheduler/triggers/__pycache__/interval.cpython-311.pyc,, +apscheduler/triggers/base.py,sha256=8iKllubaexF456IK9jfi56QTrVIfDDPLavUc8wTlnL0,1333 +apscheduler/triggers/calendarinterval.py,sha256=BaH5rbTSVbPk3VhFwA3zORLSuZtYmFudS8GF0YxB51E,7411 +apscheduler/triggers/combining.py,sha256=LO0YKgBk8V5YfQ-L3qh8Fb6w0BvNOBghTFeAvZx3_P8,4044 +apscheduler/triggers/cron/__init__.py,sha256=ByWq4Q96gUWr4AwKoRRA9BD5ZVBvwQ6BtQMhafdStjw,9753 +apscheduler/triggers/cron/__pycache__/__init__.cpython-311.pyc,, +apscheduler/triggers/cron/__pycache__/expressions.cpython-311.pyc,, +apscheduler/triggers/cron/__pycache__/fields.cpython-311.pyc,, +apscheduler/triggers/cron/expressions.py,sha256=89n_HxA0826xBJb8RprVzUDECs0dnZ_rX2wVkVsq6l8,9056 +apscheduler/triggers/cron/fields.py,sha256=RVbf6Lcyvg-3CqNzEZsfxzQ_weONCIiq5LGDzA3JUAw,3618 +apscheduler/triggers/date.py,sha256=ZS_TMjUCSldqlZsUUjlwvuWeMKeDXqqAMcZVFGYpam4,1698 +apscheduler/triggers/interval.py,sha256=u6XLrxlaWA41zvIByQvRLHTAuvkibG2fAZAxrWK3118,4679 +apscheduler/util.py,sha256=Lz2ddoeIpufXzW-HWnW5J08ijkXWGElDLVJf0DiPa84,13564 diff --git a/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/REQUESTED b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/WHEEL b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/WHEEL new file mode 100644 index 0000000..ae527e7 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: setuptools (75.6.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/entry_points.txt b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/entry_points.txt new file mode 100644 index 0000000..5890251 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/entry_points.txt @@ -0,0 +1,25 @@ +[apscheduler.executors] +asyncio = apscheduler.executors.asyncio:AsyncIOExecutor +debug = apscheduler.executors.debug:DebugExecutor +gevent = apscheduler.executors.gevent:GeventExecutor +processpool = apscheduler.executors.pool:ProcessPoolExecutor +threadpool = apscheduler.executors.pool:ThreadPoolExecutor +tornado = apscheduler.executors.tornado:TornadoExecutor +twisted = apscheduler.executors.twisted:TwistedExecutor + +[apscheduler.jobstores] +etcd = apscheduler.jobstores.etcd:EtcdJobStore +memory = apscheduler.jobstores.memory:MemoryJobStore +mongodb = apscheduler.jobstores.mongodb:MongoDBJobStore +redis = apscheduler.jobstores.redis:RedisJobStore +rethinkdb = apscheduler.jobstores.rethinkdb:RethinkDBJobStore +sqlalchemy = apscheduler.jobstores.sqlalchemy:SQLAlchemyJobStore +zookeeper = apscheduler.jobstores.zookeeper:ZooKeeperJobStore + +[apscheduler.triggers] +and = apscheduler.triggers.combining:AndTrigger +calendarinterval = apscheduler.triggers.calendarinterval:CalendarIntervalTrigger +cron = apscheduler.triggers.cron:CronTrigger +date = apscheduler.triggers.date:DateTrigger +interval = apscheduler.triggers.interval:IntervalTrigger +or = apscheduler.triggers.combining:OrTrigger diff --git a/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/top_level.txt b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/top_level.txt new file mode 100644 index 0000000..d31d10d --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/APScheduler-3.11.0.dist-info/top_level.txt @@ -0,0 +1 @@ +apscheduler diff --git a/botenre/myenv/lib/python3.11/site-packages/__pycache__/nest_asyncio.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/__pycache__/nest_asyncio.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1b2a6e862d559a1e45ba42407c57d8ce4edc5710 GIT binary patch literal 13249 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/_distutils_hack/override.py b/botenre/myenv/lib/python3.11/site-packages/_distutils_hack/override.py new file mode 100644 index 0000000..2cc433a --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/_distutils_hack/override.py @@ -0,0 +1 @@ +__import__('_distutils_hack').do_override() diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/INSTALLER b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/LICENSE b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/LICENSE new file mode 100644 index 0000000..104eebf --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2018 Alex Grönholm + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/METADATA b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/METADATA new file mode 100644 index 0000000..7b114cd --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/METADATA @@ -0,0 +1,104 @@ +Metadata-Version: 2.1 +Name: anyio +Version: 4.8.0 +Summary: High level compatibility layer for multiple asynchronous event loop implementations +Author-email: Alex Grönholm +License: MIT +Project-URL: Documentation, https://anyio.readthedocs.io/en/latest/ +Project-URL: Changelog, https://anyio.readthedocs.io/en/stable/versionhistory.html +Project-URL: Source code, https://github.com/agronholm/anyio +Project-URL: Issue tracker, https://github.com/agronholm/anyio/issues +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Framework :: AnyIO +Classifier: Typing :: Typed +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 +Requires-Python: >=3.9 +Description-Content-Type: text/x-rst +License-File: LICENSE +Requires-Dist: exceptiongroup>=1.0.2; python_version < "3.11" +Requires-Dist: idna>=2.8 +Requires-Dist: sniffio>=1.1 +Requires-Dist: typing_extensions>=4.5; python_version < "3.13" +Provides-Extra: trio +Requires-Dist: trio>=0.26.1; extra == "trio" +Provides-Extra: test +Requires-Dist: anyio[trio]; extra == "test" +Requires-Dist: coverage[toml]>=7; extra == "test" +Requires-Dist: exceptiongroup>=1.2.0; extra == "test" +Requires-Dist: hypothesis>=4.0; extra == "test" +Requires-Dist: psutil>=5.9; extra == "test" +Requires-Dist: pytest>=7.0; extra == "test" +Requires-Dist: trustme; extra == "test" +Requires-Dist: truststore>=0.9.1; python_version >= "3.10" and extra == "test" +Requires-Dist: uvloop>=0.21; (platform_python_implementation == "CPython" and platform_system != "Windows" and python_version < "3.14") and extra == "test" +Provides-Extra: doc +Requires-Dist: packaging; extra == "doc" +Requires-Dist: Sphinx~=7.4; extra == "doc" +Requires-Dist: sphinx_rtd_theme; extra == "doc" +Requires-Dist: sphinx-autodoc-typehints>=1.2.0; extra == "doc" + +.. image:: https://github.com/agronholm/anyio/actions/workflows/test.yml/badge.svg + :target: https://github.com/agronholm/anyio/actions/workflows/test.yml + :alt: Build Status +.. image:: https://coveralls.io/repos/github/agronholm/anyio/badge.svg?branch=master + :target: https://coveralls.io/github/agronholm/anyio?branch=master + :alt: Code Coverage +.. image:: https://readthedocs.org/projects/anyio/badge/?version=latest + :target: https://anyio.readthedocs.io/en/latest/?badge=latest + :alt: Documentation +.. image:: https://badges.gitter.im/gitterHQ/gitter.svg + :target: https://gitter.im/python-trio/AnyIO + :alt: Gitter chat + +AnyIO is an asynchronous networking and concurrency library that works on top of either asyncio_ or +trio_. It implements trio-like `structured concurrency`_ (SC) on top of asyncio and works in harmony +with the native SC of trio itself. + +Applications and libraries written against AnyIO's API will run unmodified on either asyncio_ or +trio_. AnyIO can also be adopted into a library or application incrementally – bit by bit, no full +refactoring necessary. It will blend in with the native libraries of your chosen backend. + +Documentation +------------- + +View full documentation at: https://anyio.readthedocs.io/ + +Features +-------- + +AnyIO offers the following functionality: + +* Task groups (nurseries_ in trio terminology) +* High-level networking (TCP, UDP and UNIX sockets) + + * `Happy eyeballs`_ algorithm for TCP connections (more robust than that of asyncio on Python + 3.8) + * async/await style UDP sockets (unlike asyncio where you still have to use Transports and + Protocols) + +* A versatile API for byte streams and object streams +* Inter-task synchronization and communication (locks, conditions, events, semaphores, object + streams) +* Worker threads +* Subprocesses +* Asynchronous file I/O (using worker threads) +* Signal handling + +AnyIO also comes with its own pytest_ plugin which also supports asynchronous fixtures. +It even works with the popular Hypothesis_ library. + +.. _asyncio: https://docs.python.org/3/library/asyncio.html +.. _trio: https://github.com/python-trio/trio +.. _structured concurrency: https://en.wikipedia.org/wiki/Structured_concurrency +.. _nurseries: https://trio.readthedocs.io/en/stable/reference-core.html#nurseries-and-spawning +.. _Happy eyeballs: https://en.wikipedia.org/wiki/Happy_Eyeballs +.. _pytest: https://docs.pytest.org/en/latest/ +.. _Hypothesis: https://hypothesis.works/ diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/RECORD b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/RECORD new file mode 100644 index 0000000..d148159 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/RECORD @@ -0,0 +1,86 @@ +anyio-4.8.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +anyio-4.8.0.dist-info/LICENSE,sha256=U2GsncWPLvX9LpsJxoKXwX8ElQkJu8gCO9uC6s8iwrA,1081 +anyio-4.8.0.dist-info/METADATA,sha256=WjTz5zz2NgMStBtw4xDh8CDvf6YXgAOrA0nboFQkXEg,4630 +anyio-4.8.0.dist-info/RECORD,, +anyio-4.8.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91 +anyio-4.8.0.dist-info/entry_points.txt,sha256=_d6Yu6uiaZmNe0CydowirE9Cmg7zUL2g08tQpoS3Qvc,39 +anyio-4.8.0.dist-info/top_level.txt,sha256=QglSMiWX8_5dpoVAEIHdEYzvqFMdSYWmCj6tYw2ITkQ,6 +anyio/__init__.py,sha256=mVsWuQ6wxcPT9QUAxhz1Rg2u53PskaBJw4TXVXk63ZQ,4513 +anyio/__pycache__/__init__.cpython-311.pyc,, +anyio/__pycache__/from_thread.cpython-311.pyc,, +anyio/__pycache__/lowlevel.cpython-311.pyc,, +anyio/__pycache__/pytest_plugin.cpython-311.pyc,, +anyio/__pycache__/to_interpreter.cpython-311.pyc,, +anyio/__pycache__/to_process.cpython-311.pyc,, +anyio/__pycache__/to_thread.cpython-311.pyc,, +anyio/_backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +anyio/_backends/__pycache__/__init__.cpython-311.pyc,, +anyio/_backends/__pycache__/_asyncio.cpython-311.pyc,, +anyio/_backends/__pycache__/_trio.cpython-311.pyc,, +anyio/_backends/_asyncio.py,sha256=_6BDFDrEPI1aRPFDSPsUzyPGm-dnRgBPfEOdeCH1Ixg,92951 +anyio/_backends/_trio.py,sha256=7PNO_GPq8Dmo1kQmmE2z57dhnv4TUoinsEHt_PJg3oE,40405 +anyio/_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +anyio/_core/__pycache__/__init__.cpython-311.pyc,, +anyio/_core/__pycache__/_asyncio_selector_thread.cpython-311.pyc,, +anyio/_core/__pycache__/_eventloop.cpython-311.pyc,, +anyio/_core/__pycache__/_exceptions.cpython-311.pyc,, +anyio/_core/__pycache__/_fileio.cpython-311.pyc,, +anyio/_core/__pycache__/_resources.cpython-311.pyc,, +anyio/_core/__pycache__/_signals.cpython-311.pyc,, +anyio/_core/__pycache__/_sockets.cpython-311.pyc,, +anyio/_core/__pycache__/_streams.cpython-311.pyc,, +anyio/_core/__pycache__/_subprocesses.cpython-311.pyc,, +anyio/_core/__pycache__/_synchronization.cpython-311.pyc,, +anyio/_core/__pycache__/_tasks.cpython-311.pyc,, +anyio/_core/__pycache__/_testing.cpython-311.pyc,, +anyio/_core/__pycache__/_typedattr.cpython-311.pyc,, +anyio/_core/_asyncio_selector_thread.py,sha256=53RhMHpFAexW0dQz2Rn8iy8zt931NXyEJITyILWVV_A,5626 +anyio/_core/_eventloop.py,sha256=t_tAwBFPjF8jrZGjlJ6bbYy6KA3bjsbZxV9mvh9t1i0,4695 +anyio/_core/_exceptions.py,sha256=RlPRlwastdmfDPoskdXNO6SI8_l3fclA2wtW6cokU9I,3503 +anyio/_core/_fileio.py,sha256=r6QJmwn90vU0CyCDAWgGhCwc8cT26ofosaHl7Jo3LJU,22853 +anyio/_core/_resources.py,sha256=NbmU5O5UX3xEyACnkmYX28Fmwdl-f-ny0tHym26e0w0,435 +anyio/_core/_signals.py,sha256=vulT1M1xdLYtAR-eY5TamIgaf1WTlOwOrMGwswlTTr8,905 +anyio/_core/_sockets.py,sha256=vQ5GnSDLHjEhHhV2yvsdiPs5wmPxxb1kRsv3RM5lbQk,26951 +anyio/_core/_streams.py,sha256=OnaKgoDD-FcMSwLvkoAUGP51sG2ZdRvMpxt9q2w1gYA,1804 +anyio/_core/_subprocesses.py,sha256=WquR6sHrnaZofaeqnL8U4Yv___msVW_WqivleLHK4zI,7760 +anyio/_core/_synchronization.py,sha256=DwUh8Tl6cG_UMVC_GyzPoC_U9BpfDfjMl9SINSxcZN4,20320 +anyio/_core/_tasks.py,sha256=f3CuWwo06cCZ6jaOv-JHFKWkgpgf2cvaF25Oh4augMA,4757 +anyio/_core/_testing.py,sha256=YUGwA5cgFFbUTv4WFd7cv_BSVr4ryTtPp8owQA3JdWE,2118 +anyio/_core/_typedattr.py,sha256=P4ozZikn3-DbpoYcvyghS_FOYAgbmUxeoU8-L_07pZM,2508 +anyio/abc/__init__.py,sha256=c2OQbTCS_fQowviMXanLPh8m29ccwkXmpDr7uyNZYOo,2652 +anyio/abc/__pycache__/__init__.cpython-311.pyc,, +anyio/abc/__pycache__/_eventloop.cpython-311.pyc,, +anyio/abc/__pycache__/_resources.cpython-311.pyc,, +anyio/abc/__pycache__/_sockets.cpython-311.pyc,, +anyio/abc/__pycache__/_streams.cpython-311.pyc,, +anyio/abc/__pycache__/_subprocesses.cpython-311.pyc,, +anyio/abc/__pycache__/_tasks.cpython-311.pyc,, +anyio/abc/__pycache__/_testing.cpython-311.pyc,, +anyio/abc/_eventloop.py,sha256=Wd_3C3hLm0ex5z_eHHWGqvLle2OKCSexJSZVnwQNGV4,9658 +anyio/abc/_resources.py,sha256=DrYvkNN1hH6Uvv5_5uKySvDsnknGVDe8FCKfko0VtN8,783 +anyio/abc/_sockets.py,sha256=KhWtJxan8jpBXKwPaFeQzI4iRXdFaOIn0HXtDZnaO7U,6262 +anyio/abc/_streams.py,sha256=GzST5Q2zQmxVzdrAqtbSyHNxkPlIC9AzeZJg_YyPAXw,6598 +anyio/abc/_subprocesses.py,sha256=cumAPJTktOQtw63IqG0lDpyZqu_l1EElvQHMiwJgL08,2067 +anyio/abc/_tasks.py,sha256=yJWbMwowvqjlAX4oJ3l9Is1w-zwynr2lX1Z02AWJqsY,3080 +anyio/abc/_testing.py,sha256=tBJUzkSfOXJw23fe8qSJ03kJlShOYjjaEyFB6k6MYT8,1821 +anyio/from_thread.py,sha256=dbi5TUH45_Sg_jZ8Vv1NJWVohe0WeQ_OaCvXIKveAGg,17478 +anyio/lowlevel.py,sha256=nkgmW--SdxGVp0cmLUYazjkigveRm5HY7-gW8Bpp9oY,4169 +anyio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +anyio/pytest_plugin.py,sha256=vjGhGRHD31OyMgJRFQrMvExhx3Ea8KbyDqYKmiSDdXA,6712 +anyio/streams/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +anyio/streams/__pycache__/__init__.cpython-311.pyc,, +anyio/streams/__pycache__/buffered.cpython-311.pyc,, +anyio/streams/__pycache__/file.cpython-311.pyc,, +anyio/streams/__pycache__/memory.cpython-311.pyc,, +anyio/streams/__pycache__/stapled.cpython-311.pyc,, +anyio/streams/__pycache__/text.cpython-311.pyc,, +anyio/streams/__pycache__/tls.cpython-311.pyc,, +anyio/streams/buffered.py,sha256=UCldKC168YuLvT7n3HtNPnQ2iWAMSTYQWbZvzLwMwkM,4500 +anyio/streams/file.py,sha256=6uoTNb5KbMoj-6gS3_xrrL8uZN8Q4iIvOS1WtGyFfKw,4383 +anyio/streams/memory.py,sha256=j8AyOExK4-UPaon_Xbhwax25Vqs0DwFg3ZXc-EIiHjY,10550 +anyio/streams/stapled.py,sha256=U09pCrmOw9kkNhe6tKopsm1QIMT1lFTFvtb-A7SIe4k,4302 +anyio/streams/text.py,sha256=6x8w8xlfCZKTUWQoJiMPoMhSSJFUBRKgoBNSBtbd9yg,5094 +anyio/streams/tls.py,sha256=m3AE2LVSpoRHSIwSoSCupiOVL54EvOFoY3CcwTxcZfg,12742 +anyio/to_interpreter.py,sha256=QhTFaSdyUjxpuN_wBJWPWyh8N6kKV4qhkn71Op84AEc,6624 +anyio/to_process.py,sha256=ZvruelRM-HNmqDaql4sdNODg2QD_uSlwSCxnV4OhsfQ,9595 +anyio/to_thread.py,sha256=WM2JQ2MbVsd5D5CM08bQiTwzZIvpsGjfH1Fy247KoDQ,2396 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/WHEEL b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/WHEEL new file mode 100644 index 0000000..ae527e7 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: setuptools (75.6.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/entry_points.txt b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/entry_points.txt new file mode 100644 index 0000000..44dd9bd --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/entry_points.txt @@ -0,0 +1,2 @@ +[pytest11] +anyio = anyio.pytest_plugin diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/top_level.txt b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/top_level.txt new file mode 100644 index 0000000..c77c069 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio-4.8.0.dist-info/top_level.txt @@ -0,0 +1 @@ +anyio diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/__init__.py b/botenre/myenv/lib/python3.11/site-packages/anyio/__init__.py new file mode 100644 index 0000000..0983125 --- /dev/null +++ b/botenre/myenv/lib/python3.11/site-packages/anyio/__init__.py @@ -0,0 +1,77 @@ +from __future__ import annotations + +from ._core._eventloop import current_time as current_time +from ._core._eventloop import get_all_backends as get_all_backends +from ._core._eventloop import get_cancelled_exc_class as get_cancelled_exc_class +from ._core._eventloop import run as run +from ._core._eventloop import sleep as sleep +from ._core._eventloop import sleep_forever as sleep_forever +from ._core._eventloop import sleep_until as sleep_until +from ._core._exceptions import BrokenResourceError as BrokenResourceError +from ._core._exceptions import BrokenWorkerIntepreter as BrokenWorkerIntepreter +from ._core._exceptions import BrokenWorkerProcess as BrokenWorkerProcess +from ._core._exceptions import BusyResourceError as BusyResourceError +from ._core._exceptions import ClosedResourceError as ClosedResourceError +from ._core._exceptions import DelimiterNotFound as DelimiterNotFound +from ._core._exceptions import EndOfStream as EndOfStream +from ._core._exceptions import IncompleteRead as IncompleteRead +from ._core._exceptions import TypedAttributeLookupError as TypedAttributeLookupError +from ._core._exceptions import WouldBlock as WouldBlock +from ._core._fileio import AsyncFile as AsyncFile +from ._core._fileio import Path as Path +from ._core._fileio import open_file as open_file +from ._core._fileio import wrap_file as wrap_file +from ._core._resources import aclose_forcefully as aclose_forcefully +from ._core._signals import open_signal_receiver as open_signal_receiver +from ._core._sockets import connect_tcp as connect_tcp +from ._core._sockets import connect_unix as connect_unix +from ._core._sockets import create_connected_udp_socket as create_connected_udp_socket +from ._core._sockets import ( + create_connected_unix_datagram_socket as create_connected_unix_datagram_socket, +) +from ._core._sockets import create_tcp_listener as create_tcp_listener +from ._core._sockets import create_udp_socket as create_udp_socket +from ._core._sockets import create_unix_datagram_socket as create_unix_datagram_socket +from ._core._sockets import create_unix_listener as create_unix_listener +from ._core._sockets import getaddrinfo as getaddrinfo +from ._core._sockets import getnameinfo as getnameinfo +from ._core._sockets import wait_readable as wait_readable +from ._core._sockets import wait_socket_readable as wait_socket_readable +from ._core._sockets import wait_socket_writable as wait_socket_writable +from ._core._sockets import wait_writable as wait_writable +from ._core._streams import create_memory_object_stream as create_memory_object_stream +from ._core._subprocesses import open_process as open_process +from ._core._subprocesses import run_process as run_process +from ._core._synchronization import CapacityLimiter as CapacityLimiter +from ._core._synchronization import ( + CapacityLimiterStatistics as CapacityLimiterStatistics, +) +from ._core._synchronization import Condition as Condition +from ._core._synchronization import ConditionStatistics as ConditionStatistics +from ._core._synchronization import Event as Event +from ._core._synchronization import EventStatistics as EventStatistics +from ._core._synchronization import Lock as Lock +from ._core._synchronization import LockStatistics as LockStatistics +from ._core._synchronization import ResourceGuard as ResourceGuard +from ._core._synchronization import Semaphore as Semaphore +from ._core._synchronization import SemaphoreStatistics as SemaphoreStatistics +from ._core._tasks import TASK_STATUS_IGNORED as TASK_STATUS_IGNORED +from ._core._tasks import CancelScope as CancelScope +from ._core._tasks import create_task_group as create_task_group +from ._core._tasks import current_effective_deadline as current_effective_deadline +from ._core._tasks import fail_after as fail_after +from ._core._tasks import move_on_after as move_on_after +from ._core._testing import TaskInfo as TaskInfo +from ._core._testing import get_current_task as get_current_task +from ._core._testing import get_running_tasks as get_running_tasks +from ._core._testing import wait_all_tasks_blocked as wait_all_tasks_blocked +from ._core._typedattr import TypedAttributeProvider as TypedAttributeProvider +from ._core._typedattr import TypedAttributeSet as TypedAttributeSet +from ._core._typedattr import typed_attribute as typed_attribute + +# Re-export imports so they look like they live directly in this package +for __value in list(locals().values()): + if getattr(__value, "__module__", "").startswith("anyio."): + __value.__module__ = __name__ + +del __value diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..929ff2c844f98da580bd192e372088cb1b5530ef GIT binary patch literal 4310 zcma);$!{CU6^D!3sEt}oTC!xzi)<~FZPBu1?fYuQ8q1dCnV_;XTHQsdqh5&Wre)2^ zM;~&S1OaA_&c#76mtcVTKiYwSGr`3 z5{(R=|9pRX@Yi<6{*8t5Q&)u8Pv2ED_BAt^8MB!aKeUM|=agpZ62@0uS&3;+w#Oe31ASaGIxy`+$e|5OF{7ZGM}00Qe5SLp*5T zb%yycaoWx}_xL^HA>a`{LVVl4?~L+M;yb`&e2n-m@B{vUco=w`j}vErC-?;MJ>W?` zNjw5P#ixkx15fj5;!)rkK0`bPJj-W^9{|tsIpT49-dW%a#1p`ae35t(c!@6&PXRCU zW#Vbz6~00|1H8&tiD&IKXPvJT&jD}n4dQv=hx{S&0`Ml^Bwng|JL0LiVy?b{llCoq ziqGraGJW`MuBkC(T8|SqdSH33|09kKzGfpY zrEmi+up9y9wgVApx@~Lwx^X02(+6KC`V8GQgl!8`6E6(Suyr4+s%74VuUg+0A_tHl z(6XKs&xHg>Q_+!k1IvbDa#?y1c1QSLUK(OeN)KCg6y0BV@<_-{HxM}~0_tDtP^@_( zJwwpA?aO)p85+0%`5%1F_|KNBLZNzKvgadD~pJJ>v+PHZ1ukuCZ>}xPdiK^xzPk zUQW1Lw&-j)mU^ySXx9y#CvK7k>1wVOKbM z?huX`4s}*gIwkj(b{}cGdrN!IcD2oo$J;w=tI)b>g--FV0gH!X`Sk|6f218qFOMnK zUA_@SHVZojd8nE2T5QY3E{$2;vNb(hJe>*0gKEz`bJXuasLkRVrmLhJ42QrG@hX9x zb}jcnLm%#42fb>%bjYLavZ?T@`fL$KgWt}KFCX`ka*7)+TaLDF|5J0Du&VH@aI&J&U)7FE1-jx&wT91*7z!Tt&HtavkLcN-xSylv^l$DE%k{D1#_z zkoQB;@$uylI+Nw`^ZTWPBYb%q``p3mj&e0zj)&57tuN`PN8ZI2!zdY)dnh9)_fbYs z#!w!hjH66|6q-xnC`aTZ`lnE)QD#tPQRYC-rW*)2pYDO2$C?F{MU*9wvrVO(!IY89 zShs?*iVbS;@+#CpGU~QpsC%y4dEpo0nnqNJ<9!C*3XOiC%fLUjg2O_+rs1UqS+xcs z{?2{^Wk0WH4n0R?_Pqc9nhN?wuGgK{N+o5XbwOI?9VxQJ#DrAa9Y#~%FV$VX=A~q4K7O{~~ zwTKObs-4%Sve#AShpL^oho6T`v3FHfv8s3Mm!yuxHew-L|Ip5R=}Jr( z;?t&AIpN9#t6XNKr?OY&eC9%?Sj1*R)gpD7u;l;0IS@k`JYtVS)gpF3RIPHHh}{cS zi`2IbFaNwF;p#LJE3alt)lXPR<5Ela^;1w6*9#>Z51C! zepkoZQm=xq*1uZ+)5E_!{CfM(+iz2Sr>VZTt^KF1{g~oKdASkATV5W&I{v2l_5Ry< x`ZS*YSA6WB@v(pW`fYsvG(P{1#cKPbp1xP{)B5iJ{!r8Oa^vNO{4HFL{{y8pEgS#< literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/from_thread.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/from_thread.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f2464ea802e475815567f372e6c63937a365ce61 GIT binary patch literal 26161 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 X*m$+OWFz0RVo>a-o~a3#obUetow5S{ literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/lowlevel.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/lowlevel.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..555d526a4ffb0af168fc7e0704d6540bec7942ee GIT binary patch literal 7640 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/pytest_plugin.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/pytest_plugin.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..47f5f2277ca97ce2612ed607a1a7dc7c1a8a7845 GIT binary patch literal 10889 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 d2eCMCv;r4^KtB%bo+vp_Z-?36nyiwpD|B55z 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 I0LEqi4TX$Y7XSbN literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/to_process.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/to_process.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6e845b702c86018632c10c6696473fad36e04261 GIT binary patch literal 13659 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 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/to_thread.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/__pycache__/to_thread.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2939d4560fbbad891a3dc6c281c984f83fd88e1d GIT binary patch literal 3182 zcmaJ@&2JmW6`%bOwc=7Al#@6z9C;e6j@hPSjTQ-@#CFpZ34)|<;VLOW*H{jBN76>i z8De%Rg{cath|&5O6e!$74?Q_3oNMm=6KF$#i3JJ>C<;_JrcN$8<-OTmnv|U^hi~7` z&b-gxd$XU-&Xx&W|Nr7(^LI0Z{0AS3%gz|%(E%`bNI(K3B5k8#7|5HE*)ZX5MONEx z*m};6rrM=ON%K?DblYh-z?XvQXr^6mlr`@}ZoAT`7=)W2&K9bIne8d$)eJ~1gOs_( zTzkGTZxG?=nT5wQCgG*Py=xG15B}NJsKV@AP&qNX7|aGH{O0~{1uq0=Zj~CRg5}`s zExYkdVE%^G&K=?QnvuFp2$`@Xlp?+c&(51HidZY+z)!FDI{X8sfVFp-5=W>N9;%x> z@mSmwzSm;@HWvX*&cDez%ny^^dtp0FxT={)7A!w|@R{&=l)Bkno0d*TnU2)n=nDV%LSgfb8=2f2 zg|M49U#5kMo2kt}!STY$HEID&OzoDGk*WfF>>^9|=rt+0TEv;>PB@ppOiPL+`2^tmd+P&o$NG~EsV}jIu)R#-!no07 zi_^_;hYO0qL?F=JFxeWLhp=_qTqH3K1!Z(ss%@^|z2YobEo({dZ0PmP=2)7VO)5KD zUKmp@5L5w$yy}$+i?``63zJZ6(haF-2;zO&26W_GwA@@A4_?l8X`Nsn*c~TGRafL& zyDH|i)lKwcmKO@h>T-G!#52*OiiI%`v|Rp?&$Vr}OjwK4a8pRd3y0P^OtH2O$r||V z=T)IM=kE|rYqTR{a6$?e(Z_K@hcK>B-F6b&YqZ&1S6vSAN+ivpKkn|uh_fAxQ<&fi za9Nvy8H9{&aVWunLfYi6sL?RX#FmU650!S6vSHh1gN!cKC0Qg4zGRu$vR}9ITqo|O}fo{kQ0b+UdZTD6DlH6UuP{T|VMF zJgS+x&FXeqvlTYUbnzE?>H%-Rh4TgCryP8-RM_H$!pqQ{PgXBoszc@SAK^j7HhEmv0jWO@ zNT-)Ng(2#DAp9BBatp}+;I~hPuMp={e|mXv_NBhF^lzs!G>zF`8vm^<4^BTnoSB*_ ze@TFRg=C22>p8M`{(g1kpt|y~dgVd&%D}1I4*C~f{nzQCMHa7qNzBF4S4f7$tb8Y# zDm?-_;Hv?Mk6dwK>~mO(e-S5zHd zAZ+57fDSFgFb3qs{^U3$<$e7dkd^-A7?3ml$uS^H{mF4i>ix+vAhbU@4z1FGb?VdI z2i9`mS{~Rx?0?HRv|s5zZ5+Cbw_p8qElc~pGjLDee*JId`|kMz_x!#ytdMgngLCHx a7k)5wFBnjV-$t$*j`1^NNWP2eKz;+dA&jp8 literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_backends/__init__.py b/botenre/myenv/lib/python3.11/site-packages/anyio/_backends/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_backends/__pycache__/__init__.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_backends/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6681ce173d6247e90713ed044a956612b6d3cb05 GIT binary patch literal 189 zcmZ3^%ge<81fRBENe9u7K?DpiLK&agfQ;!3DGb33nv8xc8H$*I{LdiCUjh0V`MIh3 zN%u*uC&Da}c>D`Ev&0CGYxKalvq%*e?2fdNJoF$2W_ DDhn`} literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d84a5e4569c0972aa6fbb68886a43ff15a4c4b04 GIT binary patch literal 145999 zcmd443wT?{eJ6VGBtU=wNPzDb_z)>j6e-GjKTVN(P!GzMXvcx0&=e13Q36Qi0JJQc zv?bd~D2Is|SFV^wZkg0hhF ztG##k{{AyKFMza_Nk z3)!zL?82`lYKghS?pRT{DCP-!V&1Sf<_r5`#o^*uNw|c)%Nq5^0^tDj+oGkhvT#|f zJY3G6?a_)@Wwtn%ikfke#T4N322IhA}8)Hr3 zrdV^hnLRtBYho?omRM`Jl|2_m*TzEO5c9jDZLxLXb+PtvJ9~CV*T*`-9kI@EXKX`w zL#!*@#lnlC8)FZJA7Xw_v>>)Ayovd}(ao_f;VsPXi*Ai=3vXlo;;19GJ-j`(BfNt> zmqZI=JHtDf-yhu-+a2B=+Y{cyo&(Xnv4_JC$GXGav3=ovv7T^GtT)^n+aKP~;!C5h z*n#i?<~K(Vh7XEmVtMpXtS{UbI~+b7I}$z;I~qP3I~G2MG-YB%v_Ez{d_49@_!0J8 z8GST%B77otGJG;N5FUs<7Je-Dc=++yXTqOh@m0|$VxJ9vmieor;na93GB|VUaxt@f-=CVg82b)3LMR5$11<9*dm|pNpLj zpN~bu(O4`Ti;adySzJ?eEOsG$f%%)GUx-OziTT$=vw)Y8E2B;Vquxx5dLq z^;_cai^uSLjkU2KZ9EnptDx5X29$4Pnz%Qt|0k4281yRK9t zr}R0)7lRzZ#0+_|84Op z#1E=HGK8{Eqqe`VR43;xzmKS{Zu9E5xS*mA|>Qc^l{v#GMftcqae}oclt0h=5kMPg0@NJfE z66vOpDyoF%)cKEDs^^jFg-=NJCoI)vq`HDsf4WLpf67w5h*U2j)%R9O^*xsAWu*Ed ztN-`abjJFBpQZZ}(tVkw`?FQj{TUnY)5dWa{&Vpv#`7!cc>hXH{JSiEMjh{8#e2RM zc`B!O23Z|mMci!UbWYq5i~Bm_UW=T`iHoqf-$LBA$met7POQN{5Puu>eO;~3 zb>yAP`SO3sO8o|6ekXD?r_{e2?(GKvH&7fX7Q zN=L&`A^U;x#JChe1_l%7uBF`p{4UG;x9g#AQ`1pkjQY0Qnnu2T`8a#I45?a7g zq8O(*lo%S04)IhMhNQ&EP&8w^C=FeRhpZWQ&+!w-2TwfK-{04N5WPxICm%cc$o~G` z{k@rD^w+Rb&p5tFB;y*1t07d&zT^9b;#6P9BSVR^M@P<+-}dNu1ifU+6r3D+dUPmC zH7x2DMXKz9q1Z_DQl{|a*zoyC;>gITNW~1C#YYp7%+WI@Mg}fjh-8We@W~^mhlbD7 zW5}K{_Z>&zXCK)=*mG!q&k?GyrF-;J#&P@tbt#%vKq(&|k}}rep?Cu27Jnu(bpA-> z5`8;LB3=49VJIP6rm|<~!qD(Y;?mKP*a*JbNg8kQ#K>?w<7LB47vMRHy6T=C0~lz1 zqi4o4mZ8(bsI(s)JQ5qcI3}HsNP`L1mW-SKM#qM!1MC_9K56WHWb{NNJ~l25NBFoc z-ZvhNTp^6$A=^_<3AaR4P7`pCPlO!LTaZPj0YE=ttT-yBj|fKn=AY9Wh0|v#?$u* zjRhJW?7MsT$T*6xL9;7U^jPmBk5JkKi!OVtzwe1&4C<$)p_mpPGG#pIp5xNKONmIF z#v(%OC&ouH98l@XW30i)S$j`Jh9e`-puVg(%k)tvQ6nCX>?H?AqLJQ6d{`Q}fH}?v zxB2IU{QjJ%Ritn}GK5;3ybu|F+blgn5iTA4vYh)WbBWPV%VL>%qvu< zQ9NUh5MYaE3bl`zu`y^ywV(;MU-`NR0W~fR<0a~qMW#)6s}OWuhzMbmD1aa~ffzQ2 zt)d0Quod9dmaz}gCyHbW_#hB5nMX$m9*j&x#EgBIjk|sfRmb4q=uj*&IG8CM9E^>L z<5BXv2M50}J`~Ny6!e_f-#q{z;p*$}8|dpk+84%yz31rhllyz$7Vc90?myCbb}Sa@ zJUy16|H!Bm>5N^9j6TyD9XZ{3;Zox4*yuwYU0t1VjNzZ`OP5qn7o^LYrd{dc%4s|ONncRX8~TjCAuiM1 z&%xFAnP?KtH_T$4Sn#qP{Z}tKfreSdpjeDwo7fzf;-7!wMlqK#l&4=Ptug4B$>B{&9N3e!T()fi0!mu!Byn}Hp-)yR|#34(@8jnQJuuf$C7N^z( zgF#86H)0gi_#Pab@bcN%p#;2)==j5ME(^bO3)KxbI;MMPj-;#V*-yjz>0a4gmwsp~ z9uKE$g7`U>ZeBy74e6$}^czgFn+>mwU5a3-9#y{v3f8_x2Oh4YH|Hrd?=q4SCZszl zylv{ov@aZt4ozHQEqL1`T|v$`eZ_3soP&da7+7ouCwyw-vLUZg+HyFTg|yrE>hV{O zr`)x&yEf^rP5aBIkMK%60BZ&lSTFDU$$ioQWlm)ZDEb+!sYQkefGWy%T53c287qz0 zVRg_TNF9W~TC+toTlymMqv19Nhu*fbHcM9#D1C*TufmDbyYPXvFC2L`=L_?I-=@T+ za4rkWZlS37)x)nGzIt@#=rsFdJz)4;G}PJT`4U<{pX(d~_?1v6j3As-{o^JHAoir- zq_pZJnldH8qg1X*lM&m-=QYi%lS)ZNzX(^SmphH3UX=T>~;O8r)(#Oi;IH3kpM0MZO! z&ZFc5xKg}Ge^O|oFZe%Eoh}N`T0SdWG=(e^btlh`C&aOfqrst3G05gckiowoEg~KL znaX%J0f6e6q46ld6)a2nL;r4lKR@X3^@<+7#s z>Bwk2Q*d@DK9opE(lsimYEVs*`)cVjy>5t7d5jQSnx&XAI6#*Oq-CtskT}h%?3`vv zCfr$=#+v-Qh>f=a_+1w6c>Ocaz11Q&Zc2LTPW#Gc?aSt(qV{xo^|gsv>yocwzB%P< zm3^&AUu)VISoF0n_*!pT7uW7xSi3j1wp(7?o$~FIefyHWeM|nTxlPH2T`B)=*}r>P zuoU;3(t(P_z`BLNx|_X=?S~iI52xCX%I!x}fn##uSd!g$lq5fEKk!~6C;pDVT=usv z3#Q@?OMxmm5W3l%3UtbW&Sany^|@a7TH)8-*W9!2bZx_|^;+RlUGt3?Jg!;%-CK4F zfr?)*f6}*3z2h`nuJ0@F*(&^KYqxX1V37!N8bBU(IsV1EYLashJFo=p_1v`~-DBfWOd{YbT_-E~Z3S9$yNo^It zyz0*dXYrDR4uAvPn7(O#!)yd{FPai6c7(F18plp1vA&m-}jcLXODV`tt`XZQ9w04i#9AQ0i|XPEl_)Vo-mQTYcl7XPg<`WHq`c4 z>aR&F`evOW|EILp&@I1i?;KuzogDYmzHDF zBHDqVV7_U>qbb{@?MjVVn6w$k4N741RPrPq(n>Isc^p()suLrzY^pC&-sdT=1@Gl>pFmT_$+=;uNXDb`WI3bE#p}W! z>~Y31%sBC)tk-_B?_gj5K*p~i8Xyb@&jKTgf;=Qh0$OQobP%Z#A-zB~AoO24O%6fp zOaTfb)Fo34Uf}65u&w$O+A?J4bjCa-{yj=;CB_Rd7gn75p0^Mcx5FXoL%~(v#`8oW zIskNg2ip5*lqiJ3ds+C%Un~1*?e}-e{!X9+MMq6bWx-^_;rE*1;7*ktk;{%GeMdg> zmdf7Nls6=MLrL%EkIEX;fny(A%;hD&5a28e=HilN2N5xPQtpnoZ2EE2)3h2kpNw>IT#lYMRPjL025sgC_}$Nr>`Zib&U zzxDW=r&583I>#Zjw9WR@-?9@i_wL;TDc0CB>$#Jqr3rC6W@4Dz zV)>?p@=dn~Qsq13@*T@1LTOVn(6LleCs(X}r|ed3s$#2LvGv_O$%;PQA1Rgiewo~L zBo#O+2aYD$y<8xacBU)(?)}m)1nOje`?6pwD$^Vgz_Nes&8`K1d(z*&RNpe6xEX#o zkgDG!*YBAW|jf_ZA5s7P)(CEFV^z$PHB<@CiTmb-NB$TYge)IanwBq^{e0XuZXN z!U3Fe6lMVk%L7rZg5=dBC%Kf?i=dxYp?uXv5X%g-ZB7!7F{>hc&58gi?&7}BVSj1f7YB^aftC5%=AT~cdUd=w5?`ihQW%h)gOhO*b;h}It}Gh;%#ak92=it@JQrnW$oxcc7T{?N zs{aQW;y;B0juTO6Z=AUiOM2JgUMg!$Hf>IoZIR2iBz;@5v2xvpq?c|+zadceHYB~F zrP?OBc4Mk`lU%!rNFzW7xqKZ#lnsDnrPYj>y498nY?cF?lY!0Yb)B=la$xPfJGBjq zwVeyKovGR`xwebtrFta2Eg-qB6)yUk7kth018+W=@^#6+uB5MPsisw~*_5i;BG+so z{@zkmP_Akx{@*nI7g@Y>NJq2pS(7$*MAHOj#IRZ8HDLT8 z9lu0V7RA{=X_;4v4JDR-jbkU?g>^KzfetRZZT$R(%k?a@cg4GcMJEj zvDkaKRT$`5I+kW75}nhmXe21z+cF_icB| zw_En@PWpDUd9YN{lqy*xm#j&;*YFlwIcxhOUeEa3(zEb^rhbV6NUjiaa0cls6u`Ko zGvxa!Ic?;ylwX4n43|7V4G(nCJSF@VIV{Duc_~uRr%ff0-joDcN%*fz4 z?9R$%!RYvkoxlN%PK(7^2WF4KDHL{ho0f$R=dn+7pE4CY*He*tr=`HzvMj9PaA-o` zOS(Z0^}F^p3@bXVoEDl>P+44^DUmaOr@)4Y^EKJjE1W80EPw}s7Bl5oH}Ssw%fJqy z3bPAbX7HIuOkZ1pLyI>*&ffe0>#$_Po6Qfx;JC65HB|8lr5^MvS{|%~Nwa9Zkwa>m zgqhC}yb9U+GsRqbqZ6PHOmvNpasmU~EJgAf6vri^qm=ak_&%sEg$oK{R6z{t4G>^v zoN6BFd#ETT=`emI0+Z5vam$))A+mNa4$OQ7aa9(+1_;D97zTr`ROJ&xKoZtWyhmQ$D^!(LMMn6 zI4HpDfA#rSo= zn9z~2pJCca_sf*g&!6KRTuW&cXhyAP7{dPv&+De^Xz5k6h6SyR`G}@lISf@3a;^M* zfK#c^OB9U#kKVxy2jfbmAsG9vWy<|r~(woP;lQ{^4HL0@5R!oxrR)8-ZQ6sJ+iMSxzf$ZX$xhA zkBMzx+OkvltHSPemiKMd-7S{)TWs(T^h2M&+}Ow{N@wf!zol6ACG1)Bk^s(ADjVn< z6i-eC^(i4d_x?fn2Y}vXyUj_R@`Y4FOgGFO;R;5cSxR_gU z@3>3!V14@7z3Bt`0P1uidEc*cbZ-;h-&VHIW043AB*_U8hSCs??jr65i8wL@bqvQN zWASc$gMp0c5pdw7u`#Y?34svPx_VLp6+}2?6;@6$jFMJE^-?jO3&2>6YAdV2hg|Fj zl-HFqUJ!w6sa*Rk2AeB$rG|tHtpZA&B4DS^(7f6Fy* zoCVO&2_cn&?e^E0?_#-jod-#50f%Ae=Hn4I~M129&4Uc1po{$ zCA3y~_s^+d0<2J2`WXIPK6=Ju>>lYqBheP>kK=HF!TPGMdtUR*B~rd-+1GrzFJ0hE z7SzmtRzn@}2*ft&s9-Gbue+|fmIbFR$ed{_AnVNDWx?SL&Tsne_HS?h*3LI~vd1** z>6?jLFQAK46?^51z0-Z^GN7*ZB4ma$YrYdG`&re7WPt9a^13-`e%I|ls(g!FzUAHZ z3*`rsbH5S&#^{aF zlxw~0T7S8B$z8GNu32!`%nhX6jk3G(^8R#z8!xx*O_$fm<)LYJ+QTsPEpwA{{q|)2 z{&aP#T)lbv=(0udRuk^7#w^;qu_>nJ}S5DPWku9{yjJv0HYmpvPHL#7}b6vNG;G2c;Bpbq6IA%8Kq`yOIpmX== z#dfYyn{g=Gv`v@yk)bAxzFDm zNO?EP-i?vmSdiLN{yd3EK^Q#^$( z>gc6Y87DKAV7y`?a5Gj?U^RRZqIKCAB9QZ-$|dy0E}IVvFPb2>r*E3Qa#s+&Kt4fl z%3f#8&#Z*;mzoT`O_CgZ6WoJ0a(Duw=|!`O&s!(xF1RjG> zg@T|pG8$yqB4n+kpGAQrfdw!diG#Z8=%0X<0TarKuqKgWF!o@jPze)$mR`v}CQ(*W zy=Eg2N-ReRc25-pjp!j!9QFzd;GuK5JU?2Im7QZ;R}0d1u!T>ymAUlHNl} z$Dw;mE-={4NTGK>@{}hlj@|Bs!|#-*U-tAT2cAeeo>;a~a>6i4So1qITZKQb?=G`s zEMRaj;jCfUSdoSe8_rT^S`-N4m$c6?DD>=fospt`a2S_-snNiK*X5bl4L0R%#9%VA z$+^O3P93Pm?9!ujIq!Agy=uBCVJ6D;@%smu?EQWf1_`%i3ZA}1VthOV*%BK(0P*zy zf#NfTBXOt;Bq&ZImNW=RqEq4*M-pcdT@~SX~-lM(C5a#qA*-K5+7uG^;zao zl$lpaMMy&6J1!w9jSRP~^p4v*b7?52-grL)7=#@>29<=P^=XpoY~`NMi&M#)}pwfJ+Q;R4;Hz@I> za*voEvbr+m7)*eu&>KwPi9jQ}KJi^D&B*FU2tCiEqrfzpN;GG!#hu`j3xggdHRoRC zhJX$_AU%mR3?hZRSmD*NQUDGL8!Z1!@&5@9mY3nPBTh`5P>aU^l`kgp;`{L6@jh_A9?+B)M&m)GLQ zo$lI9jG3yX&W&%6-x_EBbX^nuR;L?U=(i3iI!n59FFn?zH*aUrOQH6+OK+7T%9ZYX z2tVE>mq&J0&s|(_wIp3F>22G|j3ks~_nr0)x+gw%)zOHGsTlbq7?nmn59o8~MtQzI zhhAM(k1J{5balC}aT$A-W{f(ffvf5CJXTRS&65%VuPZ@&ve%@kQt=AJ9nts?c#}H5 zC&3*bRL4Hvs>WQ|qkq!u2Ue*~4oqUQaCHTEI3(%1vLkQS<>Rt56}AIqoY*Z&$9i>&^OngIQvE;>>v%Fy+)nuuzH zQKeB;)B{)`pk=ai|IqN+pl)&mV?&pMW24baq)#{wbJXA&V5CDqU?ERKXwXV{M{Dpj znV=4Y{8By5xtn+sV=PGjNWOm}hj0()6lc`j4f$K)`GQbQ31BJ7IEoYVmg zz5U#zdjN3YB(oWFC_saHSjdzDI7IIiG&;V?MT_h;>ES1!yeWa7;_dqAl?*T4T~`*6s$4TaB3EvhJ`6mmv0ZN1 zMsvR|-O@IFSavrl+A!-0$ts1~fb83_=-ag5BkedHL!QNi7JXd{zOLJ$ly8^p+m-a~ zx_9rFrGk%%#=8jP;?7cK{i+pA%oKyiuOQ$3fWgX4iTWywGT4DDmXGSfizF&|Jb}>b z!t+@0&LNmz@m~Qz8YdY_Q9&!ry^Q7Lh^Uz2oSK>wv3kMN%7Q@s8;nzvn50*nV3Mi; zcT&i!Lk@jHWV2`m=v11H>8*h^DX4#18AKY}PXaWQrZUTsUqw{rRe-F%44&27V+6KW zdXQ2By{fw1YNZ&v5%SMsf`scCL zhraI8Haw|gfzKR$h}H-Barz$8mzh<)Q~OGUh0LJ(lwTvF$D8u%sVvDMNB>0qz**A3 z)YIm8CTeI7AR z>+*j@D!w=eu?BK=6}EK4$T>EKHCJ7;CG1cqWa>$ZO{@sRS`1V@D=XkD_8LWUz?;D_ z_Cc^Do&jHjSglZM8IMbA=#_6#4fc{#NRI^E8Jj|?!(*s`Bl%Y;lvWO=>z47VYkt7ny}oOnX^R*q5&14i;2>i@>(u!!0m{Ch4fOUg60y|nmiT(uJ`ud6EQYMdXFTlW35IoZ;WJ6l|9UU3_p z73pfSQ9sI1hbF>J+Lbh{x6i-`01nIz>h32p|TC$NB}|`kUgdv6OF*?Aw#{?YXnAQ(m`w z`nc>~%ghxP-5VC%8&d9#vU_9Fy^%E>)cLYdT~vE>lf3RR=DSl?C6_&fN*8a1>E*TK zi-GoqKzl0CAqP5O0)Vh&pi2&P-F`F`*uuTbHUXN!*-R+5tuyIsfel2`-?CKSb-OiH zzeBFy0SQVecjhch)obR5-`SI@-XT{b%vQPMXL|?IHTA&g9yV10rGv|Yf$MD9G1n{C zY)sZ{yt8>bT=I}2^7>@?(d3q+$&E*ozN5gD>YLE#$J4&@*@ESAX0^EiuPojI(T`lc zK3Tn;-~3UoK9HGz~(Ka)!cQbyyi|_qxz27 zf_o76s4pcgW%`Rl?jgLtcfa#cjqsC_y>Ne8Q+TMwXeWR{%=tIH@DTk-oc1f#kXGZF zU!1v#5K7A~gb=7UX*Tba>z!)0R}=JI4gldMbeuDe2rPgdeFZ;U#z*{|x$4V`s%QPLva;YQq$CT_+QTB|R-^Z?)`&t%<3q21x2`;toAy zWSNR;L6Fam-%$i)UI@sL9tI`8Qia{9wh*OKEwMD2?h+klq^w0CTw{JLD{6YTFy_KD zQu0gdnJj+`J;J~vW2J4Uz9F`PjtwhqM&Lx3q1joPYPMGxTQ(0emQycupe)iUfh7>= zg?TaQMh}>acF?prGV5Kozz+puHb1vRk^hIsXw2Ew*;6z$=BeDg%ZS(LyD!V2BGnB7@_CmrCs*gfTkLrW5uh&@eidgm;xxbl zXt`q-XM`yq&M8%)FEZ8`bTTs*Fq$MnbzutzW))imVQ5S`=HQdAqwmTV$8REuUhKl6 za@LV7x2v8$AdMVORqlCX;KmaRt~E*5nk9cz%D+bTV|x)&l)UuHrK``)JU1ua7+vtT zC%pv8ue)AzeZA;f(JcGB)4J}vli!}a-TS@%_j*4(mTEmAx1L~dJ?U%4z3dX8o$lf) z4S0pO6o4_j9=7#UV=_(Pr7J!ze^ zfI|5#{OWLBD7SbGTVhyq@W|&-j{5bdYz9RbTSAA0>r8=AYt3F+3QXGORl0a%FiVx(%w%$w*X zm0m%wwoch6?V18iybez)Z4ob@w6Dw-%B}4M2-By`GuZkA^r9ebnKVo56HQ8wUmA`^w8kG8kemd7 z{y%(zeumSB0-VdnuypreY#cf{ye^#aW+%Yr8ic0fAgQNDB#u}ABMOj6fWj4q-h(e= z9uYYXPCPk@G(@5F$C`x_$);Gs&eH-1jZD9X+1yAC2viXBhbfagewKEq18ISy&qIe!IPH&iK=+PqvD{=c;37}%XW?B);go@f}HxT5ncUj1^l+VYtfIca+}0$7Mc&4n*4x(ad6R4R;{Kc6$wwbc^*k>3 zJdUSyWvyHpnzh5ab-v}D)>|E^^6hf@cEa;^zgPB?>JO^lul*1z^mxQuuOE5sNHTcj zhbP{%|3&x*VR-qi8mQi>sF}CRL9!$zW73*Nxn^gw=HQ)*x+J%6?MhYb;@*2ep@A8f zVkZ%^^CZdJ;ZE;Q`zx-YS*D_srkka52;52Xrt6y*>vt^F?|64hs(znbzb{#T;=Sms z`yQIM_z%)h(|C4bGreZtka{CmrJpdQ~taw7ouU^hoT=~2vccufCi-FFCK<8~6s3n;QrY(1TrL#5~@1-+SG+fGH#5`-e z6R4B}t<(EKx_AR9O@DvFm%fdv7{7Ga9d6=+NDZs!{yh294 z>L^f?z>_c7P_R4tecKG>d>f}#7~b|CvT)eQz*#PiPSF!3`j5n6Aolte;$J`{a5yqq z1-((=?0R6LyRn7%{P=8sM*TDO__hTf=>C*%1DO0twxX4!+Ay#)e&V#v=w4Ql0ugW$)Lc zkGT^VD1-WOF;wspeq9ObpH>D2MieePRMZlXUmXroEuK_FGG2k9vLd07Um{s^@PEDo zU4ew79t7Tb+HheKE;iNIAy%2-kHBx3;H&rUGt|4IXgcmXT?-N8k7>w>#A4^J@+r*3#UGfg>ISrqTulB~G*RiIGJPE>jDMlM7Ov%@0)%1Nqd8{GU2$A()<99me)Bf(foCF^%`$)uz#;x^yC3 zy~xjc;q&kq=kKH`OK#Wa=%|?3sHO_%U7tRx%?zEBXaSN=z%h(k;#aKH6r8po#1G+Z z_@Xob=Qc06f=O3U;Wzrpl(1+k17#$kO!>CRKC<)YH}sy}uxAM_Tak#RWTUbFZ97-e zVDrqVcEog*V0XimIE?Y&F1>`R@Dy3QXOh!$Ht+`Wk-SjqA|Fdh%1oH4s$cpL@hF^d zR91`@r6i+QzHOCgUUM+OG7|>{`B*3w%JZ?%(p-~hY=9U|WA6pRi@)JC?ipAS(g}_I%jv7w^9=nYY-aOaWZUb~PI-fHY+t$Ju z+u*b~s2N5lz+P&ykrX@Ys4t}eJ5_LS*<3*HP#j88s)UwgOF&1Os5jy0N@!vwfZ=b0 z9k}A?;#<^sg3$C5IJ)>6ig&+!iWG1$R}_a*`13;f*QakjjDPjY0vOX>(i+xuC)J&x zo!Hfwb}@zxOQ=w4!$_H!XNdBCZ2oiswuqo*L4l7yI}#niR_RwSnz4=9S$S12)*w# zw80<-iw8$&+x-~CW9)4mtPq&kII|p55T_rbVWjSQ5!<>;kuy+teG09(Uxb}F@!WU9@=B;dGtAEW}(if{tvYUfPKpIx=Y2|IqJOi4*#6Q%GAV`H$92>^Q+}I2_ z9vw@>(H-<=Zt9=`2>Q_MYkz}Yza1$w00DzRn}Z;OgUE}Wm;08jW*fF$SjFK3kBywR z)y)Q|;q5`S`KOr1k71-{zlG^;5Vg^bR5#4Et=Myi>8|H(%L}=)@}&=_SaMkX>Nzi{SzIWyA^C@yn=|>8cbXq8ICA? zxHz_q;lL2_iSc;IEyZX~{S1XOUAIhe-zaFL5s^)IroJZqD~h~H&IWS+i5v$xI7m$3 zI&d^tmGQ)Ii|--cFrG36*&0n$tuUstaeqof>f6W)9)a1;=z^J}i|(ccchmg-l)FuK zw?R~d`yT9sWG|LWE0GC`gDugn?OODQ7W|=Q8u;b4#+*6?)1M z>;;0;KmZJtUG8C~Ax4IgT)i-L=`!8zhpPjGb)tmYVqX3bZ@?@wqPkQD>0N<*98uDu0CZ!Eux7WamY^jM+S-rlp1g6fj& zW*IUIWlKX6!bN*{SWmtdvQbkBVQ_c(g*jXQE!W z2^MMOgFquCMitD2N;!CX4^7qS>Rkfl%Gif4keLn>6*8dBK|5{rCgG&hEGL7k53?t! z(K%xLJg6$p=F3_gkqOb+$ng0K*pDT_)fPo6WQH8ZQn8Y5IZToU>4-RXUfAHEB8_B# zOjQ$PySZcvNdU=BmsVB>BzkHnd#;FIZ7l<;?68r4O)!;csq7{%?uVQk)7~-&5}Dpy z!=i8Pg0kms($_|^!&c~?m9w2~aW24SCUa}fo-%MS71$&PHYEd_KGHNnmd$HPs#AUq z+Z0q4A22OdHh-h`1_X_zr8{o6rRy4RoL?3Kl{;W=w7B`;!sdgi&3*FbKBl;~Z1vV| zgf)TOvMU)}`M$T*1O`b_?M9sgy|eA}g%D0+7cRJq!EFn{ZK>c6Ik+Pk+yUyadENZp zrRI*C7k}tUH6N6l4?-QS`Js>6yWeX{wI7h%4?r!i`5{ORJ2%cB1YXFmWhnb?gm<}4 zQLI}IL5nS0|78mr#9GCikEwmXAV&*Z$w%d_km}wqHwx9E#j2i#s-9HUez|IYGO)sZ zr@k3Ggu2;Qz~JN9iW`@z+S3)=-`yndJOYfjx(ssA>N22)*ow?9l%d;A#f|BzhS_7_ zuopMp`^XPDGQ@70!^&!2^sis=uYX6p{m|PZw?^LezdJ1NIiB)ABKseqBEUASpW8%# zkn0pz%$3atk_}z_#<>s0d{<#73a0kCnMz@{%$sN5EqJdiF!VAep&dk^~)Y;L9uC6y{ z)P|ZW(Bscnt@<)h2esasRfsXaapjt{iv^_CI9mCumNQj=UHP$Qj9~456PrCwITGqB z3Tdmu_}2J#J+6c;B6BvvlL{fdSMeikz2JPqJZcgPr<@7hxd@_b()mr2^OFRLT}bJk zbbQk+7QKwR5az*O-_m{@C`V8sX9rsY=|({|;0C zb&JuieNxcgN9rZSo#2;ZhN2JCq}tCwvPL_YtQI+wO%9ShUxtiDTgs$L8 zVYh%XRCM>sHhqclF6_goi(Q#~!hp=_+R;)Vz{KsyUK+UsRM3*FOZli=OVPkpT!U!Au>JV-7l{c>1uasT2 zue?LN5iCGW34}b-2asMzcq+Y@tBff;ye7;yKLGu~gMOqkKUjpsYeK#$A{=2h1vF*WnBHprE$$C;Mm#v&TT9sPT zFEM#H_RyXM%rpy9D>7gvxf5}IX;)tz3el0}tF8?}wQ?EF;$#l#S4t0&!w49a`73>a z!u}#tirSv`b5)!!sY82j9(bKII8Vgr6wu`;EC@6&2kTnFBl+4DTVGy9{>8;36-&yB6GCx7VcH+hq5)qK8Y*?t+kgC`y zS8PlwH@c&gRDj^%ScKNaz@~-3rrRe|f$ef&ds4a6#ZAfL&g8bki`$MbY&)LX_Nct= zQG}#@jf=hw3qBlAhvR4-O9dX61CN93q1~40q?sJYB9v^Pa@ZYj!#I3@Th%_l@PXgE zZ;j=HW)r!gz`i}g2YU*8y_O$2cJ~%qJ}k7sKe3aUP0}a~K1~M~(=iq#JmyA|J4q6Z z-CVK?+MxSMs+^sD9T^uJy&SFQV$c7Iw`YV2Y?#XrLJCf7z!uyPKyxkY;E;B@QhN|v zWii2YHje4A1=mhghtx`Fse{>FX>epLvFIUFr9G8!9x|kVkg8(dka5!u{79r_fdg6T zM~c9KjDpSHoUQV!bS9Rxl@XWyFnI*y>E5NX8pxR==R6#+>%qz3(xWH^f&(V7-JbY{ z3WP#u*b(-uW0WI=|Adl`BPn#XBQQ}Rje78e;}XFPCimq)jKQx~N>>cQJw(T&IN%=8 zkM@VeX^~ebHBo7d?&9qu&?9|~ve?gGr2Tfed}bc0GIkt2e`bVlOq?mmRtCD>ywft} z!_Y$?i*fM>s)S7j$LYvpzG*ovSx*6+(LcW)=9?Phlwg8j6TX2QnC2k>7A6384su|Yz^%MvBoofV0L#3T2Af;YzI+UJ-3NX;jO8PZF0r7={~@~ z>BQ_n(%U@uI2_#5)+H}aolJRyvKMRw8#b5d03>|(XsV-6?&wRFK00T;;Z2sdsrOH% z=>tn8)nrWCXPP@ez^u;e?bQ_Pl5P zi@qQ9QNV#WG}iuI|APPw8pS=2fGnPrQ^x#1%)APVNIu-l+-qwL%G zvn~BeAKgneP4fqDo_e=8RnslkbSI0uXUoAODn4!km}>2~IrQc^xdr=BHl=CJf!^zF z@x4IOe<0;QAo~wY_fGeITIjSQY|&A-;HaCslyZb* zM=0qC>0}?jh2ehRm&=||W$uU-Xqm_4g3KKrQr?@#Z~g@e8b=fuX)}&IWsf?R-au)9 zA6JlaOUFM8GWifguau6Z8q&Wd>; z=}|Nw@7Jn~n2wH)e9p^y6l7>IaY?>REsmnbT*9N56>5m35mm%47OQN_%=-rCErLY( z1C>mff`D_T1N(Dr`|+jXn)%*jaVS+Bl8d2v zWGbQ^ZHubk+4lYZ)Vdyd9icT%4iSiD*0ZbSi*7e3Wgc-OtsW65)jDanrJ;#D+=msScOJQ=5j-9QCqrpXu%%c)qMx z7%@R>uACis;&|B&g^>!j>!nSsq&+XO8)lVQEtWxTq+lAyl!ZwHv?k;J%$RgOA`P&U zH>J;_Na+{k&}YsRTx5~)`^C^geo~+ERK`7mvo{Bo1UQ%T3*!-El3_i3rds3Qbe9lX zItE0)b{JtcedGLVr6WPGg6OnR*anW--U0Ii(o$_}MzG>&#by`6)zw7L)6U)N73pZr zW0#)gw6X=Uu?@(p^03){Oe)Kau_A2!6MhId`i=*A2ZBhEurH@Xh=;ThZ#)nxf_3CL z)Wo@B6Z;-|#zINtIUF5|LxnU>eMLAqXEd-XOqA-szp700b#yq}I2IT=w7{I6s|7O! zi;ju~M@6#kA#BE;a%_?vo05)A>8!SEc^z#imd+}@rUSLtjw8T{1*WKEw&Cg_>^o}% z_A*n55R&9=UZ~ofs@f`7Z6y`SG|W7$Gey(*r%)THG~uYSbh z5DA}Bi(Ks(sUo3TWkb6mM>Ybi%!1vnGz|?aZ2V30>X_9^rI}>JggE|+)asZvq|ReH zDoi+Hz}0C-A4@|cw5Q-n49Y%OI52(hP!Su%(mV9w{*atMB8QE6#yVr{v_gbsiVPVU z6OD~v(lZCS&NyqtpHl`q8z+BEr4>;20@^_qnq}%x4|3wu1B2xYFbd5c%rjAK9QB6C zZ`0WS0p7v(pIu?B!h&uJNQRT!b=5Aqn-|?BSLt zQ@#-PTl+Fa`pK*KjXj8y z^8WqG%31VPI2P%Vwjnd0y*J2ri>BItBp;iz+u_Rul(k7w?;-Pleoo{J#XGSZ7_-6_ zrS~c4pHUgadxELT6-r>m-UTss&Wesr#b!2RsIlqIxbQT`nH?*wV*KKkQg5S}37=t7 zW9x|T(Mp|la0OUyrh^K-BPSS)W{C~r-bhj7#f zHY_NvO4l~b9!PK5G255k*84inw%!aRwscRrp?$vm&FY&2$%gINY`YQ|Q>zq^j0||odqmTl>SX*mD$(r4`@4a!9JQdmvCiIQ%i`5+q)g7to4RSU3 z@s`pmFr#lc7b~_bRBTDt1m&8}+hy;Ty;lh~SS9VARf)~B$Z^0zT{&$xr|?e);BBo;sf|#->mDkTHd#}llzcopV|C@$+WM@{DHY}Uxn=hw|Sr6 z_JPMnA$}W$R9MJg?LhhunwNS$AJ zvx+9jc%W@^fY`yuFU&;@8Gfy7=AJJuMnlT zBF$I{$DAlO%r6T1Tbf{(kOd|$6=d^VL~OajMMv#|qjpYAIhtfgQ_|5ypUZQSdlyEM6n<+Zh{ls8j@6r8( z1AWK#b3C6xJc3cuUn4hZG%}Q&G4%(*1iFpTIQ|9BE0^A)caZZn>R@^q@NnfX9Voke z461-+>$sZJ=(7P2FgneZHh?^%v!%d>zI`xIrcx5RRuZ zetou!oCuw$%$_NiM~j{sM!VGu9YL4rF4^1|=wly_y(Y`DVn!od8I4>bddaAQQN(0t z=FfQc(T>(2lO6#YI22`H(10J&3-E8c`x~BwAO+Av_@?Z{KzOsqbnx>I%8a!Dy~U0^ zxPuqp4InKRDsSmZ2Oi{a^+xcF)pr!0Ux)P0#Rl}MWX3o^N9rARX}Ez^BIO)Dz)66` z$X5k~un|pFG!UERdClkh^#47IX97qJ^Cd@-Mr=X|03)L$HtH{3lPYb+ra1sIh12-s zqmlSk_jjo*?|fxKJqLVX@I)j5Vc{t(394Vm9GgRP?t8?M;lz`WY4HP*blfk3825eL z8u3Xr|F9jw%0;*)`z8b$9)$eV_ql!z(e!&Jt+(e4YinELmm?F^YMs5MzhFaa`+ z@gcx#W(9?%PR~;qb?_Y2q(n83)sJgTuxVM(s-|T>3G! z;zMenn`5H?iUKtDDQo5bsy3A|J=sF?zfl+~f-MRKxlGS8ihq$_u|U4}$@u_|9_X`| zlk<1f*a#BqfIgX@bIWurg^JH^Cgb?k931$A#(t{9ClbB)08RomN4_wOH>($_LYL`o zJ6z3*?J?j?5u9eZ3!$PL7HSS=((7Rd^VmceK(06AKbZjgD|P}bu!!^-iR=cXiGYHe z=_6r}iy4QsKgX*;FvNzQ9Xx#rChO99>M82jjEx1TvMU79RO8l3pM&Q?EwplNWc9Ki zI>do2LU53%m0rNF7fl=iut@&~waHi+Pj5Hk6bsKZ3l@hkZKz5hOgPt}06XDDaGJqH zwZ5_0p6JL%{&!@FKa6ZyJFe2oYoA*zZCNO7nZJ}O?UGBopkR}8vvUtg@?8f)W%|fR zCACR6-_a+3ouG!G15J0Y!SkSRcXYN8{tikWaOdBQ&&e!O{4$rY)(aZF1AL zlw-T>*q(H3U-Hx}dRiAettn4P_K@g!wVTbDek}2e=!dth5`BJcpi2Li9vKkHv+MW5 z{DihxU|caW>R+O?cgV>xZ~YmCk@H_^cpOI)6!edN?^qj>>`qx5maR6z1Xpl8We2^}^feGTkM0pjGC3p-7ueSVb3RJ&-KXiP`Q}X8UI(+K6zK+0G;Rm;Os? zA?quQ&MYfePoq&y5M#PK3D1L$+uX^WW8khYAEol^!NzBH^4l&_`!Y5We9qCgv-A=* zC5K*uh15g^ADD(7>4+o7OT+RI-fkF{RSOQ%9&rSr?vQi@)1H!<=%OdM;0dNYjk1SM z8CmUSAJc%%QcGFyO~CV@y=UwR%x%yviZyBDiuDg{{q=BV!E3~=qhv7f>qkeR%slkC)!mXGarHIkPgzb zLV(C@(D7V^XA&uT@LM3(h(7$%0ejUXbToc#cEDb(xWWN@NMA=s?B%3)BfOrD+{+0s zV&OP~FDKk1RsymFGX;-GW5bbne4rd0w;_q zX$+`|l7?^*5emc%DFNmpX^5R+irLZYY>N3X+4vOGOF#1^o3Jhhqe){fN%i`tm03;3 zE-_9pJ;A`rQm5#zRTjoAzgSu7)306@j-@kc2j($z0qU!~>yz3x+MCDZ+6r_5!UU~k zXdtP~eSP7^a%l-znYm_6XY5-|Pv?_F7pt?+aqQlJ^!u2x2cQ8#7>Kk?0D?h|kIDDX z>vWouJqZE{%~j92q-N)LTX6V8}G`siX=XrU~WDqAO) ztxICF%DnqmO@9YxS?r%Vik(bg0b5peedM)~ub;nmKIv;%@rLquo-t;9)2t2lo!B_t z`I?i?0-tq#T1nUwm9)K?pnE%?xEg3HiG15{BL?p~Di>n+^+k*o-E z%+f!pV=Z^#r2#nMR>l``h`VTX5yh8XYC)5nS}bi{C~ZxZhUC&v(wlcXLMtO7fJvsi zBt$Z9g*cDeF<1WS!3^Id)!3`D^yLM9vzA*%sqOs0YcrUX84u9*X7tjt)V^Z)ZTAca5O+}t*Ga6 z8Y{p5Q6T4}Rpm8BTR@G2J7c+kedKa``2VGR+ z!)*L@s!_GnE(4m?<1of@S&CpdHCH>?p`40CH_ z=NQ<8y6ExeKGaG23>x|gfD&(_?P-UTGj@Gd+bGrX&x(FCCPfbelzAIjY{4Rmxr zasHGPG>|Y`SnB_-^IHJkVUcl;Ic&fim$7;3<90fJ;4T+qCdPLV^ySfbG*nNWme zBL}A3d3=L^q$K22(1gfL+3K@lT{Jq) zCSofX9lOa!XY?2xgwg&A1_xpJd9%B3LQ%$K>TH&(Ce15vNrd)zm73&o zLTBD&M-*5l4i=JX%7HOy7>ANv3dYZlV+T}m?Bb}R7J7lxuGk^_jE9UHsQ(JzsBAmo#p@FO*o^N)CWru6AZVvwa9q;!K9#-by`momi^%unyW zIFtb6RLc1K#}a+Y)~gY5KkfCyp$MZ!7(2U=cGnq=lXjfMI5Zl0LfABOexO?A&nW%>~&u=2*M54r0q$)-BisXdGnrMVuzcdjrjYFd5sw(f&M= zAFz$ie2xDXw3wZcuw&2VV@m~vazXiA>q0?8vY-K0r_N%SCdoD1Q#Ctr;KpLjv4xsr zshZ<*&GG4D)5l<-Ku{@9eLztjAhS;Z45w`ub8xs-Ia^(js-V%-nsQ07hXY%bq`v6*&4A;6|b$?A^c@wcL7voOmOe}2<*@ztbiT^ z#zJ5L%Z}+TDL`=g0RRP`NxAgOewxymaWI2|FloD%(Xa*>QNaU%k_voawbMfsHh@Si z+e|?PU6%t7rvC~xv^ti*hVsuBDD~9;8o`>eb~Ck5eL)Qs)fb!*@?ACoPyV{|jvvX> ze|%s+oezXL$xh2AeT8`N;@Jp4Rz#bpK|17<8P`DXb)1gT4k~;q$XH>;nmv?gX!O#^ zSO*Kr9yZbsJrn}Y(k_}tyUC#m&aHpgV$X;M!VG{+u(?)(d7($WGj*Rbk;;(aJWZr` zQ8FjzmP;JArX`R6_1+aXwU-w+|%zEzKp;RU(NiCgCNL5mKz2mixR7s;;(wKCweACS28F*F~UP)R$ zgw?%Vzeaeg+ta<(^8OYR++l>NmxcRGcZuKqsk~6)irN@2)DG@v0iGP}$q8vjA)Z|9 zsfuww?cjZqp#^b6!PCSJoVCQm3=@wNJj-w)ek<|oVjCLQXFMDs#^g+l4Ua`9+*}og zNiR=jKpYH-gG{mievvXv_7lv{MzL{~aWOFi2lD;*efyssj$B~-bWaBRVcpC2Bsd_M zF))~RI(4=BMpP9}zhdeLk~2b%6ypg^N)uyN)=5dLb2kn^ADaRVG!eJdTGDF@IV1h`KAEbTX9HacChVkjW->{pp{Cr2 zqjS1vzW?60-S-|q$g-VuPd^lH-Ma6-`|kSRf4l!5!O7|oa;%9R@hAl7W7XokYB$~g z60PwB3V;SpdCi+m7fDklGGAVMan+lvFRo@kD(WuY_2%}A+nFU)a6@1Zl`G|?X`3TM zsPlo)mmikH)zk27PX}#h13j5Q&ksA&fgN&SM@s#0OqjHB1!R}%&*ss)h=2rjN;Srv zXYsj2Cw_EPShqlH`zfMDSKVAiY>?0I2QwZKshrd*L2t2C_);qKR{vx)x*sX6aWIw1bm ziRpuHK7aA~bf8rZw59^B#2YmCG~X2YTxXVX(Wly_&Gnr~`uHlumRSf4MzsuFjj|1M z&&;q00o3b_S5!;X?WWy$^PAN6I@Avnt&9#><=Hh8Z2XB)D@R3ZprQ|HXuQ5u#byB9 z(^Kry8HsKKlw<(X+@SDrcDje4BakP{a0+)XQIp8GA;6pf&Tu9TpCy{{iFwdi|2lj( zw;_*CsU5}1Nu?20ra39z{#~@<7TKv|Y|$l`GxSSnZ;;{?oW&zd!w0DZhNLPX6$F{K z`1QP4M(jCuHuwfgfO4B11L`lRa5ncEsniwKJO;3YIF zIftavhQB#aWr}^$p2|5-Rf>Jmo~k)db&7q`p6a=}#?!kwFA5>Cqlzmip@M(Xo(j@& z+36%D7gGp_GQdK`AnGQ47%|8ZPXn{V!8uMZ4C0Fc_){ovk$^XvnmUM9YL^1}U_k*% zzcA`q#zgO4h~7zanUKyHz6t3p#&*I0{u3_c?6Cy%6GpJFZR8woHk-SPAk5O;McC5! zsk=H*2QES~Z_>7Ctg%-#h?w=jIFclhF5RHAW?9QnKA+9Rz!#|>v$;Fwg+$v3?KLBS z%eoF(PRo9LOjhqnuXHzRW|et&x>-WF=Hib@XZ4Go6?kPY2rMKwB!%W`|W6k*A-bFadzjq+$Ss&O8vI z03d-Fzx0MXIWBIVIN3bNXO2mFqiQUT5;OdeT0{$)@F3=z5hj51ewDZa_FTdhvR-(2 z9*`_zK-x^lsx7q^FrDjEX%R;t%vIA5gwRrzTM7(7t#3au!XtH{EKA)92N<*VxQO8V zIVvx$qsJMdu%2QY5a8f|wjL##uxvRRa1{lwp&6s6a)rFy#jzG0VIf0^(%lp+im+^? zyA;sj+2nOLEly)<@V`0Fx)l4QJ?oZ@uq=2ygg1ym$VF*l5D?K4hNS=xv6GW=Nf;p` zN^BXp3AJjFuOc2|kC6vujmVf`3{Mn*FI5o#&ReHh1w}}} zOn+$L)<}?=Su}tjN>jo5(bz^fn_vRO$cI7a7u3`ox-uC-oy(qmABBiPM?73Q7V}Y# zg3m)dv-7e~ilBdCjzDV;>F{RBwg96<`^oiP0>@{V0tElzS57`(cI$i|X%~tSAT>K0 zGFD{lOwAO>PiU5Q;Y9#m+@IK7SuN3W^VO|0`_k22a&;FmbSiLCc&0L4(J5DSat2Qc zfx6HH{`e|9i$XpMC)tR#^DhB%Xk)=CK5SXMqY&C}{^n6&4w>QGlDz@s66>x!CaroF ztjT`naL`OS<@QShCt>M~<`Gn;4fCnpa3_OaxK+w}fwVS0KO0$R_$VxWQ6jG_KwSNPv$zq1W@(ds5gwot`k-c&Fd0 zw8?0;*o-a0-7o7&Y2COBo^zaEFnFp1XmchU#uS*p5bLG)gQ0iTy4u-q5o)hJorHAF zFvkFT_%&@X!>y)S?d;i`?O4pK51pLiXQhgzeRz|!mjXgpvpyJs01uqQgdD{p1mG;= zIAm4!i2{6?PHa};3#n;zY*At-2Z(&l`i~!j`-nr3o9rG*3_Z(b+xOG^NO;3BM>?dH zb%UVG=5Vhy^nlcZOkkC~NZHuYE$`sr6C+P&19bP;GeeRnv}T8N#$p0wQXu}%FuuwE zih3z}lHq(g44u{LAZ(2xxEU+GuuqPy;%0o)u}(SGx!?|l*TMkj#mH>w+Dz$MZXcmURq5zzIl4NK=1l44 zbZM7d+BNB&^g=C{tp0^zK0*y}2<-wy=-&J_^X03qz~RltIcSXjhFr9YjNGi5E3dxT zE|;%;&y$L6eZRb6202#4d|r4BM0+^S87-XLaBl4U*wpS!1V*JBZq_x;DFP;}+Gub+3+4;rvjwf0g4T4wD!E`)DrEB^G;18|H@tejm~2nY0T@-oj%Ny9 zt~d;8Pet1oJic(b0%{sE(T3?nI@&6$M+E>Yh%5@jh>RK#tk}-oDRE1{1R}}_Zmdhi zI&a3v7(6r2UQXX32eP-z1#Pnh9hriTbiq2gU|lL?^I51>8^>Ds0k!o*t-*TJ?P6?w z3y+&}F~5?pbo+Yq-BTb&ed%jv1|UhS-7)@i(mU#n_D`t^KIZ;}6csS}}q zVG}yQmiXg{sLDB*s`$k(dpuj5{#r@3^6SM|NaAf zvovGk0Yes;H5W`V}3n-#;5_$b{fKph*rjrPL3(qy;RtC|?=oFrp1~frv~!XP0sY0G(L?rs z#2}PIev=moc-5)GgQ%-^(Vm3MdFwDjozFyOB4C-v1wNCTsZ=?^TcTgekyP-P3fLiX z|4<-NNQY6y=?o>S7(0rZgKv_H<$_;De5eppwJpv@`X3lL$*1SuBhMZg*~d&8BUxq1 zC~n?EoF~J7?S!h8#&TezE8t<&7W_MJC0JWTmei=yQrtq@L_G+wlh7~x67pG@P+BRp zR3U$o?xlHfAA%N7w!+jX*a^_9dk@Ozv=yNjn4&LI0iFwp0m_WKB2pA0oi7^!SnQ3fZP z95NOfQgAkzT{IdFHW@i*^Ym#hg9@mQNX9xXvyr)LJuxzRWEkspAVCfybq7c4bL})& z8&UXeOx9>D6|D!DpAA)KLhvXd*Q`m0I%L&5CfsB)00s33Rwp`+q4yD_x=g*6hzH)B z9CDXpXp6*LKfQscP{NCpjkW3&&0H#wF$NxgT$QiI`fXY;R==EfuA)}a4#0e#xLm|B zSSo-ElKR$5+tMr6$tz%gc^#&0pB#!q^7d-vmB^GwE^V3Vcz5f2v2tK_49n{`= z9Y`_rK-R!Dv7J0)WKYQL6S0-+=7KRGD*`~MeLiyziC$kr0EYYF6MeTR;Ksd|jl5416G zz)6$KvcnVBJ63FliJXe)rulIRRo1D9Qwxqja2-t1f^ygk)kN(0vyrBZ>bz*?flOp| zDgsw$F*yo<+)bHilV${)AqaGQAWYm(Ia)s(CHCJHPdd6mj&4XrH}C=}$2zrywoJ55 zb$FDDuH~PFd{lzfWFZfE*#mrMaWPzr(*#G+UXTuKk9d~aj+w=+)^qwGY^D!bSN$D2 zL}Fcaj-EL~&*(J6i&FW^VC zEHG5gTdyNx1p;O%pgpJ6{ydZwgIdh&`JMQOUWpKVi4l@A>M1>lpIQHbdmcR4|L_Br zWkwX{Sedy4n7Jw9`s}0mavsGPBo&}7oxx5PU@MVBm7I_B&Y?>q>Cgr_v>_GRKnHSo z7M2f=bAp|4!(&X-OEJY5TWzVVj23^TVXONGo^FT#s@sW>8C6@B2zOG0;6}V%gsP`p zzdV*XO^YD6fUjZp_HfnA_=Xb(chYaP9uJ1Qdk{iFyUAf=-x-_LV#aRFRD#Gqg5Ta| z6T`idTz5UCvDrmtIumu0m|eNXJ!eqMQ=S(*I&1y>nLAD0utaiW1M8c~0%<0b@x;Mr zBqo=OsHQ)6@8|qT2KpFZiUG#0R0c7_RbLNGuFrri(;;Haa7=4rhAS937uA(oR)N9| zcz_nc0Zbdd2~n?l23~MY~%hqJx5me>m-581QyL!6Ze_Y<(>be@sLG)^CL(fLi=?AJy{4|?yC2)RquVltFQWT_mz|O@QU!o zj|~xMZ_DN!9XfhUdhVGcLnrw@$9Sc$;}*w&>|lZ71&@it2o_{L^msOhsk#%FZ1dtu!2jv>O3Ac}b)TSIC7cCi>@HBoP@U5tSW;c-*0WH-j``vtvWu;0tOSG%s(=TdxiLr<6YTFiy`wc;SfYf5@L zz1KRu6z}pP{d(BboA19KgYeA{UH#;fq}o9``-c+Ak4l6y55q^2qmLdL8GY=rK?S{J zYl~JiL;Ze?R4Y6gcN+19-@#1O4~t4ZsO&fuD;<%gv<%NUjWB9lz(Fi!x)N^NGCd+H zi82lH9}|}2HbN?$@0jq4Wt{RDZGqTBE3sq|n*apS>R`ZzH0hZAaa#1LLDlFf;^ndn zDo`HXr_C4^p;%k7r#=gui@XD!^26hgHyIrF0i!Bc%W^o*I7jXW1g+FlAgSXJR8s`g z?^)HS#FjF=DX!;7S(We(XFJ6@?m%D*`7_>o>{k`)1eg$*kWqS6cm!?^5K7@4dnwRHoPLNXK`|@tttK zv;j6L5u{@sle?xKo*tSxxKQk!AEfBlfrbUZQ|ak;PmFXNZDHt$yM!{NP8;Mex>D4 zpOLrUpILi1vkoU3mK4@3XCZI|&Uyr`EHeCR+xYDfi8 zxeP~N-TTVksg_jzL+=dEw7flXY2;7c@9qAhydUKKxbWXqrZ+v9ZhQzgc}at5iJ7X z27p&DaXXiavAJk$6g3ZhkDHJdYyqoGrD|l1#XDxx;-xMJ-LY&wPZ@2B=*SO_j(EiO zobnlccG@FCV!w$9hmkllpjH~Pw1`(u=aWt&67-ZtKnkfE0yOSB1Sg1M&7tB%h*Ml2 z0}XM~kRAQrvJj_wJwHR7{Aiu#wG<4eX8k^6IIYxwkNX+oxLzQ%VCd-a(dWjBu*vY<-;pNf#;5 z^*c3oZPrgzrMhEF#6FhZreJBxHo*5=+FRLz=liXni&~Od*P%q#e<;E61jhR!yj$Eq zxdtC?o{MmTaqFA3bB0kJRptT;)fwEvw#iNDg3WTlW^$Sn0Yn7vmL;!G7i^FVh#hR$ z6X&XGU@)x!%0`|bl&%p>^w8#7_ts!KQYVw;H8(6t!z5JR>v>aBI$9@3>r(79pI3`xuA8zzwF%?M0q3#78nKK z)gcIjBj$4ymBDAwY^*I4Ynv;JPX*t3NN(u-Q=hzP_m4NG>JOw=9K;4(L>q7s`i25L zQ+|8CgfNR=J4ddFYMw`XY`)eSY7+4cyNGY7v~bCo!oFKPE8DKFSGsnrbziSp-xqV; zD0CuzBi67Z?!B>@(rHtCu57uxD1BD!_i4XmU+MR|!#<_1%lI-Rav_if7l`xKb8 z>%L5B6zru*{{o)Z#bpaFm$#G7XBvY*ffsC8o1i)B1$##f>Kn-3sTk~Y)_Bp&iv(Q$ zMHL!EU9?NtTb;KaK++Q0bL4C#FG0>%d_(?3BoVae%LNkAL@w?J6Zy=ZL=MxFE6C;_ z>}56}hDP@QwI6~7v3(MW#Ndi>V32H!^(V<`>rP#`DR5!Ydt7sh1ZL**+D6pCsFSQ8 zHZXE0#7$7#ij3zmM~ynNRz*9F4?$Z1e4Bk#&f7sJH+9QcNp^~}B>*dVmJSfK>PQ!k zDFGuVk+iDam0RAWDc=2v=HXV9WKg^-DtoI*E?@oA zj_!0vuiVj_F6xtu`fzkJXTA#Fp?9UL?vbnRAtgO>gs0kJX3Im6YGOF~AT6bY_kCIs zFC!=OJjU$=Fy8A}l})X6y~BTtic2Ty;m_gWkD_FM(kN*aYNFww{}~Th<*PV*f^_v_ zXHT@>g!>q=MtdAloJ1lfHLBrEX65J&5Tf<_)b}py1dBsAcq`(D#&>=ewLj&=NyJBi zM`=tMSjp6C0xW2^;yhcMxQk$Pi@p(fS_#TGu)K`Su0t-o!@am-I zEW+u1u3@2SepY_7{tIFr^pno?wTv^Il#jL=@>?hYb_klWn1DqxeS2E((jTE%1G2c6 z(!NJ&1YEMYNt}CDKrt7EFik~*yVCQNi=m@=h-Gtdijs04J3h)eLb#2lo?* z%jP2J-?zVS$DZy-vLy;6R05^4sTDuX}fFcJ+?T>K#8!$U7fOuYOow{cx(q{7J_e zC-0jsnl1toS1p%dC(p?TTSf~!?xHF>@0c@Nx+YV)=1NQkFfQ$pOM6o6b9=tB@u$sQ zsS0XF5o)0ZcxZ~wDil=_hUIgVR$joFDQD4ERmh41O$$YM58ZY<>Y5hH9V^?(X=P(7 z)_8j+rbJhzV%nz>QsOXrMh$@Ih1-GX8PoK;dW_?E)?8k-pIK)UYX+qWY5Gv;F;<#Q zu0}^NHXC3z^q!GxI{u(jUbo|ipGyaJ%Yogg!0x&F=1cd^*6+;J@0<^nPu&Mhx&eMS z5dhVySv*JwDkg%Ho8Z7aS~<0Q`q^}3jT|8rK<52;s=Y4<=8t{7>%3RP&E1`zs~eoX z<({jZk={K2HD66nqwiXSlj4o}JzIj;Ho7Rj*-7y&F~qOuxsm^RK>#IOFAw&v@Lyly zrg&2bC0}3X>D?H-zR^wbEl!GeQT#@Zr!UWcBj1V8s!B-Qi?gIf)QO$fW|xEF1eECn z(>8!bv`e!~I>dG$tP+0ND+%HWdJntA9Z1;^47?Ddg2^KLf%f+0*jdI-Y~TRg@t~4c z&*gAG6y5Tt2?phGFsVU94)I7`LvU}ERZk_s}EF_#;G@o!T4gS|QB#8S>|v^f)Po{7mVo72%Pa&$|IeQwXks(%_^ zmny`GnmZg`l0(&|^KpxuUV?c_W(m;7$`4bN`g%>5<4^LtBkrqtPK45zsDq9oP|qp- z2_@V>D_bn4a#-K~9r}oO^%?3yUFYye^dR-1nST0Lbc2Gc)PbZvrqfTrV4K@c?@f8y z_$TdYo69Ray^FL9cZ2zA3Gb+3SmEthaEQT{2wA^bB;eE(Rc{bA(=KK2ci!5DB%PXq zyGpK27)tm+A$bzyv=$WAkPkGKm6Gx&azI!_vIV*nLM5FRA(H65_;=nSB6KMtNyJ`( zXQ2iBGKzT3Tw3JQR#*a-B1F?QbcW~;QO?d5U$&;-T4#aU5s4a(nlMboo}Q_&7N-$3 z|BWUFiRX+2jlos7g@l>2vq~e;)U_ue$oSXG3V0n=`w8FE8YnX)nodI+kvFFUCvvoo zR#~h_Q>F__)Vg=^5>-?ms45z6z05!oAk;v|nstaih6dngMPO_oOHhgLXceKeNxGJg zy(t!Bn{hHpI~;F&GRaVT?IjMJm~vt<1 zuG4?pY9Id9;<`rUbZ@6Hjc9Oz^E+?#Ao5il_&Vn#RuaGLrx0>z(?o2bdX&x0aCW{+ z{RDYiTv=y7W8QLJ06+O8{Tbde)@rkMIFhWNblN&RaP*19z_uu8(o2XG zt=p2R+w$Iexoc0lZm(Ro_cW)zTM7(>1fwgc77{^m5E4V9PYeUgCtZDFG;yZ0e(s6! zGCof?eu_6qbk>QV1=dLwqt4}Z%K4WRume?^&gJ7o4={3oz1PTZR>34Z6%v`?p;o<) z*W6Y_waZntWE28;Y5ByyjS~AdlHWDg&;n-dY{OldhP%=Y+vSGsuk8bBpFbC?nT@q( zVy!bf(y_I2Y;7vGcD|x@=Du{rCb?qMLN1lUiqZnYguy@+ZruKPh>22t`IRtlq6G8J ztKZE_H*b=gH%)fW!OY0Lv$2*;tYxNNUfK2Dr+)C+AFofx?w4ctr(*Zd#foNQO_^BJ zT#-vgEdt_;mz&VyMdV%`?jmk@BZ%g?#-^N zo4Z%^xxL^5BjtK^km5}xz1zIkw|No2;r1Z?hTqed>%WobL}{zu8G%y_QtwIHLCfh!a;r$z0d^hl3hU-~*;b-WUj=||z9ibr{MUp7? z7gP=f|CP3Ex~b!G3oZ|xG#7(VA#t+BV5N&#-eM5A!^siNf+4RARbdcs*DhrPcHY{F zBm=&duh}SMXT-&M0ZuqOFOC!BG3LD3k5eLaLL3}$;BCd(;Ddb%$D5la)D8;wDK=3x z^Mw4s|3<2oQWaJ;isS!ZhGjx&H;vvN3O3xi&X7lO2Fr+s0Wb~ z`6RXj`B8aV0_vsp(JyW>P&!DBdWZtsB~xT*m(GrEqm}XqJw)v2CE(C$+_uu@_B+2g z!;*Cja^W5P0wu0SmuWhL(f{B9FuVRZP#mH95(dfP*y128s<)Y+lUqY0xeKpXAeYtJ zhD)=yv4jx}FLGh^2J2a`eN-tZ%$kgZ3uqKx&%yd%WAv@v$(Z(9M*)*I#I-(K5;sTZ zYHLqtcqAW1x`t;jM}Z^RBb4M<-)?W9N*r*;D%NYEKTG72hjYS6R0G9;o;!b&YC!LO#gHDkuHHn5 zT#--;E05uK)@1!%$$CuNS9<)twK#oK)w9)gZEIa`wfB0p8!6XoJ-rS7>+nzApjf2) z6mkn5V(T;vkuxy^M=s|DBduh@bE@Ewf5(N$CqoUv)&A!NM-|i$;%0e~)3|B&R}((fOIN zJbi6ZzMZtNoZ`Y_Tuz7>0>Sp>EG(R2S)LI##Us2o+^*YA4V*qm473RCE>p(79_~FIKq^sD>X>z-`LS(i*b&#XTYGRV+v&Q4YAK>Za`aon37J)*UuYp7ffnl)6;(0v^jzlr`g zn1eE*=KmYLj)FQGtC#So5jFP{YAyx^cQOLyCKFC#kP{(uQDRUR^rB}M2{>v+)fz;N zv`g97Ea-YvL)Y_(u_`WCpz8(f=(Z1NdkAQ{Uoq?yNJN0H7i9~2xx2HWgf@Ha2IaqJ z486kIL=9CxfPt5OM$>@dvuDxU|18*cwOt)`wEMGE&Ht{@Zt34srhtH@@n`G%f_#n?u_RIcPoj4|Q8D}nb`_jI_ft#MMkqpr8md%Z9R@#`x+ zz3u+%9ZrNxoH~Ev*Sf&}Wg)&swAWseWR_=rB6L{#8(LZRC~b+&QX<^;Sz1S4aUEgu z1n4L>g5|8EkB{4~S^~FK?%m|J*Bdj@#_7>?v`vn-rPzn?TV6L-LBelwu3AXbt8a=a z_^sh_Qw9aU4fWK!uhn~cn*G;Woe1|y|ABgzGzAzstEvkyb!%qK^l#~w2`BxJlt#e= z)W^RnoHU(ZxTLGZnZnsdWl#M0y@BdDh#)l_I{zK4^* zMw}|`${zj&S{FO;FyF&}L1Qu@GW$Y-E0>JPe)S8SJtq^QKefZ{3Z~hxwSbWIm=2=3|_QUaf2BY4=|9Q}VT7km3a; zJuTjAEnbSZdnkRar>B$Y`gPvXvBF`D)*V-|V6EYovx*rDNn6J{M|(Leq>r&)O@}sr z4eNDe@%74`AXwI_c1TXTNgK?PC*ss)s@Zz6Tc(WVRbsPD2|xHPTBALmXpLfj3PB-| z1z4jMv_>oDVy&dOTQ5W3;2<;&@PQeZqKXA9P$e%tKx?yt)}|qimGsZLKr3j0T51Fq zvrR?yw4|~?o7{gK=`L|y4LW<8+*eB)dRBO^Zgo+7TM+SU{*s<*@3m?##aDQceyz#V z)9Sz0?nJl`L=)$2V705PG}?6ytTeBgl}3P=TTwTmDE~w=h=P|e%(qC(-pDqK&`B;a zsEc^f?nMHQT2OJH0JSjicq|(SZ{y<3g#U?S5LYGPc;5Yx;|=#0nLi6yulqIP7}9^j z=r4g^NUzb1Thh>m^Z~Ni`HxzmlQ5Q!M?LL42u2M+m|n(~8^q zt3VJ+*%@=LCYX+`mSd~Q>Dm9_NCI1O`=o!Mg~vDxKc|>!+rCX{6wILWrT;>|n9zfg zvakR&km!f)q><6&Sp0z#BM%Kok0y=`GFxtKan;)cJD~g6W7!b1-mm1(hL}xr^;fvx z_|twI)Mqt;>A@Lj=py6!ZGNi`j|C~+)@ zcNsbB_*?3*VI(S&m)yv!U9WVVyX*X2ke3G=mcudT-tuljC!%$>pe|ETmoBK63+hv$ zML>(7X_43~9D82(b?lKnQIS;>fesPvFBD&aLSECmu}@f2niHBhfpVO*ggzV8);N z01i&g{e)A+qp*>e96d6a9E&QeK}-2Rsne=Z6c%oz`mN;j`b%B%ijC=-O>)hqbY!y} z*_;Y&X06mHJO&hR(Ca^gcByn9)u+XxEJ46bB8b74C>vZhngMi!dHY}mQ}9!&m3Sr% z2Ee>zBTWe4H=PW(2m#W_?U)cC4N4PY;PZGJNH5wLgq&Wo%4{F-p{D8$;$ORz;WS(L zNH`O&i%!_=@V(^2w!?ps`h*XgPXV1u6BH-NvWFk(q(Bi+6exmRfkN7ackR6F%!UpP zBu8=J`*SCbNJCOCbs&K%Mto|sk7gQG3ID&G{RuJ!Xd^n<`vgfS+owW%a3Dq9rv3@T zw%9gB^&%+4>U9qy=3{isECJB6e+%GF!uBqe$o5bl}s9mh2M=FXGd0uMl>K-z#M}0`&_m5#&59)oDSWng|gr1wRApB zGYcB5qq+uw#f6(_=o{(*{>{vQxWxV(*=cF> zW~SS#jhMY*3~SlOF&}rHa7eL_-*ZBnw3B*zi>xN#IIeZswQsDYdlW`VkB<%|;-kmn z3KWVDjKl|q39)}Jet2j&5vLUdym<``$Nx>if1-dUkrc(6V~da-af1bm!$X5lA3p|r zhy6zm^$)`2=n#w`CZq`EI}J!6Q6FVtBXxKPhI_ahT|$T?qU@!02*782krKW~8QpLJ z$an%Gj|Rp}Im8^}uuAy_a|Dhg`I%53erCz8DIzDN_JjYFp%jEvb;rXRZde!QpU&d99WUvAcN5IH-pl;Wp2f_h!m_)8#wl z@*Sy|{Reg|@Q{m)Sf~LGroFM}^*yicyRdI^-yF7>rn%IlC*}eHq`WZ9oM|^o(A{z&Oq;W z$Mx;q?j0`Ck1Wj(Ocv*@KSsoaWig0=WL%#Z!bXkj2KK4R@Ph_@tk4K+Gh#d&Y(DM{ zNMwK~XPi<28iCVaOD~!kv_vAJR^7vB(i``%Y@RZ;`$vuuE;v@mwlguY1oGhI!+4VL zy=6>!bvkov3d%&oEVG$td8Ke9Y26BGAlM+q5D|%|gyV!$MQEKIKA7mDtZ$gi+9bwu zSzGvzI%)&)ju~YnM{1@=Q<2tGpw;?v8YTAfo0gXw@o;euP;6?8cHm8R%9!#wO6C^~ zq;AsAkGrO|xuM>tZ}A<;8qxXaxN8v|02AjxRaQH{nc+*?3uqR?R@zw0!NWuG!4r}M zE=!znpZJj^EM-D={+kRm?DU+AXt!SF`$kF&*w2&E^gt|>VJb#g!$Y?R?sV(@C3x<8+Q4A*3 zX!@x$P}+ccXgD$T5-P`M0*!+>4W*cIE?})wes+np*9cr!opKs6Q|!Rn98jO3Z*i<) zCEtK68DWW7zG&V`T^M|rvXO4`hPr$IL5%6{kweE=3#D=zGBWIK#BQ@e8u*3_@yrTp}(k&L8) zvwB|!o~V$K#nj?b3Rv4|8nT9&X~|twItBmeLj(T;k<;4W+$y-_6e&s5PoHDW2GX+M z!>pYw5$42+AQgi?XV6I zA}?c(YtGg{d?wr%T{uRYs}iH^cQLc}5PB&OBxwnAyXM6=9kuo0J4z%eoHv(}TV`=a zedMDuSf|G?1Ef#Zjd zNkb~ZyO9@Y|mLF z>f~LMAv@3$gpsK4alreAqaSbK*ElE{9a~x4gd%cbrSMDHOuaSD1}p zHm6@7O@^`SG`5#-9Abw`S5QQfFgEH{#g4`q{2VJVb}J{n@1}mG#S3#8=-6Q1IsbY8 zY@jp~D4nXh(gG--4s4YJTT_9pbHyu&(L7g9UlEm1pWm?M_aFY=!vcYBJxWZqIZLCl z27RY;Om*lFk1%XaNoN7GQG0$R$48ZwM!%N>|3!*$94o`{4%Zm`a16TomC_kcP%EF& z+}ba^jcRPU#CapWjnUlNIa20(3Ue9z7JArvi6xn7ZllRCT^CS%hVdq}zOp|RYbX93 zcZ&6<83@W*tU1(u*!f$%d|S?ewfvEKlx6UJ2hKyu@_PaLkRJ7Xt-tMIM>gv8Id4E9s zM#M?+s26bo3B^cq@P98NA`%K3!Y<`JEl=>CKqgv3bGI%s)X^niQMzKlduF?N)daR9ziM8!g;FzQ&Mc& zi#100X~eHJzMTQCS*c|_K^?~~P+Io@#yF=9P*J^S#=Dbi7q#VOp{k7Uu(w8Fg({pk zc78V-A`K=bTw~Y@0nzmoqRrg<#%hx){t#D4CSs)>iys{rc`iPB1nvwtEb&WCXfGd4 zg038@XoMN#d`T;jMZoSEL1sWvlvf<1v3(t-@Uh*V%59uk|8CcN^*>mhY2BS_-Obzp z=&o^Y7M5Iqz)YpgCVDMYnGH2&x9UtZS}?qfNkm=7CJ|Bh;v`bZAt&#bmyy9JG`}B@ zjz#nd&XAPn(RRs&Wo2ayEbC2d7|d@X6mhIjf0Kp=eV%$chxIhPRiFQSDp1Wa_1#Dl zzyQs5*33RcL>$mWi87FYOs4rN(v51@xFvd%P7Ye203!fndewC*@GRAx%f{y;b?>a3 z9=&uby<&sBVnaI8DMva}flk&IaH$wtwKdTI2_gXWI!g)E0=TCl z1j*nOfY5I)MbybZwwcoYC(+n*%$*4puhP$J2-y6%n_Ds?B81helUhpWihx?Ge_$ch zHq2GkE#&%%np-R=S99fhu|n<~l$U$4L5aa84^f3;5Xzx6F(_4zfkUa)Nt&$)K5!%L zrB9O}v;upSFOOohp(%mke$4_To*U`b9RfZzxZlaDIzVRkjaL)yadM4NOCmI;>7#IpB8f}QjoS_`u)LuN0h(K-UNnXy zbF_OwlsI~96m;q6v8RVdlG%{)7n`OUHHznGCG*w%OQA*;Y3o{)Du8!d0%Ik;12~d; zWc0Z`M~;%PU!_A|!KBs&uR`qzf}kwtt;Z1&VU38ngZ{%S_+{jAS#nW(*=6N}b0s1# zll6l_eBziS9Xm-n353T(Bui}R{?DBl0tbK^h(-S*Zm_t}*fU5SE44P3Q-@!sCESE8 z;9=J{y}jeo4kG>Lx9<9*y+7E?IDvDO&GfA(_V7tg>?Q#UQ_q~Go*|4$rT(T7w_ai& zSSc0WZl}bc)600?xHXN_$dy|gGXNGX1l0YnQ*+wzkb=nP6}&q9%J8|7^CPK1*tJOcIE^(bTRAxe^BRf}Wo*(*)W$NqHa<)0 zVPB;tl3a&3aUlc&(5s?e%5&a2gFE8-S<0hqa)ogX>G-P|i-dEwAl{%{Hn=Z% zcTcmskSS4(l`CPAJwv9XNwn#FAMjbUkzeG8GhudWMsjXPzm^C2Nf5v;Y1g<*0#>W1 z*c;bLc;7Yo6-~Hw0X!t=ZhQJ)Tuq?EUBH>a1%d3{@J{&TbzSKt^2Yez;@>ycWE@J} z$>#_;0gWG%fKQJeZU^_9Vbfz}wz;?674KjWpA>66!%(b&W$hdcG56lN6|t=MNRmpq zK&e#ctQ)wV#HQRvOo^=j__5>UsFQ&^RTNDVD4Vb7Vqph?FmCk7q35#RA*T3B(+T`9 zD7gVGw zcccq;$^|=9p`CNN(aDZiHcxCe`2c&rvS!*lrPj0lPkAD4H8HY0nT#Z z7g!g0FlOZru1KwbDRg{846S+By3&w}wWVX52c8)? zGCc6a@Q~V=xVbUr9DhKq;bZ`Zi|_Q#c;1bq>o>{u&<5O;3T(0hYOPiGD6N{txAii% zP=o;DFc~)-SGGdsR2&=We`4tH!0@5|V}}$0H&-ip8Lu*KwwqXv{t>k^ zjt4;$2ST%f=1idZyOo!#->psuHpu~MC;zb4W&MXH9fUj7=sX5E!hdE@R(&F)kUV~a4}*ZIh7pdu5fn7St&XpjR9 zDfMH&63!B?a1d2l8p$$Fi=|eB5!X~#zAGEE>kIqkKq#q|Zcv{8G4`nbgY^%QDJIEHaB1Vcp-LX{X~E7oy&gyC+g z?1WQEdECN1laJ6s=c<0^Q4FUp7XbvB zsZi%asV7`KUtB+1yggIAJzd-_7k8(ki+&)Lfc)PTF4hA)LiF;@2Hby-l!3UxoM$KcxuB-metDh$(Dx zVOOz-q%oRO77mQ^{7n-^QJV?WD$1mR4mr?~Qa@J6skLuCCgB@g!ij$4mp$CHuC$SA zta%MBVDKv+kO#F=FEjFCv>I$gDWro&Ium!)0!%z;-0`Wm6bf~-u^f8|bHeqmiE>SN z3^XI4;PUJ_3pAm3-`L$|v}L48*LfrP%AGKlozhlXDZ?IG`@m-e*)lF|ohuY*&TZ(-k@`SFO zJ6Ng*z;5QE55NNj;Wh{$x*>2;y5L4OEI+VW6g0;bEPcm4-FIn!I=)_xujgn^e0M6o z`(w~_6QJu*KGgsLp2a6gTjrVaD#u$Do7@sP3lf$t-9=Y`d4kB|bQ-3OhDsQxtZ_Pt zIIwAoY7jr7oHe(#+P@IKT^P&97`U|T;4$Gms`A~!@HKs$ga;Wx$pf?I1dI(6hI)?!V zQlO)HNyLkm&Y~KOKMibIPrZTE%K>Rg{vUsoY1utWC4H6x61bpzwrdhGqi0ejFf@oQ zMP>;M!`%Ol9?)em#Moq6v*CEI2$e=`Yh47YeD=nCSf zn;4Wjy~Oqr0$-sQ=!6)obb6V>qcQO1q7e{c8G~}47xQqDfXz)d6SF1#iJ?OSCx%D+ zM-Q_@-NRfQF;=3S>NeqBj}2l_wM$v*7AI~o#iCmgbKd4j6f1}1xF(_xzoCbSLvp30 zcZfrBg&=X4{C2V}-rnB+m_WNzMKBGW zw+Q}n+Fe(}TAV-w+te0Xi3mM%X^_VVt@KUPk{=VEUq(eMOD>H>pe>N2)Hyi)skE9K zP-C8;2uFt~i{DVBF1qs3QCg_9ePyHlhX+OyIC-O%q0;4#pmPMe{0y>>m6|#nGAJ&V zaRJ&VY59T(FRdZfyZIucySP}+7KHb0~LkN zC6!5jagLTgTwduhyosM;V#DySk&o-#D*`cUxUuIkzKNk>n%*|uuiObz_dkdS8BYtH zJR2Y+bh4OeCI;)X5QoZo!p=aqO85t;mE{O!t{^d8kAYy@7zE zty+`t8Xx}A4Ck$HBeMA3E_MafckW^;g4!_JcRJ&vX`Ksn7jOEGHav`&)d=(Da=6ZK z8`oBhpJQ&HrE#Fek}ZH=WOb?V(zhk8<>9)?5I zazCTfNM0$2R;JhoELz37!qSLF z@(k<4rE+02O;+0Gf@`&2Wikiu-R zzn`7D@9(#p0m`jvswM$`M^MlDVW$+~d)5`KnXjn3xGi1LDp#~l^qt>B7K1@=Ra-w?95Nee$wXSxkycqh zZ$@SjXs47ug8-;C!EV#0rJ~lKrfd&VHbvWs_BN}{gfmnE13nWJqctEsNsk_(;5hwc zW?&?Wu`(%eQb!OQ?X>m>iqZ?wofzb~y#VQAkmL2nD4#LN^Apl21_e&aA_hRBaj<2P zfLD~NH;9^P7k<;_yw!|QII7}T9FT^fXB1%CMILsP#0z9EC{^J>cGy><6Q2Syr)@{% z(1x9?pf@Pj@~{Eo!Jc;GjF)@FKkm{=Qb@9$(@K@q68X0{*#SE}r*rP5ljpeo9W5(l z^BU4-)={@mP0NWB9Q`T|-l{R0J$V;m${`g7=qN2EUd%m$tu8toq$I69Q|pBx%^ zS{gc(bt90zgqzSBe32gh9tG|6Fe_%7eqO=PBn>mk&xI2trKYoS8cMo`)&!xAx3T#a z)y@_*WQrQ56X~K>xu|s_XD+uWm0LAeT1m&9Z*h@0kFSce)F>AkC2R#Aq++f)Z^dwj_Md4aSTAv`pLL#cCS3^} zrX6?cySL;@xDGgsdMLQ7&10jqLkIUF|6i&wKCv8tue>u)udzKp&phkU0+$rUs?$~q zQrwasUW~Qb2u%>Q5Sr9G4`Qa#bdhi(1g_&L=%qm4RepjB7$)Nf^b>{`1d9QDg3&Ee zn<-m*cp%w-95&=|U{*Cu024aLM#h@WGi|Y)TWRKf4Mh_%RQb)EujRZMx){RI)kzO+ zJY_cvOD8w5gZt!-7JR?LlF9Y&hkzf-B~9Ngfgn1xNe*pVaC?HKFgee7@+&jZmE7X| zf)~l`um&C~YnUx-$&|roZMtl=T(&xuyLtjvY+S*vxtbQarZW}koPeuYXSi#wWCh%r z!Oi{6NNnN+n}yhk*jgia%FX%s%&Z@_9UaHKk*-o7n>A}0Or~HpHThF02a8SpgGpU) z6R|DqgVKC&5gCcUL%`Pyy<-r?YZomQT+UnL2t_T`A!w;?MQXyGfUau7d(oX(hXame zduKg6;OI?kNI;Ji2OT>TrHrkxk!gqq5}TNYXfUxkQH%7P#Fj)0zH<{@iBec?mbBgSg-Wl{wJOq8XP@?!|;PdFCoFCCm zxN>8h#~w zE?=m4(vj&7uyfN~mZ$Ra1v&{8x(Y^o%4LH(?^tBw&qM zkI2WLNa|oKO`vhM3?3y4^(X9%;LCBUe=+Vds`dQ%Y@|LDsZU25H(8yu(MJn=H zR8#sU#r_>uEs^osrH#f7B$=2*F8lE?%PEagO%e1+br@akZPV0ymJ7P22DeZmCe8VB zi=7c0H`(0hxq%H!e}T6EQDtZcLv??K1O~AfPcK`ha>p&pNwulLx{Z2F6dOK|#*9@N z7m}p}61XLQ15e^$v=0z$^2s-ze*Nj`)^u^ZT-^Q#!F28xITyRXJGh=Pjw%(--maPZ zNQE!7Sq^PZsh^vq!mu(ES~;^Z9a<-c)}_=B8(m>4Qtz^Db7z6Uq4C!0_-B@bi_#;LxtaHPsSmE^wn4@g+Thz{v4~{6iWz zf{mD&tknTza;(lccJ_ImrvW^Q5}|s|tfYX(#wpj<)pBdsdk>^S%@g-ddF0aO`AEU! z79v8XVfJ%HDzaj(I6j?!;bXOfQ5>qXA}rdS$3*E0A@XMl5LW{{ zaGn-fK^%4*1*(s&$VrZHFmVXRv5Wn7u63+~(vWH>o*C6~pYlKv%5CICo$`)*?6*I0 zi%b?FA5C4$HSRS7gY$Pmg+e1Xm^R12?X~n|$hP#(lc_J^7M7gEpP=z2H0P zG#S0WZ`p64mT1J0`X2foH!0zR&@a;OkNb=s_QR}pj-vdt?JLYMsV<=Vcc6Pcx`wxF|~8S70F)t-ujGZn4r zidAw2TyQyy*3Oky&z81iN?T?c)1@79X-BHGgK3$SLd*W3IGe%6Bn5 zoxJpHs&oxLH)CbcIDzdt$h^JzI5(gMHc#_+w`EG(W)5iYe!rq&dholuQyX`sTJK3$ z?3OEbQ$4HaN~^%GFG7jdfZn(e#GB|l-_f*TdSt<^b{y-%52znM)H+k|R#S`$xO1-M zmd1*@W08z&{iQ&k%l(_~-j&|p^7U5wE_x7qJJ4O|ySx&yt8i#o7Q9+j-{TBkbA}PW zme=jmvy^!~QEPLt};oGqh|eD}8xNKYoEDeR0N1@3Qu`Xu}LEfgWJUkTBBm7x8f zA)~7LtfSt^vqpKk5v3c|U?xl>W2vZ@t`ug3$vT8RWIz`5yk_K)_79*Unq-~CTlNeo zao<=3(mL#walvXut95~|_{)e2VV3~8aRj^BCFfV1*u|Dtn_RV5jNf97v5y#zd`*Xp zIo0^Mciac~FVq!#u+O-&f@b(rbQ;cJKTBY;8_!AyDHf&JDhhNi8w0_Nte_s2CMe%L zV%c2Az2J5TRj^Cbj>Be}OcH~_)09R4n90XD$W>r&44k*&VdxeZnE+!oMhwd)!`lRH zWfZ7ETQJWe(6aRf^XAvwHyXCQc7e?NB^3q7E7`m++K6JY}@^0ouKJdCa@_|Kl z;M~$G(xt7MdI6d`wGF=;{#N+y$fd|^yekv$f`aaBv@H{DoB54&bgLZQ3hb+v^zUl( z*hApTMPn1AlLu3g`l*Ky-~&E#>+0XT>)Ur--u~|P+17h9fN-t%%B}ZK_&@@KkuV!* z$OIauM`s?I9!Uo_$ZUI;sYY1$p z0eF#rR9()v0cO)<9~JDzkyFNeQtvz_&}+09SI{yhU$}f3)09only$Kw3u{u-$Yj05 z>1a>e;aQYxy};$g)Zv#Ic@U>7Tfnvmo%nuCYY%)4IhAt+YT?4S_{6WO#)RZf3-48b zEbIMldkK;Ftk_3D07>^pxy&H(j1y?CfjMFO&c&7K z8BZKZFw2w4Q7|iyqc$)e!C=L2AufFd1D^H5uJ1@fdXeD9O#%utxRot9fG0Skon|ZX zqg3YKtCW+#M>fESFT53I(K$B8On#VHf!P=#ZfaH)Zxf)1U54)w6e+`N6eyD8h{Y$j zrV3l|nQr9Y6M;FvhN^E>yH>VIgNi4Di4fpP z5N3DlGlBYapivGGBjsjZc`BfM7CZr*;Y2a7?tNwNx&5SL-<}DzGnmtoiMGr%zuW#^ zeLA{bj&4V}VS+n2&cuQcl=8*LW}f}M&wu;#>D713tM5*Sy5&%JD%8ykaqiF#h~EBr z&=F;dK+r{Tl0pgs){f>(sM)A(!gWqab)prh4RiK!wZ7ZY+vd35R^6B9z7cjJG{d9b zV-m3TBO{El&7e?QTmwBK?4d0L!|S|t0g>fOzU)^m^UA0}nsMhLrwYHsl|oj&mqSKk zeSpo+mF+yHNz7(1ulE6ADf+0C)JNReWt9=1V2 z#qh18N!&W@hKlVP!VaO0(noBRK$w35=(gN(aymvj0JVI0rE&pk)iWFI8q~6flU6(G zjM#;5+K~WB`i(wn(GtTO)Hj(W_MDjIbHQ((3nC{_m>OSKL6?oI%WQzA0F8{mid7ST zMw8+lR0xy8=MA>l0EiY+DsP!-NkzBebLAQSZH5s9C~kvq7=^tVXAnBlYJd`9vs~d7 z_NGJ4a;O=+DANb){x$)C7W%dUWq@Y*B#HZQW?iS_4|BTf-B%su-8Js3HD1KA0Wj&! zo#j=kf{a9+MjA8Hk5DL>t~Ly3UCJfhpiCZ)TArn+&LV*c!0>8@f1aaM#vpiwVhj`g zl9uyZ{3UD^PipsxtIbP#4QZ$ZU*$IUmFL+|U$nVTqPUibS-|>tRQ?&N=>!E#(!e%K z;s^81kzv-fWlC>Q@HGm)K>_WnoE6WsfmnZ0a6e5M*f_+L(f{T=2UF~m_8bIssji!= zh|g{BUC7Pzb}l#;3*v54`VoU1A8DwILDWf7UNL}j5ZD)D5Dk)9Brzy1BV{8o=*;&* zHZBH@Mc!R7$!iJQgQWE?2E~g>ok<+6^ci|;5Iv|}%KCTS%HWPJQieGBEcpc!v98Z} zkp2?6Y%!&Kk^Tj;r)x_0A^nSF8p)LINBYY))^r0b-D(~w$kJhF*Hlgp(kDo)ZA#A_ zau0=cj~B4*TMBEy=OFO*nR4c#gfEZ)+>{Y(Q!ghvEl(9A{k6m>#4}Tg2Q1H2A^pw7 zLzeVvmj19My$0!DOFU*tk0br-i6<=SwMZXS{t_2GiHnJ&mfo*p^?obyjl}0H^(FaFhR_p0U??0C82D9tnV~}zz$`X^lNZ^`n9JDcH z{l}QZJjr(m+5rZ=8ay$m$qys*%g&cwq7?L;$*({nXTmk%JOq2)FNMTe&O{z4!+Jr* z#l&!DLIwN0UQ1s8xc_u5gbViheF?wF%$IVZnCTdHoeGQxbgKQ7->Bm_?i=^N8x)`0 z;5Zc=587jCzynQdTEx=_UG_oC82Xn|FiPZ_nS#i0=!dTLQ(+ISA=oQV%7HrPbMTO=w*0)E^ z^n3W?I2ElcF48`InoCanC#8Yo$DtIpf)n)nd$7=PJ&_(|sTaTy2p6XAyIX)J!o)e(4*zujfwfnm(A0u9TxIC%khd)o(oi`t#G< zuB=a&Y?4bhO@!uhOH#Qt)4P86zHi-kCG_4ZbmmKb5 zM96#3%oUcsvE}tGQ%_Dk`R0*}N79AObee;R4V_A1u@4+b`;Y?D4bxAeQI^cb%r;%! zUe(j$zSiRDS>?aB#)**I_%T2OEG&gFQH_WQzC}2ovIv~~6rRbkYc{O-W#Q(S#wtzY zCERsF)SINGOLo6%(ve!DkvcjUEGTDaHSD=V4ef!veJfnN729Z~o0=kh7l~sPi!}hI zjJ;IdFTH;WgqtgsEz^96 z={gzxgRt$E)bw^$=(A|fAk`bIhV?rgM&z|5!cC|pYRI)4)+1uwLCj27BTQBp2*hE( z?3761z}yn)Z>W3A%-yT`OAAvaYw@50Ci4m>yU!gyf0&z6G={A9Ld895#s7EPii=Z$ zEN!30-g^Msi*ZvNH|SL98{{e1NWO(jgA)KE&lu{a9nkZpdaz3>Hg1bcciaeRi2JlB zS@*w|KzvPV6K&Sjd?!5vU6If?MVy6>P+|UtBTO{o3IRhslV& z@oz4_O3sHo-W}co>n)Ssn>DR+&F0C_LfD~{!iq8lY`godf)>Z+oQ>{3bZ!)lu~6rq zrPcXGMC|50^n=lfx-68mdW^DPv*Akf%J>DeM?CuuO217bM_>?J@Lqh`udCC@1xJS5 zladGv`jdx`z=0u7LF;}A>uDH?9it3mxOCc+3OA&~4RV-SV8mEBgD{g{GUa@&`9kx= zKI0z^8qdIT(Y{qd`<5Y%-LMOk&1>*AS*LIJnZcTo#`N9p{G64{Op6YlMNT zol=AbGfDwloODKp4XOsnXrKvzpfb)|^@xbOGRfG@PI5r}L3NXrObX!S|3lQi%og%P zPRfCg{^a1X<3nS0rk2^{Sw-zEL770YApEVEzUK<$zFX6gt#X7s)Y!vdR`oTggjjVE z{?fUg(;*||)uAne$r>yqo3FYWgbrN+lPdv}X_rwhaL&;S_GJ#b9s#UZ$pQO3;JUk{ zE~A7IC(;Zs*hCD`Jp#b&lJe}!%%wAT`N)Z`RB}2;g7~e~o6hE4>C&Yzxg4r*rKxcj z1w@PJ@ExXFkBsms1k-2AJYqmz@%F@M7PcMGJTnPu%2iZs=+Ge?;lR0j9KRn(3`2}% zg&y43UcWW#I+_=>2>^wQ#mRYRDpWTCoVax!J{C4j?591Ta*;g%oKI(v2TJaV{dfW( zr4q0KEc{q0iU`c*K~XCZ+%jKMKDBB3vvR|hbV-+7(lv1p+aPez(}xYBGJf%%sm+rC z>;mGRpzR3xY)3#r3o%EubRv=@lXc%H=y3dgad(dUYS4-Bqwv5JgY9$za2I5H$F;>s z14avy&FJN$$R}xBOn7BBUs+$wf!&kznlY}@uv;S>EjjL`ekK}?Q03Bd&!2xDfQ2o( zkAhTV=JNa#)mG|5>6W^Nl$tQZzE)(IotW%rH}_EuNr#7O7&~|J{K<(tRzc?E?4tnH zlHBrXl|_EeyqRe7Hjr?=Em@H7o!EybQdjL#3vyM(qA(cB<>9r>KM z8WAx!hR$E0LAbA5Ag8pRnnInT zX_qPu8B~n>_p9b~EZ8QWQ|5e+Q?rO#qA{zU8c#>sv5~K*e#25GwAL3h*6`7_<0u(8e0CNCFlmg0dB*&1VR#yr&f@&#+U13X(#E01vx4cd-{EQ-uGNcv~16`GdWoP+`GGH zch5fl{rBJh|M&LJhrP6icejySX2`ozUJJWVhi~hR$lxcjGTLjC5cochmC+?^=PSb{ zSCbVNaj$H-&yoEi=bk!8(00DZFWl|Ejchb@xg70l?|Y^&ad=C+7Iojmo)wor8Xmr9q|VA2luJJN#bNLKzg93> zko(qkZ*Gvxh%9o0dVzNiB4z$0XNm6_EqKUojqG;@pBoKNmib;mfVUo~uQcguFXxS{ zbcLf~<@_k1TifNKgq5BazDLM6F`tKcm@b}A38=_}`%t4wGtl#2R!OnZ*h3^s#WPuL z`P}~_#iCz68k@A^-0yfxL92#uoF7^1r0~XHD;h1DbbXJLZe+dVf2iK_JG=Yra|+7f z4CAcgA#zp4GZq}pyH*Ta4X&_j#pq2EA>x^AvV89UM~j5cUv#wioKFd4H0s7gi=8{< z4u2f{2xo>Zb~ce)p~CwvIT$?IaEC5($^n(yf5l~(3ra_`;2bG$G2nk8KzSR!H15tG z`qY)nyKxzdq7Z`_cE1`eD%Vn1^BQwAw$Xpb9~2R7*E$rJM9pC@i)XwcQ+;t!aL#@hefiW{p;}R?IFQ_vO4Pn^@VSHBVI>cx5_K;ec<#VtL`y8!6U)`a@>HT> zCb4QdvFb+T>xEiki=Nn`3OCo#G1IVex?!c(uu5-O1x=Z#RM$9D+c{m^snvGrwOz@+ zR4vqD3M;zjaA8K*)Nj7BN?)=?tKTx)*r_*e_(@Q1prJ;9h}5uTuH%lGjytD2?$kQA z=^fi9ic{6g^y<|!)w`#wcc#Y32v_u`rky?*EGyR`T|J-$zk?@N`F!&lln71rA~ ztL=TM*7oGV5kf+-N83k%7AYbmF;f|zSXoRuwM#)uO)^b-5mG3Q^Ed@yzh6(fc72`nMx7-18$Jtoqz{h42GG{LqKZALni%aHp5U0mjLl7 z&F-`6evkQ~Y^Gm-;PauEvv{^tzI9B(z@!V7BZROv;$ewj*~n1-gAllqPZawzL_*nP zBmPrvGC(ld#Ze6n{}{|X!GtlHiA2nvoluG3y_&lZSfqTkF?&bHGY}{KUlMyhi1M)W zX@pdt}Z?N?Io|@^G3(p9q<}Xt30At9#P{*U<~DH zVIQSRTv-WCHsFo%-I)@pB!R5lPHd=PFPL{+oDGS#Fo3TRCL>y?XJTyLO#k-@MT4Y@@F93GvQ z0=|~FXqhgm*x4P7=J_aj$cf~>Z@~L?7)a4W##${H_>bc=1<~P~5x>tF@f|d%CA-lN zHtAvw?92-HobVRyZJcWXwO7ALty_dV|ITDHivcRH=^H+8W&i+KBC4CU=^h3HiXIOeOT+k;6-z-_Vb4&2e zEn)cIl7oFA>8((GUvp6OHsrMhf$p939Wi4(5Xm}w1my=nf65OD*s89jhWnIsHM{1l zrEy~R%<$=R1Iky?;jkZ=wON>9MzaJjF*jktM2Oz}36c+UqS%5q2E|{Iv+qq6D2GLz zGu4+l7Cw(WDT|XSE}*W>2Z8shp-A{nV(H`+tz@NMvT{5G)tzU%uXm5 z{9Zk=UQcYgxz90~Q`VU5dU;fDGB0#S+BF;gsO}HzW@F{JN?_{28zUe=d#EeYQ!p-r z{*0GCbM>jKPd@teqqzP}tZ%s&wlr$ah3#_@FRRlhz!<`^7l8<4Foy_Z$bAy*#lcTS z+zX$ZG3H+)N5hlu#TPX*o@_l_S$Z;(Tj0=JHkO{SDJ&=iJ*@orKM@W1I`X?ehv)eq z@8`%(hUMltX3I06N`c&KIK=mY6yNirTSHjH$ERF>jrq7J1yO+iSH3BnF&9=?ZV3sLg`mGcZD6#L7wRcrLB zHNcytwW&l65F!mFECK|g3?oZ;gig%ky<4Pj7VOv(d?T`AM{n?r-Z1=z&PqfPvVwxq zBGy5H_ugQ$3e=UC6Lkq(B~X_@SY!hm2y43`vhqW;crL+9gK6Pv+3&I;N7;}{2OA8{=du3A3hObtCy?R`pEh+aPFLBSFFi5^!i+1YKPBq$@Dv4(!pIc=- zY1ql5C>UQnGNj-hW)A^KN*Nd%W@X^0PCH=yJv^>eOXX)}u?a z24e1HvuvDNCas<`k9Lx zHREPm7lQR-2_@ksq#a3v?2RQza@Nj#kfVK;4-U7>JVCZW8l@rkeQDI<&fEizc=c@te^Jc8T%0q?oy{``wsggKvFadBQ@A&B?nJ|z?lTQn zOpZ6Bc$33NJia&Wm>h5BkGOc+l(Qd=j^=wU{fe_wNV9QFIisf|ZZL-nI2&3~a5^wF zoQ|9uzKo$MsAlCqGm02KU1goEUO97F89F;KJPi4$fr}T@*0dRRA_lGwoHfe&G2a)% z^&R@enB{P_M4f+(0g+WJLy@8kHBHBcM__Q(v`v*R!Y^nJyMGQSiuuzJg0{G^hJao= z26>&qQ)YF2=ke~yzvS#4M8!;|YvRM1uCs*|$p>G)sui~Dg~G^u$82Tw^$U}ET4g)v z=JCBhW`b9Puik_6*TOEn5H_((U~;0qRj-H5h^kC5(oj5CS(mD6fXn3L7i2R43Z(Ly zOriZ#ic~QoHy~3NQrrz~di|zUX*F(m`z5mjyLszw`I{%zsuS;2!3x}KcWPA|^{S03 z+>sNI>fW~Jn~$m0_q|iSVruVehqUU=di7=%?)ZJPcrrG1>E=nTIYMXO=|bSBz49qq)H;+@3ioA+t4-Fj>{wiQeb zK-0r6V62Iu^Fy#@%e{Fz#FaK(gmw4y#Z$O;19r5AZ&mC&avW>^4*Wdv$mIcR?fVms z6W3A%>f01Bh@zeR@~3XrntKUz6qVepGPez(#gF}SALhIBF%}pcp`)hGePiy$$-9IK zt9Buw(8V#~d%UAI>##lq1{+$%VHq0eUQQP{EsCwKpdwEY;S!-MtsHjM1Z+WD&I$|^ zNN~`?hVltU?gqd}75n6O`SJq6djw64-wR-~ODy@7LNk|BBWExBWs8gw7+1m(_dJR> z&@Kj4Q!DO9dw#iI*81uv)G}D0TsK>`L@R64%i3nj)=!tMpN%(8h9>)OT+0Nd^4@vg za)&X-YkY0H7dd?M;cyeiB7hdH8_!Q}paIshnP}5=v`LG$=+PE6+A>>GH?eQ>s#daE zFIlZdSDWLMtKqFej8zQ5Go;*ZB}kFpb7`i z73LiVPkBr+yV#np>ER4>FS2?n^yDID5dHg8>e(W-3yC`8Gn>Zq?k%6pGJ_@9k~S@4 z%h$N13LJS)@3&qHJQ>VwYU{}mq(W^89moh^XgX43kP!&vHhnc791jVt%BZ(x_=bC; zQd?ngiCY2#%+yNk+C#S|jq*FT^z75Gz$)pU6Q0crDr+zky5V^qs-REGlTPcpeA(K8 zrYJV_MV`PA`%+N(0cWGw`tju7qjRVH2W0f<%B&T^nxj_+FI;t)m0K>JzI3Ml^wxGx zO^TYlKPFA}&vb8}?%w`-t=4@|?>;zY7#P4=JJnJQrJ#FIXgY7lo>QC`$`8davjpXz zv1-o|2+Sk)w4dcq!6gu@-qR>aNdmyGkH9tmKnx=o1kN{c1cJodZfs`LG4~hv$UApr zJwK)kb$#DtyUrDte#n{ntfgZGE?Y(2^^>oze`Tvy(W6)N;FgFePzUW+Ph7EY0M7(s z`Rg))!Xn&@TRRh9G96zsxlW6>>+yCq-u_-fs&1bu(5lwzRcqDw+V|fpml8O<4&iQ2 z8_c$?c;%4RwoY$bmy~(!FBuL6Q#)QeXj%ACN6;f4#K-ZBfAYJ{@OU@l*{H(N-TE4``jUA97zXn4P&<|oK9&mzehiP$s?=ga z`0g~T+2?W8f*W$Eb9(Jm|MHdo9=|^?yS52)o5V@wR5x4IHCLi_?)tV&!mjpmy=1u> zH4IZ=TXy==g^Q0U%kV`s+k0tf1m=bfS}9$i4DcENl2NxB@7W~?rvWk!`i!-9px+Mk z2xpSkc$~fUQ+WKelNSX~V*dCaH%%orhtfaDFWaq-wL% z`cIFXeo#4m=@fL9FAsq~qx5nld=E_{5Sa28{P`mQyeUwb$VyO5F)LFS?ZiGX_pQc} zf+g{OrT_9N&a{D%#U$RH6dO2rzJ#1iLMkpTy+dnTueYtAX*)dKc6c^cpQ>tu^a+$| zQ&laQLTTv{d0vVv1yKZm{bkeQz#^G&KSDw;#GR>u{H3W_#WRPWI;_PSU=|T4SgEpF zkZ5YGZLS0fg87?g%j+lZpNeYbYxHtnvi9ThrIQzKRBPp%^zuz=Y?HC|<5Fd}yCAg6 zT!fZM^WWNF(ObLBwm0Z5L<=EgdyHe{@uoOSbYwjdc*J1;4hAv~E`B{U8K@EERY5Vy zx%vP8!&*1@Ec@_8P)x4lQ_vn+63Na%vv;yw3xYz)xtVwp6URB-&p|N-a~}zhhlCx9 zz!QFo$zzJ!q?lZX%_hYp-_EH&O=DZ<3s1k|K8E(U4K~}qT5?K}I74NC90b&sYy!#< zz89$8#tO!a_0vCqB z66KiG6X%su&Ma&a%CLj@NsvzlnyGUyLRr;+wDa~q^$0(#%|%<`sQE)B7G2cUTp{c< zmB7?>AXd~TgMupUlT(StnZ&Z`#IniX))H&=#9B4679>=C?~O;bx}AF6PBpQUBvduT z;zFfRin73L`>NN9we}5q`-bEW++_a3;pYxd?!O^_J$AESOZ4f9J~h#oN>t1wmQOFYJX^EqH;;5Q9nyRf!?#=!ahO7fT-LZhEW!rS3O-n4(g|P^p0EH2aLz7G?Kj*!A z2_Ny0jRl2;fv;BVsF2>M*iqXT55Bpk36R|-eJNxtI-fyXro&(!!CWg>vs-0i*9mNA zphl`#+=?51<9I-XlpB8XOTa$aV^9ms>sH)|F_7kg3ox%)%aI}SK1q_wx`)X9YFD$9 zz6)0*jC8U1u4d!PBH=~gNz}?4Vy0yr%>P^X7v)LBVgmnu5}uDnY*>7IF7zNWfYHB9 ztS%lmks%l$N)1W{6HTn%g}B6o)Y65)b3@j;?65P$3eC21TE=I7SZP6aK4yk1+w+_V z_o6Q58oW%ZT&7hl*DIFKRIHt@fT_lKvTfqGrgq&7zkUz67nSS4y{IIItdh(zUiiK^ zFmHl~(G^ex{1D|ZO1f3zYJBvG)8K3pHo9nVR_dcSxR;{xHnVY{=4xZwgAr|Ps?IM# zCB#TG@TsLbzjTqdv|j%-+j2dsZ8L_vZF%D^7!;}4rC01yOMEW6%i!Duht52t+=om& z#6GD~(JDX1-1_KjnUA256d3IC8AE82r3(_|%ZLEXXOjKqd;DaBTkXd~1 zCvNYmNXT;r79n4<^bC~}x8hJX^9UDRx>R7Y2^9CO6b=g~E0wtEBR2~N=pf`AH+sL6 z${~({yKCXWooM@dr&&Rg+yRa~%xYaMxfH(^5dx4|#^-RHm-mrM&U2US?x#_ZhokZq zR0C#GL${+&9#1DqfDWA0y6KcI0%7H#`jwTm;{D zNa-jusE~hT0--YUXTaiybd@+M6gr+yF?KV)!{Gi1zRqs`{4^teo1hpV-FABLkqblJ zl))P4HiYCZ4B2Iw0$EB2vBWf9haidAGA(1kKQI@;{n^PHh)kK1mZyxm3cD=L=3|gG zMZ8S!6ezQP8a4Ns)bYfAmRRNoK>G%k`EaICCJ@T+oUL8v)(99sFn++$s|fIBbPJ?v z>&Fkw#;Q$Wy$7=IQ4b>_$OPI4sGVqic~~oH)l0w;lJlEVWfd=UKG*qd*Y&RPK9EPx zYqXC&TrU|9X9D^8t7sVuyR?bE z$%f=wn~kyO4Z{Kvd6eGFH?y8NCcHh^)2It$v&JCvF%z?WmVRv z`EOK4$Q&=-n`niVE?wNYoQl^?^r`V?!$ICqDyq$$Al9r}?p;bn{6WnI>E^N>Ex|XM zWx%(}>-yG9Z>`_5>yF^t>tw>MwY%G;Z@0&HZwUU=0)ZA2&p#~?R!jW{Sw6z&D$0I@IrNlH6#uC*%soT0z?svx-iJg5+>g3?L!o*U`^jENkiFWwO;SKysR z@%_V!af51Zd~d~05#N9R7sU5nvvut=bzReSU0PkYUe|5fW#T?CA0izVNYyn!hb~q# z6Kj~pMIje$Yzu@-oC|#4b$j@}YNoJmx)69zD{R&aaZ!n!-$RUlP%B%bmkC~)>ulox zJ&fP5WIUEUu0?Bz@v)eF2*!`sPaId{Ey60G3-cSx12KMS!(s{0p2|uNr9KQ(&#@W; zjbn({;K`QI&CSU6lAVI@#$3z?*q|F{n=XD@HmM8gHY+jyUxbLyBA!9I$zBUPU`PK= zJKhH)=Ux&$&Q#+!3M$N!3!zS{`=mtqa|HNL`Almxxm9}qj5FdB$eH4@VHmC|@0=;` zo-Xg!%2(^CVZ)*{5RzvH zVC~0mtu$96ovlf&8^i8X)5OExLmY)WT2Jlmak>F9-s3X2kdt?8de5t^W3+(6>#z+a znQS9EaT55JayJE#e1=i76QubmIvky4~!Lm&!9%~ zyFKFD`sF7iw@Q}xn|5VcPY@g&Pg8N z2A+l~Xkj@YqvBi0OtdBZ|AYRo1GqnFZ@|C{%}@xa>;AmsUy$&eObs>hewDFi#CLslZJO?Kaw`U>_P z7x_~B7gmFM_G8kVsK&qR`09$UuRwuX$x$64(W9bFPX~mM{&Du_PvH6Jj1zZ9csuDD zOq?z*s<%rzxtTVKY@)eYLyIa^R6ekM?mUo~6Z@?zmj zg}5l8s7iojC{+k6`?fhag4y-2X1*YwB~>^4}sm)W+m z!uu>N{QU*^-Lo@YW*%&aYi&3qfxTODpJ%v|{DciziR_8+YK&XjCiWWttI;-N3Kkew zhEQtM&|vvp_WA_DpA)byhVOCYBy?3#P2sO#`~v`1z*9`|HoqsN+~9k(;cKM*=Zw1F zmG+MiZ@ov;5O}4KuLwJck2Ce3GBldY2v>H>*NyjS(aKfiTMP~CIRwFMVLIbGj28Nk z;uD1t4N;n~r13q*KF)H#$PX}YQpsu-p-U$|+m|vc_gpE>X8S9Y1kFDoC;s19st{rS z@AL_=a^VwV<-#YrLMTOuGAU~QrH~_F>}uZ68Wk6302D$s+S#Sn!NX(pD3q+K5=-_NS`>{5#K?Es9}*!IKi0b8G_)> zyOOmsSx6BaI5N+TN^nS8Be0MDkVC&2DSG&x*=wY8EPt<&U)IzRGq@}3-W%AYqiyC( z10&~$`h^J?Wh#go(6+QfnLY#QmeV)JFrr$;vH18kM*Mq%ZxDQw;9CT55`3FLC-_eU z|CNCHP|AD&hMo>+_Qy_)M7fKhwDgqMT$~yYi6Ko>5lVBSG zah8es==(H_B=~DA9>Y68){NPIsc<|Ks13u4uLYn>6)An<0V8w+{F#6prn0UH?05!5 z%y`;CXC?ry_zpXsSLcQe;EHdw#p*`Oc% z!E$&N>uLZye+GyKFTjnUsfH!EWIg;bC{X8y_G==#%&ZqLUJe_;PQU;&-`4h2cTc8p zLl{<8Jit!OP!QD|7WrXlp;*99z<^2-UlRt)!UA?Y1J;Z9a>iT0j%PrpSzEFq!UnM8 z8DI>%mM|5^9cU*JL3@l!=7n*}X#qP01K1>U`wwM;1z~7YdVrmdq1B=?rMyJS0(LwD zmYJ1>WPo+?lpW6iqp~s^%L11Ah={f9Z|I{uwbIJm{|(>0#4zzyqB3G9NM@9=-=~O!SPawUr>P^26Sp(C zNY$`4JFHMT9&78+MV^{LvtwAHwxuxqmM(DxcSD>`DP~j&0flE3(N5%PC_Knj$P!Q} z#w1L@340sl*w7*ywIr2lf^QJi5Rjrz7gD-Ntn35B3N<3r`Mjuj1bR!uN`Au$TK-%|a0dbD8l@K?9XC%jg*D%cL%7eD z92{YO0yajB)6RjbX9vuipf)j59G7mP?@ofP1ls`8#pVl!?AWlf-4iIZONNyl46L+L zqLa@nLxUF{6_?=(257o`C;Gh4G#PvF!let~oGH8cT0Uch)njEZe@FTIAf>qP!cS!% z!2w1TF~T<3n~s^qiJhr1|CcT?3W3J*#pASxt{mdaf{;8y-%)~N%&VBfnZ^(l4RoA= z(ThV5Uqqu_RLI6j7lZEy-I?L;OAx(P9#QV$+xIdi|CH#!^8@`tgu|F)6f;wPgVCi% zZ$j@40^!4AOrPYt(L6vtHUd-_0kW)4Tg*GntL_)t%C?2MxM<{3pBw*-*30Y?9d?`Z&LUZG5 z^a*kIzo3tz%|h7F5Kk0x0^(TcURIo}Rf7{rq$dd7bP=uXpc=;2D_I2bt>~6ZL;Y7S z4s2D<1Hqwo((uoVBnhSzWH}`*QGISsij9fClvF$>{!&tnYPpnDI41s5QvR6uOG!mz z;x8o?jETRL6jv>0XM!t`bnT}oFeRjP2ilvJg9U9ON?Rr0u$)TQQfDXCud zx|GzR=5m=p9>3#P2jc!-n6pMSjF+&mUltTg@(x**w)@?$<7?KcQjgoEqz$UqWdZ?y z)?y$c$#}yv3RBV@s@G)#LFVz{AS%h*@$uW-E+uVLy)F~@WgA)a5?UGqY=zsUqz2XN zQqmzcmzxX5`9aO8P?zd+b2UwBsB$hC(Szm5ho^&$YOpaCYF2%2F0?}Ry6l%4)sV-f zyvf~f&xI;cs^Ly`an5=sH_o?7(8>##OV-i2$mrmo&B(pT+K>-OjsdsV3{6S+&4OEXe#m|QgX^`v&j*7tc(Tz%V!`<4NL;4y_{c=xJ zMG`Xk0zQyD4w>B$tSk3r=Dkn5Kq00&AOURuW$qy!4^;+~VA{Gd+We!x> z=^OpoUr7=wbN5_}QmFHP7$`0w))yROCu|3oJN$Ku@U* zc|X50Ve-RcIJQEI6@SkI6FFYq?=^tzO)@V#bEI6_K za*GU(k{?VoO||Ns+vgdz;KbjxSo+CTH`eNFkNMM!8FjNrTeC-Bvxlf>kKr_FPYRQ5 z+090+=PteHuCXFjy325ybXO*xAg=X;@qL_Un>f$R`0l;3Oh)G7|BY{$H)0pOiB1F# z$;5rRVG_8BF$?baGl3zQ(?2&z)Pg%fe^6St>Bf3>({XL>34QGeK??)YY0`;I ze3=ZfG(VVU*n$)Bak-HTh94x)&ogwviP|Y23CLim=7!1g>%i=cTX3g17djf1!Me*0 XlOLZKF$?ba^Kq%P$=Iq1mfrsbvW)mH literal 0 HcmV?d00001 diff --git a/botenre/myenv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_trio.cpython-311.pyc b/botenre/myenv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_trio.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..71f74e45b0ddeeda4532c8e80a3500e0b68ebfab GIT binary patch literal 77855 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�Z1%|$8j`Ag7R{~jqg;LXB_n7| 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�GoqU4BfurH78?Sfobh#q$`mcgAMvEB|_N5A{r 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%0DvmDp-5ki3`$69u$0{6PZy`2e%_eQZvopa@?>tYL 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 z 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%0DIZbbQXL&AcHfbkRw2dNggwG0lf8 zc~F50vpY?Sx;ZWW6a1Blzb5}DOqP*nOO{A}%ha!xX>d(uzFGoIacHI=?3R#IGx=l5 zZ-dz~^VM1ixHv6yruGa(T>40tB~ZKjJ{Y}i)Ndw zd2$q>tci6}92EpNV(p`&h|MIKGqt-=>*bSdFxSyghh;K%vRRd|O-7!dp8DqC>CBO4 zR@xyD&^@S&7@$|5%(;zYS1#33wQp#J#-Xf_ow9a}Jg3M*^sn$da0I==drAGG(?XjE zG%$_f7s0Bnj(zpYR*hx)K$y)431Tt&(q*(1r!XgzKo^G<`;-I{~N! zlz!9n22_)BZH5zyrjIP}H0YuiYy?<7CO|NP@)Pt;kN6#!JQBq3RpvbUkE8!GFE?vg zC>P1%=9upYdF555houZBTnRLXgAi{Kv&mCYJ$kfqhnT;fbncyWwhwPQDR#Ffly+{X zhKIai+(%C|4@ETF1T>r!snFAnoZjnjk+0WL7Wa})wa5(v^|yKbT2?v1oGw13QFgwO zSJ}k=ESwF>M?g|8m^YAS;;)H_21J?h=Bdg-ReI$pqNxt7{hP>rL@Mn$wu(HF+&hu< zgOC8uN8}6oiQtOQS9#v+nHQIMmyL=a-@Q}bZ)-jhLg;|84|vR#=qZCz29J~a7Tx1X zBc=#3J*D@&N4@6)yL;4+ATL2#_p*%CV&vH@*(Z9eQ{8PI^+jXHpylC;_9J zBzq{#lS)GF?Uwh+jFO4#h?VVL88o&W>u0T%G9qV3Y>(=+{xCUTIyuv*&eyNuu?yG33?X`B_S{SM4!^r z<)O)+@P!0teOz*JM-k@N8c&*|TUgxSE^}OheeW!OB8&DM?RGdCo#CgU(|g|aIrA@ z#sKaO-@6;WT}+F)5{D$try?(J)6dZ>j`tSuZxnU}V*dPl;K2T6UP7gK%cHx(_ZDS% zTSA;X*x`h)X0lmcC(ESSD$vNNrF{P2aS$ZlppahTDUt@RTpo-k*sTM40Lz+8!)%?3&U%zAhC--kE2 z8IzoPZ2LC2WdG^zr@=5i@4F@5S8s}x>!sOId=SiLv$3^VKi(2-y(LySaCqJGv`5I( z&biW?qj;TU2{56k&dVJlQg}+gRZ7RhPCtpmLX${+6r2QzekBwP5yahGnCHpk7Eb|6 z!k9`Dw|kGBrxRmZK^$)~A1?CY=>n#8JA$wwN8sfpL@UtZeXumwVThmas z`Bp$=IuSU4NI>UlAn2iiWs>$9iZPEce4}52`@hPPwOs54uQqX#9|(bdj8U5pg75Oh zW{qpRKqQ>teKCQGFmw?7g61>z^A6U6@QC;PG~e)2<@V|7dw}NziZW4xAOcgro{BnD z)Shh(#W`<%Jw_jCd7Qr01$M($Ca$h0z{{hyMD6ov&BIl4z6z^FUiRC|-7DpZs?#01 zZh1<(RZ9B-(BW@@4JU{Ulj*G=i3sYrm*@}R7wUR_jj z9Q;g(K+2RBIFkj64ySIE~vb!S)WeqstQ#Mh0uiEmF$Has>H%@32!!c8r74nce z!I}Pa9{(TICN=_87buyX;7P?M6=BmT%3PSv#eJ4rTF~<45?IriS!_~NY)@dfxOP95 zFco`SQ*^CCL?GaITfrn2F!^IGY(y+-M-XaHezm?rAWX7l@BP1?EN+P`ewCAb1am!s zAl#twh`S6@9$m_dV7)8WgCq5XFvl)<5h!`*lfZ@K`FRK*^i25?;I9n|kDtq6k>-`( z1$zY8X#v9Hrov5s&-t^&bbrlx`|s{)=vHqV@w9T^w6fdXBA-18h?~dm?4})g;ZdIE z<)~Aizf$V~y}}XvrwIKqk{du5f+Snr)L=1hC0G2|Qℑ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%0Dn(kLB|NBpT;_Q3 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