hmdev-cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1158) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +157 -0
  3. package/bin/hmdev-cli.js +29 -0
  4. package/package.json +40 -0
  5. package/python/.venv/Lib/site-packages/__pycache__/typing_extensions.cpython-312.pyc +0 -0
  6. package/python/.venv/Lib/site-packages/anyio/__init__.py +111 -0
  7. package/python/.venv/Lib/site-packages/anyio/__pycache__/__init__.cpython-312.pyc +0 -0
  8. package/python/.venv/Lib/site-packages/anyio/__pycache__/from_thread.cpython-312.pyc +0 -0
  9. package/python/.venv/Lib/site-packages/anyio/__pycache__/functools.cpython-312.pyc +0 -0
  10. package/python/.venv/Lib/site-packages/anyio/__pycache__/lowlevel.cpython-312.pyc +0 -0
  11. package/python/.venv/Lib/site-packages/anyio/__pycache__/pytest_plugin.cpython-312.pyc +0 -0
  12. package/python/.venv/Lib/site-packages/anyio/__pycache__/to_interpreter.cpython-312.pyc +0 -0
  13. package/python/.venv/Lib/site-packages/anyio/__pycache__/to_process.cpython-312.pyc +0 -0
  14. package/python/.venv/Lib/site-packages/anyio/__pycache__/to_thread.cpython-312.pyc +0 -0
  15. package/python/.venv/Lib/site-packages/anyio/_backends/__init__.py +0 -0
  16. package/python/.venv/Lib/site-packages/anyio/_backends/__pycache__/__init__.cpython-312.pyc +0 -0
  17. package/python/.venv/Lib/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-312.pyc +0 -0
  18. package/python/.venv/Lib/site-packages/anyio/_backends/__pycache__/_trio.cpython-312.pyc +0 -0
  19. package/python/.venv/Lib/site-packages/anyio/_backends/_asyncio.py +2996 -0
  20. package/python/.venv/Lib/site-packages/anyio/_backends/_trio.py +1343 -0
  21. package/python/.venv/Lib/site-packages/anyio/_core/__init__.py +0 -0
  22. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/__init__.cpython-312.pyc +0 -0
  23. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_asyncio_selector_thread.cpython-312.pyc +0 -0
  24. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_contextmanagers.cpython-312.pyc +0 -0
  25. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_eventloop.cpython-312.pyc +0 -0
  26. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_exceptions.cpython-312.pyc +0 -0
  27. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_fileio.cpython-312.pyc +0 -0
  28. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_resources.cpython-312.pyc +0 -0
  29. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_signals.cpython-312.pyc +0 -0
  30. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_sockets.cpython-312.pyc +0 -0
  31. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_streams.cpython-312.pyc +0 -0
  32. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-312.pyc +0 -0
  33. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_synchronization.cpython-312.pyc +0 -0
  34. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_tasks.cpython-312.pyc +0 -0
  35. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_tempfile.cpython-312.pyc +0 -0
  36. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_testing.cpython-312.pyc +0 -0
  37. package/python/.venv/Lib/site-packages/anyio/_core/__pycache__/_typedattr.cpython-312.pyc +0 -0
  38. package/python/.venv/Lib/site-packages/anyio/_core/_asyncio_selector_thread.py +167 -0
  39. package/python/.venv/Lib/site-packages/anyio/_core/_contextmanagers.py +200 -0
  40. package/python/.venv/Lib/site-packages/anyio/_core/_eventloop.py +234 -0
  41. package/python/.venv/Lib/site-packages/anyio/_core/_exceptions.py +156 -0
  42. package/python/.venv/Lib/site-packages/anyio/_core/_fileio.py +799 -0
  43. package/python/.venv/Lib/site-packages/anyio/_core/_resources.py +18 -0
  44. package/python/.venv/Lib/site-packages/anyio/_core/_signals.py +29 -0
  45. package/python/.venv/Lib/site-packages/anyio/_core/_sockets.py +1003 -0
  46. package/python/.venv/Lib/site-packages/anyio/_core/_streams.py +52 -0
  47. package/python/.venv/Lib/site-packages/anyio/_core/_subprocesses.py +196 -0
  48. package/python/.venv/Lib/site-packages/anyio/_core/_synchronization.py +757 -0
  49. package/python/.venv/Lib/site-packages/anyio/_core/_tasks.py +173 -0
  50. package/python/.venv/Lib/site-packages/anyio/_core/_tempfile.py +613 -0
  51. package/python/.venv/Lib/site-packages/anyio/_core/_testing.py +82 -0
  52. package/python/.venv/Lib/site-packages/anyio/_core/_typedattr.py +81 -0
  53. package/python/.venv/Lib/site-packages/anyio/abc/__init__.py +58 -0
  54. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/__init__.cpython-312.pyc +0 -0
  55. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_eventloop.cpython-312.pyc +0 -0
  56. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_resources.cpython-312.pyc +0 -0
  57. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_sockets.cpython-312.pyc +0 -0
  58. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_streams.cpython-312.pyc +0 -0
  59. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_subprocesses.cpython-312.pyc +0 -0
  60. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_tasks.cpython-312.pyc +0 -0
  61. package/python/.venv/Lib/site-packages/anyio/abc/__pycache__/_testing.cpython-312.pyc +0 -0
  62. package/python/.venv/Lib/site-packages/anyio/abc/_eventloop.py +409 -0
  63. package/python/.venv/Lib/site-packages/anyio/abc/_resources.py +33 -0
  64. package/python/.venv/Lib/site-packages/anyio/abc/_sockets.py +399 -0
  65. package/python/.venv/Lib/site-packages/anyio/abc/_streams.py +233 -0
  66. package/python/.venv/Lib/site-packages/anyio/abc/_subprocesses.py +79 -0
  67. package/python/.venv/Lib/site-packages/anyio/abc/_tasks.py +117 -0
  68. package/python/.venv/Lib/site-packages/anyio/abc/_testing.py +65 -0
  69. package/python/.venv/Lib/site-packages/anyio/from_thread.py +578 -0
  70. package/python/.venv/Lib/site-packages/anyio/functools.py +409 -0
  71. package/python/.venv/Lib/site-packages/anyio/lowlevel.py +196 -0
  72. package/python/.venv/Lib/site-packages/anyio/py.typed +0 -0
  73. package/python/.venv/Lib/site-packages/anyio/pytest_plugin.py +363 -0
  74. package/python/.venv/Lib/site-packages/anyio/streams/__init__.py +0 -0
  75. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/__init__.cpython-312.pyc +0 -0
  76. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/buffered.cpython-312.pyc +0 -0
  77. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/file.cpython-312.pyc +0 -0
  78. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/memory.cpython-312.pyc +0 -0
  79. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/stapled.cpython-312.pyc +0 -0
  80. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/text.cpython-312.pyc +0 -0
  81. package/python/.venv/Lib/site-packages/anyio/streams/__pycache__/tls.cpython-312.pyc +0 -0
  82. package/python/.venv/Lib/site-packages/anyio/streams/buffered.py +188 -0
  83. package/python/.venv/Lib/site-packages/anyio/streams/file.py +154 -0
  84. package/python/.venv/Lib/site-packages/anyio/streams/memory.py +325 -0
  85. package/python/.venv/Lib/site-packages/anyio/streams/stapled.py +147 -0
  86. package/python/.venv/Lib/site-packages/anyio/streams/text.py +176 -0
  87. package/python/.venv/Lib/site-packages/anyio/streams/tls.py +421 -0
  88. package/python/.venv/Lib/site-packages/anyio/to_interpreter.py +246 -0
  89. package/python/.venv/Lib/site-packages/anyio/to_process.py +266 -0
  90. package/python/.venv/Lib/site-packages/anyio/to_thread.py +78 -0
  91. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/INSTALLER +1 -0
  92. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/METADATA +105 -0
  93. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/RECORD +92 -0
  94. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/WHEEL +5 -0
  95. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/entry_points.txt +2 -0
  96. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/licenses/LICENSE +20 -0
  97. package/python/.venv/Lib/site-packages/anyio-4.13.0.dist-info/top_level.txt +1 -0
  98. package/python/.venv/Lib/site-packages/certifi/__init__.py +4 -0
  99. package/python/.venv/Lib/site-packages/certifi/__main__.py +12 -0
  100. package/python/.venv/Lib/site-packages/certifi/__pycache__/__init__.cpython-312.pyc +0 -0
  101. package/python/.venv/Lib/site-packages/certifi/__pycache__/__main__.cpython-312.pyc +0 -0
  102. package/python/.venv/Lib/site-packages/certifi/__pycache__/core.cpython-312.pyc +0 -0
  103. package/python/.venv/Lib/site-packages/certifi/cacert.pem +3933 -0
  104. package/python/.venv/Lib/site-packages/certifi/core.py +83 -0
  105. package/python/.venv/Lib/site-packages/certifi/py.typed +0 -0
  106. package/python/.venv/Lib/site-packages/certifi-2026.4.22.dist-info/INSTALLER +1 -0
  107. package/python/.venv/Lib/site-packages/certifi-2026.4.22.dist-info/METADATA +78 -0
  108. package/python/.venv/Lib/site-packages/certifi-2026.4.22.dist-info/RECORD +14 -0
  109. package/python/.venv/Lib/site-packages/certifi-2026.4.22.dist-info/WHEEL +5 -0
  110. package/python/.venv/Lib/site-packages/certifi-2026.4.22.dist-info/licenses/LICENSE +20 -0
  111. package/python/.venv/Lib/site-packages/certifi-2026.4.22.dist-info/top_level.txt +1 -0
  112. package/python/.venv/Lib/site-packages/h11/__init__.py +62 -0
  113. package/python/.venv/Lib/site-packages/h11/__pycache__/__init__.cpython-312.pyc +0 -0
  114. package/python/.venv/Lib/site-packages/h11/__pycache__/_abnf.cpython-312.pyc +0 -0
  115. package/python/.venv/Lib/site-packages/h11/__pycache__/_connection.cpython-312.pyc +0 -0
  116. package/python/.venv/Lib/site-packages/h11/__pycache__/_events.cpython-312.pyc +0 -0
  117. package/python/.venv/Lib/site-packages/h11/__pycache__/_headers.cpython-312.pyc +0 -0
  118. package/python/.venv/Lib/site-packages/h11/__pycache__/_readers.cpython-312.pyc +0 -0
  119. package/python/.venv/Lib/site-packages/h11/__pycache__/_receivebuffer.cpython-312.pyc +0 -0
  120. package/python/.venv/Lib/site-packages/h11/__pycache__/_state.cpython-312.pyc +0 -0
  121. package/python/.venv/Lib/site-packages/h11/__pycache__/_util.cpython-312.pyc +0 -0
  122. package/python/.venv/Lib/site-packages/h11/__pycache__/_version.cpython-312.pyc +0 -0
  123. package/python/.venv/Lib/site-packages/h11/__pycache__/_writers.cpython-312.pyc +0 -0
  124. package/python/.venv/Lib/site-packages/h11/_abnf.py +132 -0
  125. package/python/.venv/Lib/site-packages/h11/_connection.py +659 -0
  126. package/python/.venv/Lib/site-packages/h11/_events.py +369 -0
  127. package/python/.venv/Lib/site-packages/h11/_headers.py +282 -0
  128. package/python/.venv/Lib/site-packages/h11/_readers.py +250 -0
  129. package/python/.venv/Lib/site-packages/h11/_receivebuffer.py +153 -0
  130. package/python/.venv/Lib/site-packages/h11/_state.py +365 -0
  131. package/python/.venv/Lib/site-packages/h11/_util.py +135 -0
  132. package/python/.venv/Lib/site-packages/h11/_version.py +16 -0
  133. package/python/.venv/Lib/site-packages/h11/_writers.py +145 -0
  134. package/python/.venv/Lib/site-packages/h11/py.typed +1 -0
  135. package/python/.venv/Lib/site-packages/h11-0.16.0.dist-info/INSTALLER +1 -0
  136. package/python/.venv/Lib/site-packages/h11-0.16.0.dist-info/METADATA +202 -0
  137. package/python/.venv/Lib/site-packages/h11-0.16.0.dist-info/RECORD +29 -0
  138. package/python/.venv/Lib/site-packages/h11-0.16.0.dist-info/WHEEL +5 -0
  139. package/python/.venv/Lib/site-packages/h11-0.16.0.dist-info/licenses/LICENSE.txt +22 -0
  140. package/python/.venv/Lib/site-packages/h11-0.16.0.dist-info/top_level.txt +1 -0
  141. package/python/.venv/Lib/site-packages/httpcore/__init__.py +141 -0
  142. package/python/.venv/Lib/site-packages/httpcore/__pycache__/__init__.cpython-312.pyc +0 -0
  143. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_api.cpython-312.pyc +0 -0
  144. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_exceptions.cpython-312.pyc +0 -0
  145. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_models.cpython-312.pyc +0 -0
  146. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_ssl.cpython-312.pyc +0 -0
  147. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_synchronization.cpython-312.pyc +0 -0
  148. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_trace.cpython-312.pyc +0 -0
  149. package/python/.venv/Lib/site-packages/httpcore/__pycache__/_utils.cpython-312.pyc +0 -0
  150. package/python/.venv/Lib/site-packages/httpcore/_api.py +94 -0
  151. package/python/.venv/Lib/site-packages/httpcore/_async/__init__.py +39 -0
  152. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/__init__.cpython-312.pyc +0 -0
  153. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/connection.cpython-312.pyc +0 -0
  154. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/connection_pool.cpython-312.pyc +0 -0
  155. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/http11.cpython-312.pyc +0 -0
  156. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/http2.cpython-312.pyc +0 -0
  157. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/http_proxy.cpython-312.pyc +0 -0
  158. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/interfaces.cpython-312.pyc +0 -0
  159. package/python/.venv/Lib/site-packages/httpcore/_async/__pycache__/socks_proxy.cpython-312.pyc +0 -0
  160. package/python/.venv/Lib/site-packages/httpcore/_async/connection.py +222 -0
  161. package/python/.venv/Lib/site-packages/httpcore/_async/connection_pool.py +420 -0
  162. package/python/.venv/Lib/site-packages/httpcore/_async/http11.py +379 -0
  163. package/python/.venv/Lib/site-packages/httpcore/_async/http2.py +592 -0
  164. package/python/.venv/Lib/site-packages/httpcore/_async/http_proxy.py +367 -0
  165. package/python/.venv/Lib/site-packages/httpcore/_async/interfaces.py +137 -0
  166. package/python/.venv/Lib/site-packages/httpcore/_async/socks_proxy.py +341 -0
  167. package/python/.venv/Lib/site-packages/httpcore/_backends/__init__.py +0 -0
  168. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/__init__.cpython-312.pyc +0 -0
  169. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/anyio.cpython-312.pyc +0 -0
  170. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/auto.cpython-312.pyc +0 -0
  171. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/base.cpython-312.pyc +0 -0
  172. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/mock.cpython-312.pyc +0 -0
  173. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/sync.cpython-312.pyc +0 -0
  174. package/python/.venv/Lib/site-packages/httpcore/_backends/__pycache__/trio.cpython-312.pyc +0 -0
  175. package/python/.venv/Lib/site-packages/httpcore/_backends/anyio.py +146 -0
  176. package/python/.venv/Lib/site-packages/httpcore/_backends/auto.py +52 -0
  177. package/python/.venv/Lib/site-packages/httpcore/_backends/base.py +101 -0
  178. package/python/.venv/Lib/site-packages/httpcore/_backends/mock.py +143 -0
  179. package/python/.venv/Lib/site-packages/httpcore/_backends/sync.py +241 -0
  180. package/python/.venv/Lib/site-packages/httpcore/_backends/trio.py +159 -0
  181. package/python/.venv/Lib/site-packages/httpcore/_exceptions.py +81 -0
  182. package/python/.venv/Lib/site-packages/httpcore/_models.py +516 -0
  183. package/python/.venv/Lib/site-packages/httpcore/_ssl.py +9 -0
  184. package/python/.venv/Lib/site-packages/httpcore/_sync/__init__.py +39 -0
  185. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/__init__.cpython-312.pyc +0 -0
  186. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/connection.cpython-312.pyc +0 -0
  187. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/connection_pool.cpython-312.pyc +0 -0
  188. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/http11.cpython-312.pyc +0 -0
  189. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/http2.cpython-312.pyc +0 -0
  190. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/http_proxy.cpython-312.pyc +0 -0
  191. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/interfaces.cpython-312.pyc +0 -0
  192. package/python/.venv/Lib/site-packages/httpcore/_sync/__pycache__/socks_proxy.cpython-312.pyc +0 -0
  193. package/python/.venv/Lib/site-packages/httpcore/_sync/connection.py +222 -0
  194. package/python/.venv/Lib/site-packages/httpcore/_sync/connection_pool.py +420 -0
  195. package/python/.venv/Lib/site-packages/httpcore/_sync/http11.py +379 -0
  196. package/python/.venv/Lib/site-packages/httpcore/_sync/http2.py +592 -0
  197. package/python/.venv/Lib/site-packages/httpcore/_sync/http_proxy.py +367 -0
  198. package/python/.venv/Lib/site-packages/httpcore/_sync/interfaces.py +137 -0
  199. package/python/.venv/Lib/site-packages/httpcore/_sync/socks_proxy.py +341 -0
  200. package/python/.venv/Lib/site-packages/httpcore/_synchronization.py +318 -0
  201. package/python/.venv/Lib/site-packages/httpcore/_trace.py +107 -0
  202. package/python/.venv/Lib/site-packages/httpcore/_utils.py +37 -0
  203. package/python/.venv/Lib/site-packages/httpcore/py.typed +0 -0
  204. package/python/.venv/Lib/site-packages/httpcore-1.0.9.dist-info/INSTALLER +1 -0
  205. package/python/.venv/Lib/site-packages/httpcore-1.0.9.dist-info/METADATA +625 -0
  206. package/python/.venv/Lib/site-packages/httpcore-1.0.9.dist-info/RECORD +68 -0
  207. package/python/.venv/Lib/site-packages/httpcore-1.0.9.dist-info/WHEEL +4 -0
  208. package/python/.venv/Lib/site-packages/httpcore-1.0.9.dist-info/licenses/LICENSE.md +27 -0
  209. package/python/.venv/Lib/site-packages/httpx/__init__.py +105 -0
  210. package/python/.venv/Lib/site-packages/httpx/__pycache__/__init__.cpython-312.pyc +0 -0
  211. package/python/.venv/Lib/site-packages/httpx/__pycache__/__version__.cpython-312.pyc +0 -0
  212. package/python/.venv/Lib/site-packages/httpx/__pycache__/_api.cpython-312.pyc +0 -0
  213. package/python/.venv/Lib/site-packages/httpx/__pycache__/_auth.cpython-312.pyc +0 -0
  214. package/python/.venv/Lib/site-packages/httpx/__pycache__/_client.cpython-312.pyc +0 -0
  215. package/python/.venv/Lib/site-packages/httpx/__pycache__/_config.cpython-312.pyc +0 -0
  216. package/python/.venv/Lib/site-packages/httpx/__pycache__/_content.cpython-312.pyc +0 -0
  217. package/python/.venv/Lib/site-packages/httpx/__pycache__/_decoders.cpython-312.pyc +0 -0
  218. package/python/.venv/Lib/site-packages/httpx/__pycache__/_exceptions.cpython-312.pyc +0 -0
  219. package/python/.venv/Lib/site-packages/httpx/__pycache__/_main.cpython-312.pyc +0 -0
  220. package/python/.venv/Lib/site-packages/httpx/__pycache__/_models.cpython-312.pyc +0 -0
  221. package/python/.venv/Lib/site-packages/httpx/__pycache__/_multipart.cpython-312.pyc +0 -0
  222. package/python/.venv/Lib/site-packages/httpx/__pycache__/_status_codes.cpython-312.pyc +0 -0
  223. package/python/.venv/Lib/site-packages/httpx/__pycache__/_types.cpython-312.pyc +0 -0
  224. package/python/.venv/Lib/site-packages/httpx/__pycache__/_urlparse.cpython-312.pyc +0 -0
  225. package/python/.venv/Lib/site-packages/httpx/__pycache__/_urls.cpython-312.pyc +0 -0
  226. package/python/.venv/Lib/site-packages/httpx/__pycache__/_utils.cpython-312.pyc +0 -0
  227. package/python/.venv/Lib/site-packages/httpx/__version__.py +3 -0
  228. package/python/.venv/Lib/site-packages/httpx/_api.py +438 -0
  229. package/python/.venv/Lib/site-packages/httpx/_auth.py +348 -0
  230. package/python/.venv/Lib/site-packages/httpx/_client.py +2019 -0
  231. package/python/.venv/Lib/site-packages/httpx/_config.py +248 -0
  232. package/python/.venv/Lib/site-packages/httpx/_content.py +240 -0
  233. package/python/.venv/Lib/site-packages/httpx/_decoders.py +393 -0
  234. package/python/.venv/Lib/site-packages/httpx/_exceptions.py +379 -0
  235. package/python/.venv/Lib/site-packages/httpx/_main.py +506 -0
  236. package/python/.venv/Lib/site-packages/httpx/_models.py +1277 -0
  237. package/python/.venv/Lib/site-packages/httpx/_multipart.py +300 -0
  238. package/python/.venv/Lib/site-packages/httpx/_status_codes.py +162 -0
  239. package/python/.venv/Lib/site-packages/httpx/_transports/__init__.py +15 -0
  240. package/python/.venv/Lib/site-packages/httpx/_transports/__pycache__/__init__.cpython-312.pyc +0 -0
  241. package/python/.venv/Lib/site-packages/httpx/_transports/__pycache__/asgi.cpython-312.pyc +0 -0
  242. package/python/.venv/Lib/site-packages/httpx/_transports/__pycache__/base.cpython-312.pyc +0 -0
  243. package/python/.venv/Lib/site-packages/httpx/_transports/__pycache__/default.cpython-312.pyc +0 -0
  244. package/python/.venv/Lib/site-packages/httpx/_transports/__pycache__/mock.cpython-312.pyc +0 -0
  245. package/python/.venv/Lib/site-packages/httpx/_transports/__pycache__/wsgi.cpython-312.pyc +0 -0
  246. package/python/.venv/Lib/site-packages/httpx/_transports/asgi.py +187 -0
  247. package/python/.venv/Lib/site-packages/httpx/_transports/base.py +86 -0
  248. package/python/.venv/Lib/site-packages/httpx/_transports/default.py +406 -0
  249. package/python/.venv/Lib/site-packages/httpx/_transports/mock.py +43 -0
  250. package/python/.venv/Lib/site-packages/httpx/_transports/wsgi.py +149 -0
  251. package/python/.venv/Lib/site-packages/httpx/_types.py +114 -0
  252. package/python/.venv/Lib/site-packages/httpx/_urlparse.py +527 -0
  253. package/python/.venv/Lib/site-packages/httpx/_urls.py +641 -0
  254. package/python/.venv/Lib/site-packages/httpx/_utils.py +242 -0
  255. package/python/.venv/Lib/site-packages/httpx/py.typed +0 -0
  256. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/INSTALLER +1 -0
  257. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/METADATA +203 -0
  258. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/RECORD +55 -0
  259. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/REQUESTED +0 -0
  260. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/WHEEL +4 -0
  261. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/entry_points.txt +2 -0
  262. package/python/.venv/Lib/site-packages/httpx-0.28.1.dist-info/licenses/LICENSE.md +12 -0
  263. package/python/.venv/Lib/site-packages/idna/__init__.py +45 -0
  264. package/python/.venv/Lib/site-packages/idna/__pycache__/__init__.cpython-312.pyc +0 -0
  265. package/python/.venv/Lib/site-packages/idna/__pycache__/codec.cpython-312.pyc +0 -0
  266. package/python/.venv/Lib/site-packages/idna/__pycache__/compat.cpython-312.pyc +0 -0
  267. package/python/.venv/Lib/site-packages/idna/__pycache__/core.cpython-312.pyc +0 -0
  268. package/python/.venv/Lib/site-packages/idna/__pycache__/idnadata.cpython-312.pyc +0 -0
  269. package/python/.venv/Lib/site-packages/idna/__pycache__/intranges.cpython-312.pyc +0 -0
  270. package/python/.venv/Lib/site-packages/idna/__pycache__/package_data.cpython-312.pyc +0 -0
  271. package/python/.venv/Lib/site-packages/idna/__pycache__/uts46data.cpython-312.pyc +0 -0
  272. package/python/.venv/Lib/site-packages/idna/codec.py +159 -0
  273. package/python/.venv/Lib/site-packages/idna/compat.py +41 -0
  274. package/python/.venv/Lib/site-packages/idna/core.py +620 -0
  275. package/python/.venv/Lib/site-packages/idna/idnadata.py +4367 -0
  276. package/python/.venv/Lib/site-packages/idna/intranges.py +56 -0
  277. package/python/.venv/Lib/site-packages/idna/package_data.py +1 -0
  278. package/python/.venv/Lib/site-packages/idna/py.typed +0 -0
  279. package/python/.venv/Lib/site-packages/idna/uts46data.py +8383 -0
  280. package/python/.venv/Lib/site-packages/idna-3.15.dist-info/INSTALLER +1 -0
  281. package/python/.venv/Lib/site-packages/idna-3.15.dist-info/METADATA +194 -0
  282. package/python/.venv/Lib/site-packages/idna-3.15.dist-info/RECORD +22 -0
  283. package/python/.venv/Lib/site-packages/idna-3.15.dist-info/WHEEL +4 -0
  284. package/python/.venv/Lib/site-packages/idna-3.15.dist-info/licenses/LICENSE.md +31 -0
  285. package/python/.venv/Lib/site-packages/pip/__init__.py +13 -0
  286. package/python/.venv/Lib/site-packages/pip/__main__.py +24 -0
  287. package/python/.venv/Lib/site-packages/pip/__pip-runner__.py +50 -0
  288. package/python/.venv/Lib/site-packages/pip/__pycache__/__init__.cpython-312.pyc +0 -0
  289. package/python/.venv/Lib/site-packages/pip/__pycache__/__main__.cpython-312.pyc +0 -0
  290. package/python/.venv/Lib/site-packages/pip/__pycache__/__pip-runner__.cpython-312.pyc +0 -0
  291. package/python/.venv/Lib/site-packages/pip/_internal/__init__.py +18 -0
  292. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/__init__.cpython-312.pyc +0 -0
  293. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/build_env.cpython-312.pyc +0 -0
  294. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/cache.cpython-312.pyc +0 -0
  295. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/configuration.cpython-312.pyc +0 -0
  296. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/exceptions.cpython-312.pyc +0 -0
  297. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/main.cpython-312.pyc +0 -0
  298. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/pyproject.cpython-312.pyc +0 -0
  299. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-312.pyc +0 -0
  300. package/python/.venv/Lib/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-312.pyc +0 -0
  301. package/python/.venv/Lib/site-packages/pip/_internal/build_env.py +322 -0
  302. package/python/.venv/Lib/site-packages/pip/_internal/cache.py +290 -0
  303. package/python/.venv/Lib/site-packages/pip/_internal/cli/__init__.py +4 -0
  304. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  305. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-312.pyc +0 -0
  306. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-312.pyc +0 -0
  307. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-312.pyc +0 -0
  308. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-312.pyc +0 -0
  309. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-312.pyc +0 -0
  310. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/main.cpython-312.pyc +0 -0
  311. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-312.pyc +0 -0
  312. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/parser.cpython-312.pyc +0 -0
  313. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-312.pyc +0 -0
  314. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-312.pyc +0 -0
  315. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-312.pyc +0 -0
  316. package/python/.venv/Lib/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-312.pyc +0 -0
  317. package/python/.venv/Lib/site-packages/pip/_internal/cli/autocompletion.py +176 -0
  318. package/python/.venv/Lib/site-packages/pip/_internal/cli/base_command.py +240 -0
  319. package/python/.venv/Lib/site-packages/pip/_internal/cli/cmdoptions.py +1075 -0
  320. package/python/.venv/Lib/site-packages/pip/_internal/cli/command_context.py +27 -0
  321. package/python/.venv/Lib/site-packages/pip/_internal/cli/index_command.py +171 -0
  322. package/python/.venv/Lib/site-packages/pip/_internal/cli/main.py +80 -0
  323. package/python/.venv/Lib/site-packages/pip/_internal/cli/main_parser.py +134 -0
  324. package/python/.venv/Lib/site-packages/pip/_internal/cli/parser.py +294 -0
  325. package/python/.venv/Lib/site-packages/pip/_internal/cli/progress_bars.py +94 -0
  326. package/python/.venv/Lib/site-packages/pip/_internal/cli/req_command.py +329 -0
  327. package/python/.venv/Lib/site-packages/pip/_internal/cli/spinners.py +159 -0
  328. package/python/.venv/Lib/site-packages/pip/_internal/cli/status_codes.py +6 -0
  329. package/python/.venv/Lib/site-packages/pip/_internal/commands/__init__.py +132 -0
  330. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-312.pyc +0 -0
  331. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/cache.cpython-312.pyc +0 -0
  332. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/check.cpython-312.pyc +0 -0
  333. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/completion.cpython-312.pyc +0 -0
  334. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-312.pyc +0 -0
  335. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/debug.cpython-312.pyc +0 -0
  336. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/download.cpython-312.pyc +0 -0
  337. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-312.pyc +0 -0
  338. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/hash.cpython-312.pyc +0 -0
  339. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/help.cpython-312.pyc +0 -0
  340. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc +0 -0
  341. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-312.pyc +0 -0
  342. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/install.cpython-312.pyc +0 -0
  343. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/list.cpython-312.pyc +0 -0
  344. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/search.cpython-312.pyc +0 -0
  345. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/show.cpython-312.pyc +0 -0
  346. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-312.pyc +0 -0
  347. package/python/.venv/Lib/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-312.pyc +0 -0
  348. package/python/.venv/Lib/site-packages/pip/_internal/commands/cache.py +228 -0
  349. package/python/.venv/Lib/site-packages/pip/_internal/commands/check.py +67 -0
  350. package/python/.venv/Lib/site-packages/pip/_internal/commands/completion.py +130 -0
  351. package/python/.venv/Lib/site-packages/pip/_internal/commands/configuration.py +280 -0
  352. package/python/.venv/Lib/site-packages/pip/_internal/commands/debug.py +201 -0
  353. package/python/.venv/Lib/site-packages/pip/_internal/commands/download.py +146 -0
  354. package/python/.venv/Lib/site-packages/pip/_internal/commands/freeze.py +109 -0
  355. package/python/.venv/Lib/site-packages/pip/_internal/commands/hash.py +59 -0
  356. package/python/.venv/Lib/site-packages/pip/_internal/commands/help.py +41 -0
  357. package/python/.venv/Lib/site-packages/pip/_internal/commands/index.py +139 -0
  358. package/python/.venv/Lib/site-packages/pip/_internal/commands/inspect.py +92 -0
  359. package/python/.venv/Lib/site-packages/pip/_internal/commands/install.py +784 -0
  360. package/python/.venv/Lib/site-packages/pip/_internal/commands/list.py +375 -0
  361. package/python/.venv/Lib/site-packages/pip/_internal/commands/search.py +172 -0
  362. package/python/.venv/Lib/site-packages/pip/_internal/commands/show.py +224 -0
  363. package/python/.venv/Lib/site-packages/pip/_internal/commands/uninstall.py +114 -0
  364. package/python/.venv/Lib/site-packages/pip/_internal/commands/wheel.py +182 -0
  365. package/python/.venv/Lib/site-packages/pip/_internal/configuration.py +383 -0
  366. package/python/.venv/Lib/site-packages/pip/_internal/distributions/__init__.py +21 -0
  367. package/python/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-312.pyc +0 -0
  368. package/python/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/base.cpython-312.pyc +0 -0
  369. package/python/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-312.pyc +0 -0
  370. package/python/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-312.pyc +0 -0
  371. package/python/.venv/Lib/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-312.pyc +0 -0
  372. package/python/.venv/Lib/site-packages/pip/_internal/distributions/base.py +53 -0
  373. package/python/.venv/Lib/site-packages/pip/_internal/distributions/installed.py +29 -0
  374. package/python/.venv/Lib/site-packages/pip/_internal/distributions/sdist.py +158 -0
  375. package/python/.venv/Lib/site-packages/pip/_internal/distributions/wheel.py +42 -0
  376. package/python/.venv/Lib/site-packages/pip/_internal/exceptions.py +809 -0
  377. package/python/.venv/Lib/site-packages/pip/_internal/index/__init__.py +2 -0
  378. package/python/.venv/Lib/site-packages/pip/_internal/index/__pycache__/__init__.cpython-312.pyc +0 -0
  379. package/python/.venv/Lib/site-packages/pip/_internal/index/__pycache__/collector.cpython-312.pyc +0 -0
  380. package/python/.venv/Lib/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-312.pyc +0 -0
  381. package/python/.venv/Lib/site-packages/pip/_internal/index/__pycache__/sources.cpython-312.pyc +0 -0
  382. package/python/.venv/Lib/site-packages/pip/_internal/index/collector.py +494 -0
  383. package/python/.venv/Lib/site-packages/pip/_internal/index/package_finder.py +1029 -0
  384. package/python/.venv/Lib/site-packages/pip/_internal/index/sources.py +284 -0
  385. package/python/.venv/Lib/site-packages/pip/_internal/locations/__init__.py +456 -0
  386. package/python/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-312.pyc +0 -0
  387. package/python/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-312.pyc +0 -0
  388. package/python/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-312.pyc +0 -0
  389. package/python/.venv/Lib/site-packages/pip/_internal/locations/__pycache__/base.cpython-312.pyc +0 -0
  390. package/python/.venv/Lib/site-packages/pip/_internal/locations/_distutils.py +172 -0
  391. package/python/.venv/Lib/site-packages/pip/_internal/locations/_sysconfig.py +214 -0
  392. package/python/.venv/Lib/site-packages/pip/_internal/locations/base.py +81 -0
  393. package/python/.venv/Lib/site-packages/pip/_internal/main.py +12 -0
  394. package/python/.venv/Lib/site-packages/pip/_internal/metadata/__init__.py +128 -0
  395. package/python/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-312.pyc +0 -0
  396. package/python/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-312.pyc +0 -0
  397. package/python/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/base.cpython-312.pyc +0 -0
  398. package/python/.venv/Lib/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-312.pyc +0 -0
  399. package/python/.venv/Lib/site-packages/pip/_internal/metadata/_json.py +86 -0
  400. package/python/.venv/Lib/site-packages/pip/_internal/metadata/base.py +688 -0
  401. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/__init__.py +6 -0
  402. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-312.pyc +0 -0
  403. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-312.pyc +0 -0
  404. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-312.pyc +0 -0
  405. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-312.pyc +0 -0
  406. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/_compat.py +85 -0
  407. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +228 -0
  408. package/python/.venv/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +189 -0
  409. package/python/.venv/Lib/site-packages/pip/_internal/metadata/pkg_resources.py +301 -0
  410. package/python/.venv/Lib/site-packages/pip/_internal/models/__init__.py +2 -0
  411. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/__init__.cpython-312.pyc +0 -0
  412. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/candidate.cpython-312.pyc +0 -0
  413. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-312.pyc +0 -0
  414. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/format_control.cpython-312.pyc +0 -0
  415. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/index.cpython-312.pyc +0 -0
  416. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-312.pyc +0 -0
  417. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/link.cpython-312.pyc +0 -0
  418. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/scheme.cpython-312.pyc +0 -0
  419. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-312.pyc +0 -0
  420. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-312.pyc +0 -0
  421. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/target_python.cpython-312.pyc +0 -0
  422. package/python/.venv/Lib/site-packages/pip/_internal/models/__pycache__/wheel.cpython-312.pyc +0 -0
  423. package/python/.venv/Lib/site-packages/pip/_internal/models/candidate.py +25 -0
  424. package/python/.venv/Lib/site-packages/pip/_internal/models/direct_url.py +224 -0
  425. package/python/.venv/Lib/site-packages/pip/_internal/models/format_control.py +78 -0
  426. package/python/.venv/Lib/site-packages/pip/_internal/models/index.py +28 -0
  427. package/python/.venv/Lib/site-packages/pip/_internal/models/installation_report.py +56 -0
  428. package/python/.venv/Lib/site-packages/pip/_internal/models/link.py +604 -0
  429. package/python/.venv/Lib/site-packages/pip/_internal/models/scheme.py +25 -0
  430. package/python/.venv/Lib/site-packages/pip/_internal/models/search_scope.py +127 -0
  431. package/python/.venv/Lib/site-packages/pip/_internal/models/selection_prefs.py +53 -0
  432. package/python/.venv/Lib/site-packages/pip/_internal/models/target_python.py +121 -0
  433. package/python/.venv/Lib/site-packages/pip/_internal/models/wheel.py +118 -0
  434. package/python/.venv/Lib/site-packages/pip/_internal/network/__init__.py +2 -0
  435. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/__init__.cpython-312.pyc +0 -0
  436. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/auth.cpython-312.pyc +0 -0
  437. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/cache.cpython-312.pyc +0 -0
  438. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/download.cpython-312.pyc +0 -0
  439. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-312.pyc +0 -0
  440. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/session.cpython-312.pyc +0 -0
  441. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/utils.cpython-312.pyc +0 -0
  442. package/python/.venv/Lib/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-312.pyc +0 -0
  443. package/python/.venv/Lib/site-packages/pip/_internal/network/auth.py +566 -0
  444. package/python/.venv/Lib/site-packages/pip/_internal/network/cache.py +118 -0
  445. package/python/.venv/Lib/site-packages/pip/_internal/network/download.py +187 -0
  446. package/python/.venv/Lib/site-packages/pip/_internal/network/lazy_wheel.py +210 -0
  447. package/python/.venv/Lib/site-packages/pip/_internal/network/session.py +523 -0
  448. package/python/.venv/Lib/site-packages/pip/_internal/network/utils.py +98 -0
  449. package/python/.venv/Lib/site-packages/pip/_internal/network/xmlrpc.py +62 -0
  450. package/python/.venv/Lib/site-packages/pip/_internal/operations/__init__.py +0 -0
  451. package/python/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-312.pyc +0 -0
  452. package/python/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/check.cpython-312.pyc +0 -0
  453. package/python/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-312.pyc +0 -0
  454. package/python/.venv/Lib/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-312.pyc +0 -0
  455. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  456. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-312.pyc +0 -0
  457. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-312.pyc +0 -0
  458. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-312.pyc +0 -0
  459. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-312.pyc +0 -0
  460. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-312.pyc +0 -0
  461. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-312.pyc +0 -0
  462. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-312.pyc +0 -0
  463. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-312.pyc +0 -0
  464. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/build_tracker.py +138 -0
  465. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/metadata.py +39 -0
  466. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/metadata_editable.py +42 -0
  467. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/metadata_legacy.py +74 -0
  468. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/wheel.py +37 -0
  469. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/wheel_editable.py +46 -0
  470. package/python/.venv/Lib/site-packages/pip/_internal/operations/build/wheel_legacy.py +102 -0
  471. package/python/.venv/Lib/site-packages/pip/_internal/operations/check.py +181 -0
  472. package/python/.venv/Lib/site-packages/pip/_internal/operations/freeze.py +256 -0
  473. package/python/.venv/Lib/site-packages/pip/_internal/operations/install/__init__.py +2 -0
  474. package/python/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-312.pyc +0 -0
  475. package/python/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-312.pyc +0 -0
  476. package/python/.venv/Lib/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-312.pyc +0 -0
  477. package/python/.venv/Lib/site-packages/pip/_internal/operations/install/editable_legacy.py +47 -0
  478. package/python/.venv/Lib/site-packages/pip/_internal/operations/install/wheel.py +741 -0
  479. package/python/.venv/Lib/site-packages/pip/_internal/operations/prepare.py +732 -0
  480. package/python/.venv/Lib/site-packages/pip/_internal/pyproject.py +185 -0
  481. package/python/.venv/Lib/site-packages/pip/_internal/req/__init__.py +90 -0
  482. package/python/.venv/Lib/site-packages/pip/_internal/req/__pycache__/__init__.cpython-312.pyc +0 -0
  483. package/python/.venv/Lib/site-packages/pip/_internal/req/__pycache__/constructors.cpython-312.pyc +0 -0
  484. package/python/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_file.cpython-312.pyc +0 -0
  485. package/python/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_install.cpython-312.pyc +0 -0
  486. package/python/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_set.cpython-312.pyc +0 -0
  487. package/python/.venv/Lib/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-312.pyc +0 -0
  488. package/python/.venv/Lib/site-packages/pip/_internal/req/constructors.py +560 -0
  489. package/python/.venv/Lib/site-packages/pip/_internal/req/req_file.py +623 -0
  490. package/python/.venv/Lib/site-packages/pip/_internal/req/req_install.py +934 -0
  491. package/python/.venv/Lib/site-packages/pip/_internal/req/req_set.py +82 -0
  492. package/python/.venv/Lib/site-packages/pip/_internal/req/req_uninstall.py +633 -0
  493. package/python/.venv/Lib/site-packages/pip/_internal/resolution/__init__.py +0 -0
  494. package/python/.venv/Lib/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-312.pyc +0 -0
  495. package/python/.venv/Lib/site-packages/pip/_internal/resolution/__pycache__/base.cpython-312.pyc +0 -0
  496. package/python/.venv/Lib/site-packages/pip/_internal/resolution/base.py +20 -0
  497. package/python/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  498. package/python/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-312.pyc +0 -0
  499. package/python/.venv/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-312.pyc +0 -0
  500. package/python/.venv/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +597 -0
  501. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  502. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  503. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-312.pyc +0 -0
  504. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-312.pyc +0 -0
  505. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-312.pyc +0 -0
  506. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-312.pyc +0 -0
  507. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-312.pyc +0 -0
  508. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-312.pyc +0 -0
  509. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-312.pyc +0 -0
  510. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-312.pyc +0 -0
  511. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +139 -0
  512. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +574 -0
  513. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +823 -0
  514. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +174 -0
  515. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +258 -0
  516. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +81 -0
  517. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +245 -0
  518. package/python/.venv/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +317 -0
  519. package/python/.venv/Lib/site-packages/pip/_internal/self_outdated_check.py +252 -0
  520. package/python/.venv/Lib/site-packages/pip/_internal/utils/__init__.py +0 -0
  521. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  522. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-312.pyc +0 -0
  523. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/_log.cpython-312.pyc +0 -0
  524. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-312.pyc +0 -0
  525. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/compat.cpython-312.pyc +0 -0
  526. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-312.pyc +0 -0
  527. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-312.pyc +0 -0
  528. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-312.pyc +0 -0
  529. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-312.pyc +0 -0
  530. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-312.pyc +0 -0
  531. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-312.pyc +0 -0
  532. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-312.pyc +0 -0
  533. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-312.pyc +0 -0
  534. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-312.pyc +0 -0
  535. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-312.pyc +0 -0
  536. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/logging.cpython-312.pyc +0 -0
  537. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/misc.cpython-312.pyc +0 -0
  538. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-312.pyc +0 -0
  539. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/retry.cpython-312.pyc +0 -0
  540. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-312.pyc +0 -0
  541. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-312.pyc +0 -0
  542. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-312.pyc +0 -0
  543. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-312.pyc +0 -0
  544. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/urls.cpython-312.pyc +0 -0
  545. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-312.pyc +0 -0
  546. package/python/.venv/Lib/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-312.pyc +0 -0
  547. package/python/.venv/Lib/site-packages/pip/_internal/utils/_jaraco_text.py +109 -0
  548. package/python/.venv/Lib/site-packages/pip/_internal/utils/_log.py +38 -0
  549. package/python/.venv/Lib/site-packages/pip/_internal/utils/appdirs.py +52 -0
  550. package/python/.venv/Lib/site-packages/pip/_internal/utils/compat.py +79 -0
  551. package/python/.venv/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +188 -0
  552. package/python/.venv/Lib/site-packages/pip/_internal/utils/datetime.py +11 -0
  553. package/python/.venv/Lib/site-packages/pip/_internal/utils/deprecation.py +124 -0
  554. package/python/.venv/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +87 -0
  555. package/python/.venv/Lib/site-packages/pip/_internal/utils/egg_link.py +80 -0
  556. package/python/.venv/Lib/site-packages/pip/_internal/utils/entrypoints.py +84 -0
  557. package/python/.venv/Lib/site-packages/pip/_internal/utils/filesystem.py +149 -0
  558. package/python/.venv/Lib/site-packages/pip/_internal/utils/filetypes.py +27 -0
  559. package/python/.venv/Lib/site-packages/pip/_internal/utils/glibc.py +101 -0
  560. package/python/.venv/Lib/site-packages/pip/_internal/utils/hashes.py +147 -0
  561. package/python/.venv/Lib/site-packages/pip/_internal/utils/logging.py +354 -0
  562. package/python/.venv/Lib/site-packages/pip/_internal/utils/misc.py +773 -0
  563. package/python/.venv/Lib/site-packages/pip/_internal/utils/packaging.py +58 -0
  564. package/python/.venv/Lib/site-packages/pip/_internal/utils/retry.py +42 -0
  565. package/python/.venv/Lib/site-packages/pip/_internal/utils/setuptools_build.py +146 -0
  566. package/python/.venv/Lib/site-packages/pip/_internal/utils/subprocess.py +245 -0
  567. package/python/.venv/Lib/site-packages/pip/_internal/utils/temp_dir.py +296 -0
  568. package/python/.venv/Lib/site-packages/pip/_internal/utils/unpacking.py +337 -0
  569. package/python/.venv/Lib/site-packages/pip/_internal/utils/urls.py +55 -0
  570. package/python/.venv/Lib/site-packages/pip/_internal/utils/virtualenv.py +104 -0
  571. package/python/.venv/Lib/site-packages/pip/_internal/utils/wheel.py +134 -0
  572. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__init__.py +15 -0
  573. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-312.pyc +0 -0
  574. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-312.pyc +0 -0
  575. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/git.cpython-312.pyc +0 -0
  576. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-312.pyc +0 -0
  577. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-312.pyc +0 -0
  578. package/python/.venv/Lib/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-312.pyc +0 -0
  579. package/python/.venv/Lib/site-packages/pip/_internal/vcs/bazaar.py +112 -0
  580. package/python/.venv/Lib/site-packages/pip/_internal/vcs/git.py +527 -0
  581. package/python/.venv/Lib/site-packages/pip/_internal/vcs/mercurial.py +163 -0
  582. package/python/.venv/Lib/site-packages/pip/_internal/vcs/subversion.py +324 -0
  583. package/python/.venv/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +688 -0
  584. package/python/.venv/Lib/site-packages/pip/_internal/wheel_builder.py +354 -0
  585. package/python/.venv/Lib/site-packages/pip/_vendor/__init__.py +116 -0
  586. package/python/.venv/Lib/site-packages/pip/_vendor/__pycache__/__init__.cpython-312.pyc +0 -0
  587. package/python/.venv/Lib/site-packages/pip/_vendor/__pycache__/typing_extensions.cpython-312.pyc +0 -0
  588. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +29 -0
  589. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-312.pyc +0 -0
  590. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-312.pyc +0 -0
  591. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-312.pyc +0 -0
  592. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-312.pyc +0 -0
  593. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-312.pyc +0 -0
  594. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-312.pyc +0 -0
  595. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-312.pyc +0 -0
  596. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-312.pyc +0 -0
  597. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-312.pyc +0 -0
  598. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +70 -0
  599. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +161 -0
  600. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +75 -0
  601. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +8 -0
  602. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-312.pyc +0 -0
  603. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-312.pyc +0 -0
  604. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-312.pyc +0 -0
  605. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +182 -0
  606. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +48 -0
  607. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +500 -0
  608. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +119 -0
  609. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +157 -0
  610. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  611. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +146 -0
  612. package/python/.venv/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +43 -0
  613. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/__init__.py +4 -0
  614. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/__main__.py +12 -0
  615. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-312.pyc +0 -0
  616. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-312.pyc +0 -0
  617. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-312.pyc +0 -0
  618. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/cacert.pem +4929 -0
  619. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/core.py +114 -0
  620. package/python/.venv/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
  621. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__init__.py +33 -0
  622. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-312.pyc +0 -0
  623. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-312.pyc +0 -0
  624. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-312.pyc +0 -0
  625. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-312.pyc +0 -0
  626. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-312.pyc +0 -0
  627. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-312.pyc +0 -0
  628. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-312.pyc +0 -0
  629. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-312.pyc +0 -0
  630. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-312.pyc +0 -0
  631. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-312.pyc +0 -0
  632. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-312.pyc +0 -0
  633. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-312.pyc +0 -0
  634. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-312.pyc +0 -0
  635. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/compat.py +1137 -0
  636. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/database.py +1329 -0
  637. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/index.py +508 -0
  638. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/locators.py +1295 -0
  639. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/manifest.py +384 -0
  640. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/markers.py +162 -0
  641. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/metadata.py +1031 -0
  642. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/resources.py +358 -0
  643. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/scripts.py +447 -0
  644. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  645. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/t64-arm.exe +0 -0
  646. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  647. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/util.py +1984 -0
  648. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/version.py +750 -0
  649. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  650. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/w64-arm.exe +0 -0
  651. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  652. package/python/.venv/Lib/site-packages/pip/_vendor/distlib/wheel.py +1100 -0
  653. package/python/.venv/Lib/site-packages/pip/_vendor/distro/__init__.py +54 -0
  654. package/python/.venv/Lib/site-packages/pip/_vendor/distro/__main__.py +4 -0
  655. package/python/.venv/Lib/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-312.pyc +0 -0
  656. package/python/.venv/Lib/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-312.pyc +0 -0
  657. package/python/.venv/Lib/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-312.pyc +0 -0
  658. package/python/.venv/Lib/site-packages/pip/_vendor/distro/distro.py +1403 -0
  659. package/python/.venv/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
  660. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__init__.py +45 -0
  661. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-312.pyc +0 -0
  662. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-312.pyc +0 -0
  663. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-312.pyc +0 -0
  664. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/core.cpython-312.pyc +0 -0
  665. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-312.pyc +0 -0
  666. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-312.pyc +0 -0
  667. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-312.pyc +0 -0
  668. package/python/.venv/Lib/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-312.pyc +0 -0
  669. package/python/.venv/Lib/site-packages/pip/_vendor/idna/codec.py +122 -0
  670. package/python/.venv/Lib/site-packages/pip/_vendor/idna/compat.py +15 -0
  671. package/python/.venv/Lib/site-packages/pip/_vendor/idna/core.py +437 -0
  672. package/python/.venv/Lib/site-packages/pip/_vendor/idna/idnadata.py +4243 -0
  673. package/python/.venv/Lib/site-packages/pip/_vendor/idna/intranges.py +57 -0
  674. package/python/.venv/Lib/site-packages/pip/_vendor/idna/package_data.py +1 -0
  675. package/python/.venv/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
  676. package/python/.venv/Lib/site-packages/pip/_vendor/idna/uts46data.py +8681 -0
  677. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/__init__.py +55 -0
  678. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-312.pyc +0 -0
  679. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-312.pyc +0 -0
  680. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-312.pyc +0 -0
  681. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-312.pyc +0 -0
  682. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
  683. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/ext.py +170 -0
  684. package/python/.venv/Lib/site-packages/pip/_vendor/msgpack/fallback.py +929 -0
  685. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__init__.py +15 -0
  686. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  687. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
  688. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  689. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  690. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
  691. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  692. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
  693. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  694. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/metadata.cpython-312.pyc +0 -0
  695. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  696. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  697. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  698. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  699. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
  700. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/_elffile.py +110 -0
  701. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/_manylinux.py +263 -0
  702. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/_musllinux.py +85 -0
  703. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/_parser.py +354 -0
  704. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/_structures.py +61 -0
  705. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/_tokenizer.py +194 -0
  706. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/licenses/__init__.py +145 -0
  707. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/licenses/__pycache__/__init__.cpython-312.pyc +0 -0
  708. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/licenses/__pycache__/_spdx.cpython-312.pyc +0 -0
  709. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/licenses/_spdx.py +759 -0
  710. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/markers.py +331 -0
  711. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/metadata.py +863 -0
  712. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
  713. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/requirements.py +91 -0
  714. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/specifiers.py +1020 -0
  715. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/tags.py +617 -0
  716. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/utils.py +163 -0
  717. package/python/.venv/Lib/site-packages/pip/_vendor/packaging/version.py +582 -0
  718. package/python/.venv/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +3676 -0
  719. package/python/.venv/Lib/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-312.pyc +0 -0
  720. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +631 -0
  721. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +55 -0
  722. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc +0 -0
  723. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc +0 -0
  724. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-312.pyc +0 -0
  725. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-312.pyc +0 -0
  726. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc +0 -0
  727. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc +0 -0
  728. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-312.pyc +0 -0
  729. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc +0 -0
  730. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/android.py +249 -0
  731. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/api.py +298 -0
  732. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/macos.py +144 -0
  733. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  734. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/unix.py +269 -0
  735. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/version.py +16 -0
  736. package/python/.venv/Lib/site-packages/pip/_vendor/platformdirs/windows.py +272 -0
  737. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__init__.py +82 -0
  738. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__main__.py +17 -0
  739. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-312.pyc +0 -0
  740. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-312.pyc +0 -0
  741. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/cmdline.cpython-312.pyc +0 -0
  742. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-312.pyc +0 -0
  743. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-312.pyc +0 -0
  744. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-312.pyc +0 -0
  745. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-312.pyc +0 -0
  746. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-312.pyc +0 -0
  747. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-312.pyc +0 -0
  748. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-312.pyc +0 -0
  749. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-312.pyc +0 -0
  750. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-312.pyc +0 -0
  751. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-312.pyc +0 -0
  752. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-312.pyc +0 -0
  753. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-312.pyc +0 -0
  754. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-312.pyc +0 -0
  755. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/cmdline.py +668 -0
  756. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/console.py +70 -0
  757. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/filter.py +70 -0
  758. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +940 -0
  759. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-312.pyc +0 -0
  760. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatter.py +129 -0
  761. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +157 -0
  762. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-312.pyc +0 -0
  763. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-312.pyc +0 -0
  764. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/bbcode.cpython-312.pyc +0 -0
  765. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/groff.cpython-312.pyc +0 -0
  766. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/html.cpython-312.pyc +0 -0
  767. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/img.cpython-312.pyc +0 -0
  768. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/irc.cpython-312.pyc +0 -0
  769. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/latex.cpython-312.pyc +0 -0
  770. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/other.cpython-312.pyc +0 -0
  771. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/pangomarkup.cpython-312.pyc +0 -0
  772. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/rtf.cpython-312.pyc +0 -0
  773. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/svg.cpython-312.pyc +0 -0
  774. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal.cpython-312.pyc +0 -0
  775. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal256.cpython-312.pyc +0 -0
  776. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/_mapping.py +23 -0
  777. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/bbcode.py +108 -0
  778. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/groff.py +170 -0
  779. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/html.py +987 -0
  780. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/img.py +685 -0
  781. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/irc.py +154 -0
  782. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/latex.py +518 -0
  783. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/other.py +160 -0
  784. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +83 -0
  785. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/rtf.py +349 -0
  786. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/svg.py +185 -0
  787. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/terminal.py +127 -0
  788. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/formatters/terminal256.py +338 -0
  789. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexer.py +963 -0
  790. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +362 -0
  791. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-312.pyc +0 -0
  792. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-312.pyc +0 -0
  793. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-312.pyc +0 -0
  794. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +589 -0
  795. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +1198 -0
  796. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/modeline.py +43 -0
  797. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/plugin.py +72 -0
  798. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/regexopt.py +91 -0
  799. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/scanner.py +104 -0
  800. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +247 -0
  801. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/style.py +203 -0
  802. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +61 -0
  803. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-312.pyc +0 -0
  804. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/styles/__pycache__/_mapping.cpython-312.pyc +0 -0
  805. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/styles/_mapping.py +54 -0
  806. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/token.py +214 -0
  807. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/unistring.py +153 -0
  808. package/python/.venv/Lib/site-packages/pip/_vendor/pygments/util.py +324 -0
  809. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/__init__.py +31 -0
  810. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-312.pyc +0 -0
  811. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-312.pyc +0 -0
  812. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_impl.py +410 -0
  813. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +21 -0
  814. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-312.pyc +0 -0
  815. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-312.pyc +0 -0
  816. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +389 -0
  817. package/python/.venv/Lib/site-packages/pip/_vendor/pyproject_hooks/py.typed +0 -0
  818. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__init__.py +179 -0
  819. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-312.pyc +0 -0
  820. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-312.pyc +0 -0
  821. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-312.pyc +0 -0
  822. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-312.pyc +0 -0
  823. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/api.cpython-312.pyc +0 -0
  824. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-312.pyc +0 -0
  825. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-312.pyc +0 -0
  826. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-312.pyc +0 -0
  827. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-312.pyc +0 -0
  828. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-312.pyc +0 -0
  829. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/help.cpython-312.pyc +0 -0
  830. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-312.pyc +0 -0
  831. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/models.cpython-312.pyc +0 -0
  832. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-312.pyc +0 -0
  833. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-312.pyc +0 -0
  834. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-312.pyc +0 -0
  835. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-312.pyc +0 -0
  836. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-312.pyc +0 -0
  837. package/python/.venv/Lib/site-packages/pip/_vendor/requests/__version__.py +14 -0
  838. package/python/.venv/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +50 -0
  839. package/python/.venv/Lib/site-packages/pip/_vendor/requests/adapters.py +719 -0
  840. package/python/.venv/Lib/site-packages/pip/_vendor/requests/api.py +157 -0
  841. package/python/.venv/Lib/site-packages/pip/_vendor/requests/auth.py +314 -0
  842. package/python/.venv/Lib/site-packages/pip/_vendor/requests/certs.py +17 -0
  843. package/python/.venv/Lib/site-packages/pip/_vendor/requests/compat.py +78 -0
  844. package/python/.venv/Lib/site-packages/pip/_vendor/requests/cookies.py +561 -0
  845. package/python/.venv/Lib/site-packages/pip/_vendor/requests/exceptions.py +151 -0
  846. package/python/.venv/Lib/site-packages/pip/_vendor/requests/help.py +127 -0
  847. package/python/.venv/Lib/site-packages/pip/_vendor/requests/hooks.py +33 -0
  848. package/python/.venv/Lib/site-packages/pip/_vendor/requests/models.py +1037 -0
  849. package/python/.venv/Lib/site-packages/pip/_vendor/requests/packages.py +25 -0
  850. package/python/.venv/Lib/site-packages/pip/_vendor/requests/sessions.py +831 -0
  851. package/python/.venv/Lib/site-packages/pip/_vendor/requests/status_codes.py +128 -0
  852. package/python/.venv/Lib/site-packages/pip/_vendor/requests/structures.py +99 -0
  853. package/python/.venv/Lib/site-packages/pip/_vendor/requests/utils.py +1096 -0
  854. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +26 -0
  855. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  856. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-312.pyc +0 -0
  857. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-312.pyc +0 -0
  858. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-312.pyc +0 -0
  859. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-312.pyc +0 -0
  860. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  861. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  862. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-312.pyc +0 -0
  863. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +6 -0
  864. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/providers.py +133 -0
  865. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  866. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +43 -0
  867. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers.py +547 -0
  868. package/python/.venv/Lib/site-packages/pip/_vendor/resolvelib/structs.py +170 -0
  869. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__init__.py +177 -0
  870. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__main__.py +273 -0
  871. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-312.pyc +0 -0
  872. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-312.pyc +0 -0
  873. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-312.pyc +0 -0
  874. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-312.pyc +0 -0
  875. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-312.pyc +0 -0
  876. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-312.pyc +0 -0
  877. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-312.pyc +0 -0
  878. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-312.pyc +0 -0
  879. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-312.pyc +0 -0
  880. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-312.pyc +0 -0
  881. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-312.pyc +0 -0
  882. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-312.pyc +0 -0
  883. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-312.pyc +0 -0
  884. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-312.pyc +0 -0
  885. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-312.pyc +0 -0
  886. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-312.pyc +0 -0
  887. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-312.pyc +0 -0
  888. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-312.pyc +0 -0
  889. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-312.pyc +0 -0
  890. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-312.pyc +0 -0
  891. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-312.pyc +0 -0
  892. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-312.pyc +0 -0
  893. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-312.pyc +0 -0
  894. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/align.cpython-312.pyc +0 -0
  895. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-312.pyc +0 -0
  896. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-312.pyc +0 -0
  897. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/box.cpython-312.pyc +0 -0
  898. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-312.pyc +0 -0
  899. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/color.cpython-312.pyc +0 -0
  900. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-312.pyc +0 -0
  901. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-312.pyc +0 -0
  902. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/console.cpython-312.pyc +0 -0
  903. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-312.pyc +0 -0
  904. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-312.pyc +0 -0
  905. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/control.cpython-312.pyc +0 -0
  906. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-312.pyc +0 -0
  907. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-312.pyc +0 -0
  908. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-312.pyc +0 -0
  909. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-312.pyc +0 -0
  910. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-312.pyc +0 -0
  911. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-312.pyc +0 -0
  912. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-312.pyc +0 -0
  913. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/json.cpython-312.pyc +0 -0
  914. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-312.pyc +0 -0
  915. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-312.pyc +0 -0
  916. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/live.cpython-312.pyc +0 -0
  917. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-312.pyc +0 -0
  918. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-312.pyc +0 -0
  919. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-312.pyc +0 -0
  920. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-312.pyc +0 -0
  921. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-312.pyc +0 -0
  922. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-312.pyc +0 -0
  923. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-312.pyc +0 -0
  924. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-312.pyc +0 -0
  925. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-312.pyc +0 -0
  926. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-312.pyc +0 -0
  927. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-312.pyc +0 -0
  928. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-312.pyc +0 -0
  929. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-312.pyc +0 -0
  930. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/region.cpython-312.pyc +0 -0
  931. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-312.pyc +0 -0
  932. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-312.pyc +0 -0
  933. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-312.pyc +0 -0
  934. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-312.pyc +0 -0
  935. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-312.pyc +0 -0
  936. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-312.pyc +0 -0
  937. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/status.cpython-312.pyc +0 -0
  938. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/style.cpython-312.pyc +0 -0
  939. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-312.pyc +0 -0
  940. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-312.pyc +0 -0
  941. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/table.cpython-312.pyc +0 -0
  942. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-312.pyc +0 -0
  943. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/text.cpython-312.pyc +0 -0
  944. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-312.pyc +0 -0
  945. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-312.pyc +0 -0
  946. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-312.pyc +0 -0
  947. package/python/.venv/Lib/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-312.pyc +0 -0
  948. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_cell_widths.py +454 -0
  949. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_emoji_codes.py +3610 -0
  950. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_emoji_replace.py +32 -0
  951. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_export_format.py +76 -0
  952. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_extension.py +10 -0
  953. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_fileno.py +24 -0
  954. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_inspect.py +268 -0
  955. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_log_render.py +94 -0
  956. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_loop.py +43 -0
  957. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_null_file.py +69 -0
  958. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_palettes.py +309 -0
  959. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_pick.py +17 -0
  960. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_ratio.py +159 -0
  961. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_spinners.py +482 -0
  962. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_stack.py +16 -0
  963. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_timer.py +19 -0
  964. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_win32_console.py +661 -0
  965. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_windows.py +71 -0
  966. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_windows_renderer.py +56 -0
  967. package/python/.venv/Lib/site-packages/pip/_vendor/rich/_wrap.py +93 -0
  968. package/python/.venv/Lib/site-packages/pip/_vendor/rich/abc.py +33 -0
  969. package/python/.venv/Lib/site-packages/pip/_vendor/rich/align.py +312 -0
  970. package/python/.venv/Lib/site-packages/pip/_vendor/rich/ansi.py +241 -0
  971. package/python/.venv/Lib/site-packages/pip/_vendor/rich/bar.py +93 -0
  972. package/python/.venv/Lib/site-packages/pip/_vendor/rich/box.py +480 -0
  973. package/python/.venv/Lib/site-packages/pip/_vendor/rich/cells.py +174 -0
  974. package/python/.venv/Lib/site-packages/pip/_vendor/rich/color.py +621 -0
  975. package/python/.venv/Lib/site-packages/pip/_vendor/rich/color_triplet.py +38 -0
  976. package/python/.venv/Lib/site-packages/pip/_vendor/rich/columns.py +187 -0
  977. package/python/.venv/Lib/site-packages/pip/_vendor/rich/console.py +2661 -0
  978. package/python/.venv/Lib/site-packages/pip/_vendor/rich/constrain.py +37 -0
  979. package/python/.venv/Lib/site-packages/pip/_vendor/rich/containers.py +167 -0
  980. package/python/.venv/Lib/site-packages/pip/_vendor/rich/control.py +225 -0
  981. package/python/.venv/Lib/site-packages/pip/_vendor/rich/default_styles.py +191 -0
  982. package/python/.venv/Lib/site-packages/pip/_vendor/rich/diagnose.py +37 -0
  983. package/python/.venv/Lib/site-packages/pip/_vendor/rich/emoji.py +96 -0
  984. package/python/.venv/Lib/site-packages/pip/_vendor/rich/errors.py +34 -0
  985. package/python/.venv/Lib/site-packages/pip/_vendor/rich/file_proxy.py +57 -0
  986. package/python/.venv/Lib/site-packages/pip/_vendor/rich/filesize.py +88 -0
  987. package/python/.venv/Lib/site-packages/pip/_vendor/rich/highlighter.py +232 -0
  988. package/python/.venv/Lib/site-packages/pip/_vendor/rich/json.py +139 -0
  989. package/python/.venv/Lib/site-packages/pip/_vendor/rich/jupyter.py +101 -0
  990. package/python/.venv/Lib/site-packages/pip/_vendor/rich/layout.py +442 -0
  991. package/python/.venv/Lib/site-packages/pip/_vendor/rich/live.py +375 -0
  992. package/python/.venv/Lib/site-packages/pip/_vendor/rich/live_render.py +112 -0
  993. package/python/.venv/Lib/site-packages/pip/_vendor/rich/logging.py +297 -0
  994. package/python/.venv/Lib/site-packages/pip/_vendor/rich/markup.py +251 -0
  995. package/python/.venv/Lib/site-packages/pip/_vendor/rich/measure.py +151 -0
  996. package/python/.venv/Lib/site-packages/pip/_vendor/rich/padding.py +141 -0
  997. package/python/.venv/Lib/site-packages/pip/_vendor/rich/pager.py +34 -0
  998. package/python/.venv/Lib/site-packages/pip/_vendor/rich/palette.py +100 -0
  999. package/python/.venv/Lib/site-packages/pip/_vendor/rich/panel.py +318 -0
  1000. package/python/.venv/Lib/site-packages/pip/_vendor/rich/pretty.py +1016 -0
  1001. package/python/.venv/Lib/site-packages/pip/_vendor/rich/progress.py +1715 -0
  1002. package/python/.venv/Lib/site-packages/pip/_vendor/rich/progress_bar.py +223 -0
  1003. package/python/.venv/Lib/site-packages/pip/_vendor/rich/prompt.py +400 -0
  1004. package/python/.venv/Lib/site-packages/pip/_vendor/rich/protocol.py +42 -0
  1005. package/python/.venv/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
  1006. package/python/.venv/Lib/site-packages/pip/_vendor/rich/region.py +10 -0
  1007. package/python/.venv/Lib/site-packages/pip/_vendor/rich/repr.py +149 -0
  1008. package/python/.venv/Lib/site-packages/pip/_vendor/rich/rule.py +130 -0
  1009. package/python/.venv/Lib/site-packages/pip/_vendor/rich/scope.py +86 -0
  1010. package/python/.venv/Lib/site-packages/pip/_vendor/rich/screen.py +54 -0
  1011. package/python/.venv/Lib/site-packages/pip/_vendor/rich/segment.py +752 -0
  1012. package/python/.venv/Lib/site-packages/pip/_vendor/rich/spinner.py +138 -0
  1013. package/python/.venv/Lib/site-packages/pip/_vendor/rich/status.py +131 -0
  1014. package/python/.venv/Lib/site-packages/pip/_vendor/rich/style.py +796 -0
  1015. package/python/.venv/Lib/site-packages/pip/_vendor/rich/styled.py +42 -0
  1016. package/python/.venv/Lib/site-packages/pip/_vendor/rich/syntax.py +966 -0
  1017. package/python/.venv/Lib/site-packages/pip/_vendor/rich/table.py +1007 -0
  1018. package/python/.venv/Lib/site-packages/pip/_vendor/rich/terminal_theme.py +153 -0
  1019. package/python/.venv/Lib/site-packages/pip/_vendor/rich/text.py +1361 -0
  1020. package/python/.venv/Lib/site-packages/pip/_vendor/rich/theme.py +115 -0
  1021. package/python/.venv/Lib/site-packages/pip/_vendor/rich/themes.py +5 -0
  1022. package/python/.venv/Lib/site-packages/pip/_vendor/rich/traceback.py +797 -0
  1023. package/python/.venv/Lib/site-packages/pip/_vendor/rich/tree.py +257 -0
  1024. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/__init__.py +8 -0
  1025. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-312.pyc +0 -0
  1026. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-312.pyc +0 -0
  1027. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-312.pyc +0 -0
  1028. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-312.pyc +0 -0
  1029. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/_parser.py +770 -0
  1030. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/_re.py +112 -0
  1031. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/_types.py +10 -0
  1032. package/python/.venv/Lib/site-packages/pip/_vendor/tomli/py.typed +1 -0
  1033. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__init__.py +36 -0
  1034. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-312.pyc +0 -0
  1035. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-312.pyc +0 -0
  1036. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-312.pyc +0 -0
  1037. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-312.pyc +0 -0
  1038. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-312.pyc +0 -0
  1039. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-312.pyc +0 -0
  1040. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/_api.py +316 -0
  1041. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/_macos.py +571 -0
  1042. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/_openssl.py +66 -0
  1043. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/_ssl_constants.py +31 -0
  1044. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/_windows.py +567 -0
  1045. package/python/.venv/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
  1046. package/python/.venv/Lib/site-packages/pip/_vendor/typing_extensions.py +3641 -0
  1047. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__init__.py +102 -0
  1048. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-312.pyc +0 -0
  1049. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-312.pyc +0 -0
  1050. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-312.pyc +0 -0
  1051. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-312.pyc +0 -0
  1052. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-312.pyc +0 -0
  1053. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-312.pyc +0 -0
  1054. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-312.pyc +0 -0
  1055. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-312.pyc +0 -0
  1056. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-312.pyc +0 -0
  1057. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-312.pyc +0 -0
  1058. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-312.pyc +0 -0
  1059. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/_collections.py +355 -0
  1060. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/_version.py +2 -0
  1061. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/connection.py +572 -0
  1062. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +1140 -0
  1063. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  1064. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-312.pyc +0 -0
  1065. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-312.pyc +0 -0
  1066. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-312.pyc +0 -0
  1067. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-312.pyc +0 -0
  1068. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-312.pyc +0 -0
  1069. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-312.pyc +0 -0
  1070. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-312.pyc +0 -0
  1071. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +36 -0
  1072. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  1073. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-312.pyc +0 -0
  1074. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-312.pyc +0 -0
  1075. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-312.pyc +0 -0
  1076. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +519 -0
  1077. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +397 -0
  1078. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +314 -0
  1079. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +130 -0
  1080. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +518 -0
  1081. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +920 -0
  1082. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +216 -0
  1083. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +323 -0
  1084. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/fields.py +274 -0
  1085. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/filepost.py +98 -0
  1086. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  1087. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-312.pyc +0 -0
  1088. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-312.pyc +0 -0
  1089. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  1090. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-312.pyc +0 -0
  1091. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-312.pyc +0 -0
  1092. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/weakref_finalize.cpython-312.pyc +0 -0
  1093. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +51 -0
  1094. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +155 -0
  1095. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +1076 -0
  1096. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +540 -0
  1097. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/request.py +191 -0
  1098. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/response.py +879 -0
  1099. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +49 -0
  1100. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-312.pyc +0 -0
  1101. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-312.pyc +0 -0
  1102. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-312.pyc +0 -0
  1103. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-312.pyc +0 -0
  1104. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-312.pyc +0 -0
  1105. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-312.pyc +0 -0
  1106. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-312.pyc +0 -0
  1107. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-312.pyc +0 -0
  1108. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-312.pyc +0 -0
  1109. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-312.pyc +0 -0
  1110. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-312.pyc +0 -0
  1111. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-312.pyc +0 -0
  1112. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-312.pyc +0 -0
  1113. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +149 -0
  1114. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +57 -0
  1115. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +22 -0
  1116. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/request.py +137 -0
  1117. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/response.py +107 -0
  1118. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +622 -0
  1119. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +504 -0
  1120. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +159 -0
  1121. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +221 -0
  1122. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +271 -0
  1123. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/url.py +435 -0
  1124. package/python/.venv/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +152 -0
  1125. package/python/.venv/Lib/site-packages/pip/_vendor/vendor.txt +18 -0
  1126. package/python/.venv/Lib/site-packages/pip/py.typed +4 -0
  1127. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/AUTHORS.txt +806 -0
  1128. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/INSTALLER +1 -0
  1129. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/LICENSE.txt +20 -0
  1130. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/METADATA +90 -0
  1131. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/RECORD +854 -0
  1132. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/REQUESTED +0 -0
  1133. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/WHEEL +5 -0
  1134. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/entry_points.txt +3 -0
  1135. package/python/.venv/Lib/site-packages/pip-25.0.1.dist-info/top_level.txt +1 -0
  1136. package/python/.venv/Lib/site-packages/typing_extensions-4.15.0.dist-info/INSTALLER +1 -0
  1137. package/python/.venv/Lib/site-packages/typing_extensions-4.15.0.dist-info/METADATA +72 -0
  1138. package/python/.venv/Lib/site-packages/typing_extensions-4.15.0.dist-info/RECORD +7 -0
  1139. package/python/.venv/Lib/site-packages/typing_extensions-4.15.0.dist-info/WHEEL +4 -0
  1140. package/python/.venv/Lib/site-packages/typing_extensions-4.15.0.dist-info/licenses/LICENSE +279 -0
  1141. package/python/.venv/Lib/site-packages/typing_extensions.py +4317 -0
  1142. package/python/.venv/Scripts/Activate.ps1 +528 -0
  1143. package/python/.venv/Scripts/activate +76 -0
  1144. package/python/.venv/Scripts/activate.bat +34 -0
  1145. package/python/.venv/Scripts/deactivate.bat +22 -0
  1146. package/python/.venv/Scripts/httpx.exe +0 -0
  1147. package/python/.venv/Scripts/pip.exe +0 -0
  1148. package/python/.venv/Scripts/pip3.12.exe +0 -0
  1149. package/python/.venv/Scripts/pip3.exe +0 -0
  1150. package/python/.venv/Scripts/python.exe +0 -0
  1151. package/python/.venv/Scripts/pythonw.exe +0 -0
  1152. package/python/.venv/pyvenv.cfg +5 -0
  1153. package/python/__pycache__/builder.cpython-312.pyc +0 -0
  1154. package/python/__pycache__/config.cpython-312.pyc +0 -0
  1155. package/python/builder.py +225 -0
  1156. package/python/cli.py +787 -0
  1157. package/python/config.py +82 -0
  1158. package/scripts/runner.js +145 -0
@@ -0,0 +1,1003 @@
1
+ from __future__ import annotations
2
+
3
+ import errno
4
+ import os
5
+ import socket
6
+ import ssl
7
+ import stat
8
+ import sys
9
+ from collections.abc import Awaitable
10
+ from dataclasses import dataclass
11
+ from ipaddress import IPv4Address, IPv6Address, ip_address
12
+ from os import PathLike, chmod
13
+ from socket import AddressFamily, SocketKind
14
+ from typing import TYPE_CHECKING, Any, Literal, cast, overload
15
+
16
+ from .. import ConnectionFailed, to_thread
17
+ from ..abc import (
18
+ ByteStreamConnectable,
19
+ ConnectedUDPSocket,
20
+ ConnectedUNIXDatagramSocket,
21
+ IPAddressType,
22
+ IPSockAddrType,
23
+ SocketListener,
24
+ SocketStream,
25
+ UDPSocket,
26
+ UNIXDatagramSocket,
27
+ UNIXSocketStream,
28
+ )
29
+ from ..streams.stapled import MultiListener
30
+ from ..streams.tls import TLSConnectable, TLSStream
31
+ from ._eventloop import get_async_backend
32
+ from ._resources import aclose_forcefully
33
+ from ._synchronization import Event
34
+ from ._tasks import create_task_group, move_on_after
35
+
36
+ if TYPE_CHECKING:
37
+ from _typeshed import FileDescriptorLike
38
+ else:
39
+ FileDescriptorLike = object
40
+
41
+ if sys.version_info < (3, 11):
42
+ from exceptiongroup import ExceptionGroup
43
+
44
+ if sys.version_info >= (3, 12):
45
+ from typing import override
46
+ else:
47
+ from typing_extensions import override
48
+
49
+ if sys.version_info < (3, 13):
50
+ from typing_extensions import deprecated
51
+ else:
52
+ from warnings import deprecated
53
+
54
+ IPPROTO_IPV6 = getattr(socket, "IPPROTO_IPV6", 41) # https://bugs.python.org/issue29515
55
+
56
+ AnyIPAddressFamily = Literal[
57
+ AddressFamily.AF_UNSPEC, AddressFamily.AF_INET, AddressFamily.AF_INET6
58
+ ]
59
+ IPAddressFamily = Literal[AddressFamily.AF_INET, AddressFamily.AF_INET6]
60
+
61
+
62
+ # tls_hostname given
63
+ @overload
64
+ async def connect_tcp(
65
+ remote_host: IPAddressType,
66
+ remote_port: int,
67
+ *,
68
+ local_host: IPAddressType | None = ...,
69
+ ssl_context: ssl.SSLContext | None = ...,
70
+ tls_standard_compatible: bool = ...,
71
+ tls_hostname: str,
72
+ happy_eyeballs_delay: float = ...,
73
+ ) -> TLSStream: ...
74
+
75
+
76
+ # ssl_context given
77
+ @overload
78
+ async def connect_tcp(
79
+ remote_host: IPAddressType,
80
+ remote_port: int,
81
+ *,
82
+ local_host: IPAddressType | None = ...,
83
+ ssl_context: ssl.SSLContext,
84
+ tls_standard_compatible: bool = ...,
85
+ tls_hostname: str | None = ...,
86
+ happy_eyeballs_delay: float = ...,
87
+ ) -> TLSStream: ...
88
+
89
+
90
+ # tls=True
91
+ @overload
92
+ async def connect_tcp(
93
+ remote_host: IPAddressType,
94
+ remote_port: int,
95
+ *,
96
+ local_host: IPAddressType | None = ...,
97
+ tls: Literal[True],
98
+ ssl_context: ssl.SSLContext | None = ...,
99
+ tls_standard_compatible: bool = ...,
100
+ tls_hostname: str | None = ...,
101
+ happy_eyeballs_delay: float = ...,
102
+ ) -> TLSStream: ...
103
+
104
+
105
+ # tls=False
106
+ @overload
107
+ async def connect_tcp(
108
+ remote_host: IPAddressType,
109
+ remote_port: int,
110
+ *,
111
+ local_host: IPAddressType | None = ...,
112
+ tls: Literal[False],
113
+ ssl_context: ssl.SSLContext | None = ...,
114
+ tls_standard_compatible: bool = ...,
115
+ tls_hostname: str | None = ...,
116
+ happy_eyeballs_delay: float = ...,
117
+ ) -> SocketStream: ...
118
+
119
+
120
+ # No TLS arguments
121
+ @overload
122
+ async def connect_tcp(
123
+ remote_host: IPAddressType,
124
+ remote_port: int,
125
+ *,
126
+ local_host: IPAddressType | None = ...,
127
+ happy_eyeballs_delay: float = ...,
128
+ ) -> SocketStream: ...
129
+
130
+
131
+ async def connect_tcp(
132
+ remote_host: IPAddressType,
133
+ remote_port: int,
134
+ *,
135
+ local_host: IPAddressType | None = None,
136
+ tls: bool = False,
137
+ ssl_context: ssl.SSLContext | None = None,
138
+ tls_standard_compatible: bool = True,
139
+ tls_hostname: str | None = None,
140
+ happy_eyeballs_delay: float = 0.25,
141
+ ) -> SocketStream | TLSStream:
142
+ """
143
+ Connect to a host using the TCP protocol.
144
+
145
+ This function implements the stateless version of the Happy Eyeballs algorithm (RFC
146
+ 6555). If ``remote_host`` is a host name that resolves to multiple IP addresses,
147
+ each one is tried until one connection attempt succeeds. If the first attempt does
148
+ not connected within 250 milliseconds, a second attempt is started using the next
149
+ address in the list, and so on. On IPv6 enabled systems, an IPv6 address (if
150
+ available) is tried first.
151
+
152
+ When the connection has been established, a TLS handshake will be done if either
153
+ ``ssl_context`` or ``tls_hostname`` is not ``None``, or if ``tls`` is ``True``.
154
+
155
+ :param remote_host: the IP address or host name to connect to
156
+ :param remote_port: port on the target host to connect to
157
+ :param local_host: the interface address or name to bind the socket to before
158
+ connecting
159
+ :param tls: ``True`` to do a TLS handshake with the connected stream and return a
160
+ :class:`~anyio.streams.tls.TLSStream` instead
161
+ :param ssl_context: the SSL context object to use (if omitted, a default context is
162
+ created)
163
+ :param tls_standard_compatible: If ``True``, performs the TLS shutdown handshake
164
+ before closing the stream and requires that the server does this as well.
165
+ Otherwise, :exc:`~ssl.SSLEOFError` may be raised during reads from the stream.
166
+ Some protocols, such as HTTP, require this option to be ``False``.
167
+ See :meth:`~ssl.SSLContext.wrap_socket` for details.
168
+ :param tls_hostname: host name to check the server certificate against (defaults to
169
+ the value of ``remote_host``)
170
+ :param happy_eyeballs_delay: delay (in seconds) before starting the next connection
171
+ attempt
172
+ :return: a socket stream object if no TLS handshake was done, otherwise a TLS stream
173
+ :raises ConnectionFailed: if the connection fails
174
+
175
+ """
176
+ # Placed here due to https://github.com/python/mypy/issues/7057
177
+ connected_stream: SocketStream | None = None
178
+
179
+ async def try_connect(remote_host: str, event: Event) -> None:
180
+ nonlocal connected_stream
181
+ try:
182
+ stream = await asynclib.connect_tcp(remote_host, remote_port, local_address)
183
+ except OSError as exc:
184
+ oserrors.append(exc)
185
+ return
186
+ else:
187
+ if connected_stream is None:
188
+ connected_stream = stream
189
+ tg.cancel_scope.cancel()
190
+ else:
191
+ await stream.aclose()
192
+ finally:
193
+ event.set()
194
+
195
+ asynclib = get_async_backend()
196
+ local_address: IPSockAddrType | None = None
197
+ family = socket.AF_UNSPEC
198
+ if local_host:
199
+ gai_res = await getaddrinfo(str(local_host), None)
200
+ family, *_, local_address = gai_res[0]
201
+
202
+ target_host = str(remote_host)
203
+ try:
204
+ addr_obj = ip_address(remote_host)
205
+ except ValueError:
206
+ addr_obj = None
207
+
208
+ if addr_obj is not None:
209
+ if isinstance(addr_obj, IPv6Address):
210
+ target_addrs = [(socket.AF_INET6, addr_obj.compressed)]
211
+ else:
212
+ target_addrs = [(socket.AF_INET, addr_obj.compressed)]
213
+ else:
214
+ # getaddrinfo() will raise an exception if name resolution fails
215
+ gai_res = await getaddrinfo(
216
+ target_host, remote_port, family=family, type=socket.SOCK_STREAM
217
+ )
218
+
219
+ # Organize the list so that the first address is an IPv6 address (if available)
220
+ # and the second one is an IPv4 addresses. The rest can be in whatever order.
221
+ v6_found = v4_found = False
222
+ target_addrs = []
223
+ for af, *_, sa in gai_res:
224
+ if af == socket.AF_INET6 and not v6_found:
225
+ v6_found = True
226
+ target_addrs.insert(0, (af, sa[0]))
227
+ elif af == socket.AF_INET and not v4_found and v6_found:
228
+ v4_found = True
229
+ target_addrs.insert(1, (af, sa[0]))
230
+ else:
231
+ target_addrs.append((af, sa[0]))
232
+
233
+ oserrors: list[OSError] = []
234
+ try:
235
+ async with create_task_group() as tg:
236
+ for _af, addr in target_addrs:
237
+ event = Event()
238
+ tg.start_soon(try_connect, addr, event)
239
+ with move_on_after(happy_eyeballs_delay):
240
+ await event.wait()
241
+
242
+ if connected_stream is None:
243
+ cause = (
244
+ oserrors[0]
245
+ if len(oserrors) == 1
246
+ else ExceptionGroup("multiple connection attempts failed", oserrors)
247
+ )
248
+ raise OSError("All connection attempts failed") from cause
249
+ finally:
250
+ oserrors.clear()
251
+
252
+ if tls or tls_hostname or ssl_context:
253
+ try:
254
+ return await TLSStream.wrap(
255
+ connected_stream,
256
+ server_side=False,
257
+ hostname=tls_hostname or str(remote_host),
258
+ ssl_context=ssl_context,
259
+ standard_compatible=tls_standard_compatible,
260
+ )
261
+ except BaseException:
262
+ await aclose_forcefully(connected_stream)
263
+ raise
264
+
265
+ return connected_stream
266
+
267
+
268
+ async def connect_unix(path: str | bytes | PathLike[Any]) -> UNIXSocketStream:
269
+ """
270
+ Connect to the given UNIX socket.
271
+
272
+ Not available on Windows.
273
+
274
+ :param path: path to the socket
275
+ :return: a socket stream object
276
+ :raises ConnectionFailed: if the connection fails
277
+
278
+ """
279
+ path = os.fspath(path)
280
+ return await get_async_backend().connect_unix(path)
281
+
282
+
283
+ async def create_tcp_listener(
284
+ *,
285
+ local_host: IPAddressType | None = None,
286
+ local_port: int = 0,
287
+ family: AnyIPAddressFamily = socket.AddressFamily.AF_UNSPEC,
288
+ backlog: int = 65536,
289
+ reuse_port: bool = False,
290
+ ) -> MultiListener[SocketStream]:
291
+ """
292
+ Create a TCP socket listener.
293
+
294
+ :param local_port: port number to listen on
295
+ :param local_host: IP address of the interface to listen on. If omitted, listen on
296
+ all IPv4 and IPv6 interfaces. To listen on all interfaces on a specific address
297
+ family, use ``0.0.0.0`` for IPv4 or ``::`` for IPv6.
298
+ :param family: address family (used if ``local_host`` was omitted)
299
+ :param backlog: maximum number of queued incoming connections (up to a maximum of
300
+ 2**16, or 65536)
301
+ :param reuse_port: ``True`` to allow multiple sockets to bind to the same
302
+ address/port (not supported on Windows)
303
+ :return: a multi-listener object containing one or more socket listeners
304
+ :raises OSError: if there's an error creating a socket, or binding to one or more
305
+ interfaces failed
306
+
307
+ """
308
+ asynclib = get_async_backend()
309
+ backlog = min(backlog, 65536)
310
+ local_host = str(local_host) if local_host is not None else None
311
+
312
+ def setup_raw_socket(
313
+ fam: AddressFamily,
314
+ bind_addr: tuple[str, int] | tuple[str, int, int, int],
315
+ *,
316
+ v6only: bool = True,
317
+ ) -> socket.socket:
318
+ sock = socket.socket(fam)
319
+ try:
320
+ sock.setblocking(False)
321
+
322
+ if fam == AddressFamily.AF_INET6:
323
+ sock.setsockopt(IPPROTO_IPV6, socket.IPV6_V6ONLY, v6only)
324
+
325
+ # For Windows, enable exclusive address use. For others, enable address
326
+ # reuse.
327
+ if sys.platform == "win32":
328
+ sock.setsockopt(socket.SOL_SOCKET, socket.SO_EXCLUSIVEADDRUSE, 1)
329
+ else:
330
+ sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
331
+
332
+ if reuse_port:
333
+ sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
334
+
335
+ # Workaround for #554
336
+ if fam == socket.AF_INET6 and "%" in bind_addr[0]:
337
+ addr, scope_id = bind_addr[0].split("%", 1)
338
+ bind_addr = (addr, bind_addr[1], 0, int(scope_id))
339
+
340
+ sock.bind(bind_addr)
341
+ sock.listen(backlog)
342
+ except BaseException:
343
+ sock.close()
344
+ raise
345
+
346
+ return sock
347
+
348
+ # We passing type=0 on non-Windows platforms as a workaround for a uvloop bug
349
+ # where we don't get the correct scope ID for IPv6 link-local addresses when passing
350
+ # type=socket.SOCK_STREAM to getaddrinfo():
351
+ # https://github.com/MagicStack/uvloop/issues/539
352
+ gai_res = await getaddrinfo(
353
+ local_host,
354
+ local_port,
355
+ family=family,
356
+ type=socket.SOCK_STREAM if sys.platform == "win32" else 0,
357
+ flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG,
358
+ )
359
+
360
+ # The set comprehension is here to work around a glibc bug:
361
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=14969
362
+ sockaddrs = sorted({res for res in gai_res if res[1] == SocketKind.SOCK_STREAM})
363
+
364
+ # Special case for dual-stack binding on the "any" interface
365
+ if (
366
+ local_host is None
367
+ and family == AddressFamily.AF_UNSPEC
368
+ and socket.has_dualstack_ipv6()
369
+ and any(fam == AddressFamily.AF_INET6 for fam, *_ in gai_res)
370
+ ):
371
+ raw_socket = setup_raw_socket(
372
+ AddressFamily.AF_INET6, ("::", local_port), v6only=False
373
+ )
374
+ listener = asynclib.create_tcp_listener(raw_socket)
375
+ return MultiListener([listener])
376
+
377
+ errors: list[OSError] = []
378
+ try:
379
+ for _ in range(len(sockaddrs)):
380
+ listeners: list[SocketListener] = []
381
+ bound_ephemeral_port = local_port
382
+ try:
383
+ for fam, *_, sockaddr in sockaddrs:
384
+ sockaddr = sockaddr[0], bound_ephemeral_port, *sockaddr[2:]
385
+ raw_socket = setup_raw_socket(fam, sockaddr)
386
+
387
+ # Store the assigned port if an ephemeral port was requested, so
388
+ # we'll bind to the same port on all interfaces
389
+ if local_port == 0 and len(gai_res) > 1:
390
+ bound_ephemeral_port = raw_socket.getsockname()[1]
391
+
392
+ listeners.append(asynclib.create_tcp_listener(raw_socket))
393
+ except BaseException as exc:
394
+ for listener in listeners:
395
+ await listener.aclose()
396
+
397
+ # If an ephemeral port was requested but binding the assigned port
398
+ # failed for another interface, rotate the address list and try again
399
+ if (
400
+ isinstance(exc, OSError)
401
+ and exc.errno == errno.EADDRINUSE
402
+ and local_port == 0
403
+ and bound_ephemeral_port
404
+ ):
405
+ errors.append(exc)
406
+ sockaddrs.append(sockaddrs.pop(0))
407
+ continue
408
+
409
+ raise
410
+
411
+ return MultiListener(listeners)
412
+
413
+ raise OSError(
414
+ f"Could not create {len(sockaddrs)} listeners with a consistent port"
415
+ ) from ExceptionGroup("Several bind attempts failed", errors)
416
+ finally:
417
+ del errors # Prevent reference cycles
418
+
419
+
420
+ async def create_unix_listener(
421
+ path: str | bytes | PathLike[Any],
422
+ *,
423
+ mode: int | None = None,
424
+ backlog: int = 65536,
425
+ ) -> SocketListener:
426
+ """
427
+ Create a UNIX socket listener.
428
+
429
+ Not available on Windows.
430
+
431
+ :param path: path of the socket
432
+ :param mode: permissions to set on the socket
433
+ :param backlog: maximum number of queued incoming connections (up to a maximum of
434
+ 2**16, or 65536)
435
+ :return: a listener object
436
+
437
+ .. versionchanged:: 3.0
438
+ If a socket already exists on the file system in the given path, it will be
439
+ removed first.
440
+
441
+ """
442
+ backlog = min(backlog, 65536)
443
+ raw_socket = await setup_unix_local_socket(path, mode, socket.SOCK_STREAM)
444
+ try:
445
+ raw_socket.listen(backlog)
446
+ return get_async_backend().create_unix_listener(raw_socket)
447
+ except BaseException:
448
+ raw_socket.close()
449
+ raise
450
+
451
+
452
+ async def create_udp_socket(
453
+ family: AnyIPAddressFamily = AddressFamily.AF_UNSPEC,
454
+ *,
455
+ local_host: IPAddressType | None = None,
456
+ local_port: int = 0,
457
+ reuse_port: bool = False,
458
+ ) -> UDPSocket:
459
+ """
460
+ Create a UDP socket.
461
+
462
+ If ``port`` has been given, the socket will be bound to this port on the local
463
+ machine, making this socket suitable for providing UDP based services.
464
+
465
+ :param family: address family (``AF_INET`` or ``AF_INET6``) – automatically
466
+ determined from ``local_host`` if omitted
467
+ :param local_host: IP address or host name of the local interface to bind to
468
+ :param local_port: local port to bind to
469
+ :param reuse_port: ``True`` to allow multiple sockets to bind to the same
470
+ address/port (not supported on Windows)
471
+ :return: a UDP socket
472
+
473
+ """
474
+ if family is AddressFamily.AF_UNSPEC and not local_host:
475
+ raise ValueError('Either "family" or "local_host" must be given')
476
+
477
+ if local_host:
478
+ gai_res = await getaddrinfo(
479
+ str(local_host),
480
+ local_port,
481
+ family=family,
482
+ type=socket.SOCK_DGRAM,
483
+ flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG,
484
+ )
485
+ family = cast(AnyIPAddressFamily, gai_res[0][0])
486
+ local_address = gai_res[0][-1]
487
+ elif family is AddressFamily.AF_INET6:
488
+ local_address = ("::", 0)
489
+ else:
490
+ local_address = ("0.0.0.0", 0)
491
+
492
+ sock = await get_async_backend().create_udp_socket(
493
+ family, local_address, None, reuse_port
494
+ )
495
+ return cast(UDPSocket, sock)
496
+
497
+
498
+ async def create_connected_udp_socket(
499
+ remote_host: IPAddressType,
500
+ remote_port: int,
501
+ *,
502
+ family: AnyIPAddressFamily = AddressFamily.AF_UNSPEC,
503
+ local_host: IPAddressType | None = None,
504
+ local_port: int = 0,
505
+ reuse_port: bool = False,
506
+ ) -> ConnectedUDPSocket:
507
+ """
508
+ Create a connected UDP socket.
509
+
510
+ Connected UDP sockets can only communicate with the specified remote host/port, an
511
+ any packets sent from other sources are dropped.
512
+
513
+ :param remote_host: remote host to set as the default target
514
+ :param remote_port: port on the remote host to set as the default target
515
+ :param family: address family (``AF_INET`` or ``AF_INET6``) – automatically
516
+ determined from ``local_host`` or ``remote_host`` if omitted
517
+ :param local_host: IP address or host name of the local interface to bind to
518
+ :param local_port: local port to bind to
519
+ :param reuse_port: ``True`` to allow multiple sockets to bind to the same
520
+ address/port (not supported on Windows)
521
+ :return: a connected UDP socket
522
+
523
+ """
524
+ local_address = None
525
+ if local_host:
526
+ gai_res = await getaddrinfo(
527
+ str(local_host),
528
+ local_port,
529
+ family=family,
530
+ type=socket.SOCK_DGRAM,
531
+ flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG,
532
+ )
533
+ family = cast(AnyIPAddressFamily, gai_res[0][0])
534
+ local_address = gai_res[0][-1]
535
+
536
+ gai_res = await getaddrinfo(
537
+ str(remote_host), remote_port, family=family, type=socket.SOCK_DGRAM
538
+ )
539
+ family = cast(AnyIPAddressFamily, gai_res[0][0])
540
+ remote_address = gai_res[0][-1]
541
+
542
+ sock = await get_async_backend().create_udp_socket(
543
+ family, local_address, remote_address, reuse_port
544
+ )
545
+ return cast(ConnectedUDPSocket, sock)
546
+
547
+
548
+ async def create_unix_datagram_socket(
549
+ *,
550
+ local_path: None | str | bytes | PathLike[Any] = None,
551
+ local_mode: int | None = None,
552
+ ) -> UNIXDatagramSocket:
553
+ """
554
+ Create a UNIX datagram socket.
555
+
556
+ Not available on Windows.
557
+
558
+ If ``local_path`` has been given, the socket will be bound to this path, making this
559
+ socket suitable for receiving datagrams from other processes. Other processes can
560
+ send datagrams to this socket only if ``local_path`` is set.
561
+
562
+ If a socket already exists on the file system in the ``local_path``, it will be
563
+ removed first.
564
+
565
+ :param local_path: the path on which to bind to
566
+ :param local_mode: permissions to set on the local socket
567
+ :return: a UNIX datagram socket
568
+
569
+ """
570
+ raw_socket = await setup_unix_local_socket(
571
+ local_path, local_mode, socket.SOCK_DGRAM
572
+ )
573
+ return await get_async_backend().create_unix_datagram_socket(raw_socket, None)
574
+
575
+
576
+ async def create_connected_unix_datagram_socket(
577
+ remote_path: str | bytes | PathLike[Any],
578
+ *,
579
+ local_path: None | str | bytes | PathLike[Any] = None,
580
+ local_mode: int | None = None,
581
+ ) -> ConnectedUNIXDatagramSocket:
582
+ """
583
+ Create a connected UNIX datagram socket.
584
+
585
+ Connected datagram sockets can only communicate with the specified remote path.
586
+
587
+ If ``local_path`` has been given, the socket will be bound to this path, making
588
+ this socket suitable for receiving datagrams from other processes. Other processes
589
+ can send datagrams to this socket only if ``local_path`` is set.
590
+
591
+ If a socket already exists on the file system in the ``local_path``, it will be
592
+ removed first.
593
+
594
+ :param remote_path: the path to set as the default target
595
+ :param local_path: the path on which to bind to
596
+ :param local_mode: permissions to set on the local socket
597
+ :return: a connected UNIX datagram socket
598
+
599
+ """
600
+ remote_path = os.fspath(remote_path)
601
+ raw_socket = await setup_unix_local_socket(
602
+ local_path, local_mode, socket.SOCK_DGRAM
603
+ )
604
+ return await get_async_backend().create_unix_datagram_socket(
605
+ raw_socket, remote_path
606
+ )
607
+
608
+
609
+ async def getaddrinfo(
610
+ host: bytes | str | None,
611
+ port: str | int | None,
612
+ *,
613
+ family: int | AddressFamily = 0,
614
+ type: int | SocketKind = 0,
615
+ proto: int = 0,
616
+ flags: int = 0,
617
+ ) -> list[tuple[AddressFamily, SocketKind, int, str, tuple[str, int]]]:
618
+ """
619
+ Look up a numeric IP address given a host name.
620
+
621
+ Internationalized domain names are translated according to the (non-transitional)
622
+ IDNA 2008 standard.
623
+
624
+ .. note:: 4-tuple IPv6 socket addresses are automatically converted to 2-tuples of
625
+ (host, port), unlike what :func:`socket.getaddrinfo` does.
626
+
627
+ :param host: host name
628
+ :param port: port number
629
+ :param family: socket family (`'AF_INET``, ...)
630
+ :param type: socket type (``SOCK_STREAM``, ...)
631
+ :param proto: protocol number
632
+ :param flags: flags to pass to upstream ``getaddrinfo()``
633
+ :return: list of tuples containing (family, type, proto, canonname, sockaddr)
634
+
635
+ .. seealso:: :func:`socket.getaddrinfo`
636
+
637
+ """
638
+ # Handle unicode hostnames
639
+ if isinstance(host, str):
640
+ try:
641
+ encoded_host: bytes | None = host.encode("ascii")
642
+ except UnicodeEncodeError:
643
+ import idna
644
+
645
+ encoded_host = idna.encode(host, uts46=True)
646
+ else:
647
+ encoded_host = host
648
+
649
+ gai_res = await get_async_backend().getaddrinfo(
650
+ encoded_host, port, family=family, type=type, proto=proto, flags=flags
651
+ )
652
+ return [
653
+ (family, type, proto, canonname, convert_ipv6_sockaddr(sockaddr))
654
+ for family, type, proto, canonname, sockaddr in gai_res
655
+ # filter out IPv6 results when IPv6 is disabled
656
+ if not isinstance(sockaddr[0], int)
657
+ ]
658
+
659
+
660
+ def getnameinfo(sockaddr: IPSockAddrType, flags: int = 0) -> Awaitable[tuple[str, str]]:
661
+ """
662
+ Look up the host name of an IP address.
663
+
664
+ :param sockaddr: socket address (e.g. (ipaddress, port) for IPv4)
665
+ :param flags: flags to pass to upstream ``getnameinfo()``
666
+ :return: a tuple of (host name, service name)
667
+ :raises NoEventLoopError: if no supported asynchronous event loop is running in the
668
+ current thread
669
+
670
+ .. seealso:: :func:`socket.getnameinfo`
671
+
672
+ """
673
+ return get_async_backend().getnameinfo(sockaddr, flags)
674
+
675
+
676
+ @deprecated("This function is deprecated; use `wait_readable` instead")
677
+ def wait_socket_readable(sock: socket.socket) -> Awaitable[None]:
678
+ """
679
+ .. deprecated:: 4.7.0
680
+ Use :func:`wait_readable` instead.
681
+
682
+ Wait until the given socket has data to be read.
683
+
684
+ .. warning:: Only use this on raw sockets that have not been wrapped by any higher
685
+ level constructs like socket streams!
686
+
687
+ :param sock: a socket object
688
+ :raises ~anyio.ClosedResourceError: if the socket was closed while waiting for the
689
+ socket to become readable
690
+ :raises ~anyio.BusyResourceError: if another task is already waiting for the socket
691
+ to become readable
692
+ :raises NoEventLoopError: if no supported asynchronous event loop is running in the
693
+ current thread
694
+
695
+ """
696
+ return get_async_backend().wait_readable(sock.fileno())
697
+
698
+
699
+ @deprecated("This function is deprecated; use `wait_writable` instead")
700
+ def wait_socket_writable(sock: socket.socket) -> Awaitable[None]:
701
+ """
702
+ .. deprecated:: 4.7.0
703
+ Use :func:`wait_writable` instead.
704
+
705
+ Wait until the given socket can be written to.
706
+
707
+ This does **NOT** work on Windows when using the asyncio backend with a proactor
708
+ event loop (default on py3.8+).
709
+
710
+ .. warning:: Only use this on raw sockets that have not been wrapped by any higher
711
+ level constructs like socket streams!
712
+
713
+ :param sock: a socket object
714
+ :raises ~anyio.ClosedResourceError: if the socket was closed while waiting for the
715
+ socket to become writable
716
+ :raises ~anyio.BusyResourceError: if another task is already waiting for the socket
717
+ to become writable
718
+ :raises NoEventLoopError: if no supported asynchronous event loop is running in the
719
+ current thread
720
+
721
+ """
722
+ return get_async_backend().wait_writable(sock.fileno())
723
+
724
+
725
+ def wait_readable(obj: FileDescriptorLike) -> Awaitable[None]:
726
+ """
727
+ Wait until the given object has data to be read.
728
+
729
+ On Unix systems, ``obj`` must either be an integer file descriptor, or else an
730
+ object with a ``.fileno()`` method which returns an integer file descriptor. Any
731
+ kind of file descriptor can be passed, though the exact semantics will depend on
732
+ your kernel. For example, this probably won't do anything useful for on-disk files.
733
+
734
+ On Windows systems, ``obj`` must either be an integer ``SOCKET`` handle, or else an
735
+ object with a ``.fileno()`` method which returns an integer ``SOCKET`` handle. File
736
+ descriptors aren't supported, and neither are handles that refer to anything besides
737
+ a ``SOCKET``.
738
+
739
+ On backends where this functionality is not natively provided (asyncio
740
+ ``ProactorEventLoop`` on Windows), it is provided using a separate selector thread
741
+ which is set to shut down when the interpreter shuts down.
742
+
743
+ .. warning:: Don't use this on raw sockets that have been wrapped by any higher
744
+ level constructs like socket streams!
745
+
746
+ :param obj: an object with a ``.fileno()`` method or an integer handle
747
+ :raises ~anyio.ClosedResourceError: if the object was closed while waiting for the
748
+ object to become readable
749
+ :raises ~anyio.BusyResourceError: if another task is already waiting for the object
750
+ to become readable
751
+ :raises NoEventLoopError: if no supported asynchronous event loop is running in the
752
+ current thread
753
+
754
+ """
755
+ return get_async_backend().wait_readable(obj)
756
+
757
+
758
+ def wait_writable(obj: FileDescriptorLike) -> Awaitable[None]:
759
+ """
760
+ Wait until the given object can be written to.
761
+
762
+ :param obj: an object with a ``.fileno()`` method or an integer handle
763
+ :raises ~anyio.ClosedResourceError: if the object was closed while waiting for the
764
+ object to become writable
765
+ :raises ~anyio.BusyResourceError: if another task is already waiting for the object
766
+ to become writable
767
+ :raises NoEventLoopError: if no supported asynchronous event loop is running in the
768
+ current thread
769
+
770
+ .. seealso:: See the documentation of :func:`wait_readable` for the definition of
771
+ ``obj`` and notes on backend compatibility.
772
+
773
+ .. warning:: Don't use this on raw sockets that have been wrapped by any higher
774
+ level constructs like socket streams!
775
+
776
+ """
777
+ return get_async_backend().wait_writable(obj)
778
+
779
+
780
+ def notify_closing(obj: FileDescriptorLike) -> None:
781
+ """
782
+ Call this before closing a file descriptor (on Unix) or socket (on
783
+ Windows). This will cause any `wait_readable` or `wait_writable`
784
+ calls on the given object to immediately wake up and raise
785
+ `~anyio.ClosedResourceError`.
786
+
787
+ This doesn't actually close the object – you still have to do that
788
+ yourself afterwards. Also, you want to be careful to make sure no
789
+ new tasks start waiting on the object in between when you call this
790
+ and when it's actually closed. So to close something properly, you
791
+ usually want to do these steps in order:
792
+
793
+ 1. Explicitly mark the object as closed, so that any new attempts
794
+ to use it will abort before they start.
795
+ 2. Call `notify_closing` to wake up any already-existing users.
796
+ 3. Actually close the object.
797
+
798
+ It's also possible to do them in a different order if that's more
799
+ convenient, *but only if* you make sure not to have any checkpoints in
800
+ between the steps. This way they all happen in a single atomic
801
+ step, so other tasks won't be able to tell what order they happened
802
+ in anyway.
803
+
804
+ :param obj: an object with a ``.fileno()`` method or an integer handle
805
+ :raises NoEventLoopError: if no supported asynchronous event loop is running in the
806
+ current thread
807
+
808
+ """
809
+ get_async_backend().notify_closing(obj)
810
+
811
+
812
+ #
813
+ # Private API
814
+ #
815
+
816
+
817
+ def convert_ipv6_sockaddr(
818
+ sockaddr: tuple[str, int, int, int] | tuple[str, int],
819
+ ) -> tuple[str, int]:
820
+ """
821
+ Convert a 4-tuple IPv6 socket address to a 2-tuple (address, port) format.
822
+
823
+ If the scope ID is nonzero, it is added to the address, separated with ``%``.
824
+ Otherwise the flow id and scope id are simply cut off from the tuple.
825
+ Any other kinds of socket addresses are returned as-is.
826
+
827
+ :param sockaddr: the result of :meth:`~socket.socket.getsockname`
828
+ :return: the converted socket address
829
+
830
+ """
831
+ # This is more complicated than it should be because of MyPy
832
+ if isinstance(sockaddr, tuple) and len(sockaddr) == 4:
833
+ host, port, flowinfo, scope_id = sockaddr
834
+ if scope_id:
835
+ # PyPy (as of v7.3.11) leaves the interface name in the result, so
836
+ # we discard it and only get the scope ID from the end
837
+ # (https://foss.heptapod.net/pypy/pypy/-/issues/3938)
838
+ host = host.split("%")[0]
839
+
840
+ # Add scope_id to the address
841
+ return f"{host}%{scope_id}", port
842
+ else:
843
+ return host, port
844
+ else:
845
+ return sockaddr
846
+
847
+
848
+ async def setup_unix_local_socket(
849
+ path: None | str | bytes | PathLike[Any],
850
+ mode: int | None,
851
+ socktype: int,
852
+ ) -> socket.socket:
853
+ """
854
+ Create a UNIX local socket object, deleting the socket at the given path if it
855
+ exists.
856
+
857
+ Not available on Windows.
858
+
859
+ :param path: path of the socket
860
+ :param mode: permissions to set on the socket
861
+ :param socktype: socket.SOCK_STREAM or socket.SOCK_DGRAM
862
+
863
+ """
864
+ path_str: str | None
865
+ if path is not None:
866
+ path_str = os.fsdecode(path)
867
+
868
+ # Linux abstract namespace sockets aren't backed by a concrete file so skip stat call
869
+ if not path_str.startswith("\0"):
870
+ # Copied from pathlib...
871
+ try:
872
+ stat_result = os.stat(path)
873
+ except OSError as e:
874
+ if e.errno not in (
875
+ errno.ENOENT,
876
+ errno.ENOTDIR,
877
+ errno.EBADF,
878
+ errno.ELOOP,
879
+ ):
880
+ raise
881
+ else:
882
+ if stat.S_ISSOCK(stat_result.st_mode):
883
+ os.unlink(path)
884
+ else:
885
+ path_str = None
886
+
887
+ raw_socket = socket.socket(socket.AF_UNIX, socktype)
888
+ raw_socket.setblocking(False)
889
+
890
+ if path_str is not None:
891
+ try:
892
+ await to_thread.run_sync(raw_socket.bind, path_str, abandon_on_cancel=True)
893
+ if mode is not None:
894
+ await to_thread.run_sync(chmod, path_str, mode, abandon_on_cancel=True)
895
+ except BaseException:
896
+ raw_socket.close()
897
+ raise
898
+
899
+ return raw_socket
900
+
901
+
902
+ @dataclass
903
+ class TCPConnectable(ByteStreamConnectable):
904
+ """
905
+ Connects to a TCP server at the given host and port.
906
+
907
+ :param host: host name or IP address of the server
908
+ :param port: TCP port number of the server
909
+ """
910
+
911
+ host: str | IPv4Address | IPv6Address
912
+ port: int
913
+
914
+ def __post_init__(self) -> None:
915
+ if self.port < 1 or self.port > 65535:
916
+ raise ValueError("TCP port number out of range")
917
+
918
+ @override
919
+ async def connect(self) -> SocketStream:
920
+ try:
921
+ return await connect_tcp(self.host, self.port)
922
+ except OSError as exc:
923
+ raise ConnectionFailed(
924
+ f"error connecting to {self.host}:{self.port}: {exc}"
925
+ ) from exc
926
+
927
+
928
+ @dataclass
929
+ class UNIXConnectable(ByteStreamConnectable):
930
+ """
931
+ Connects to a UNIX domain socket at the given path.
932
+
933
+ :param path: the file system path of the socket
934
+ """
935
+
936
+ path: str | bytes | PathLike[str] | PathLike[bytes]
937
+
938
+ @override
939
+ async def connect(self) -> UNIXSocketStream:
940
+ try:
941
+ return await connect_unix(self.path)
942
+ except OSError as exc:
943
+ raise ConnectionFailed(f"error connecting to {self.path!r}: {exc}") from exc
944
+
945
+
946
+ def as_connectable(
947
+ remote: ByteStreamConnectable
948
+ | tuple[str | IPv4Address | IPv6Address, int]
949
+ | str
950
+ | bytes
951
+ | PathLike[str],
952
+ /,
953
+ *,
954
+ tls: bool = False,
955
+ ssl_context: ssl.SSLContext | None = None,
956
+ tls_hostname: str | None = None,
957
+ tls_standard_compatible: bool = True,
958
+ ) -> ByteStreamConnectable:
959
+ """
960
+ Return a byte stream connectable from the given object.
961
+
962
+ If a bytestream connectable is given, it is returned unchanged.
963
+ If a tuple of (host, port) is given, a TCP connectable is returned.
964
+ If a string or bytes path is given, a UNIX connectable is returned.
965
+
966
+ If ``tls=True``, the connectable will be wrapped in a
967
+ :class:`~.streams.tls.TLSConnectable`.
968
+
969
+ :param remote: a connectable, a tuple of (host, port) or a path to a UNIX socket
970
+ :param tls: if ``True``, wrap the plaintext connectable in a
971
+ :class:`~.streams.tls.TLSConnectable`, using the provided TLS settings)
972
+ :param ssl_context: if ``tls=True``, the SSLContext object to use (if not provided,
973
+ a secure default will be created)
974
+ :param tls_hostname: if ``tls=True``, host name of the server to use for checking
975
+ the server certificate (defaults to the host portion of the address for TCP
976
+ connectables)
977
+ :param tls_standard_compatible: if ``False`` and ``tls=True``, makes the TLS stream
978
+ skip the closing handshake when closing the connection, so it won't raise an
979
+ exception if the server does the same
980
+
981
+ """
982
+ connectable: TCPConnectable | UNIXConnectable | TLSConnectable
983
+ if isinstance(remote, ByteStreamConnectable):
984
+ return remote
985
+ elif isinstance(remote, tuple) and len(remote) == 2:
986
+ connectable = TCPConnectable(*remote)
987
+ elif isinstance(remote, (str, bytes, PathLike)):
988
+ connectable = UNIXConnectable(remote)
989
+ else:
990
+ raise TypeError(f"cannot convert {remote!r} to a connectable")
991
+
992
+ if tls:
993
+ if not tls_hostname and isinstance(connectable, TCPConnectable):
994
+ tls_hostname = str(connectable.host)
995
+
996
+ connectable = TLSConnectable(
997
+ connectable,
998
+ ssl_context=ssl_context,
999
+ hostname=tls_hostname,
1000
+ standard_compatible=tls_standard_compatible,
1001
+ )
1002
+
1003
+ return connectable