claude-all-hands 1.0.0 → 1.0.1

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 (1424) hide show
  1. package/.claude/agents/curator.md +185 -51
  2. package/.claude/agents/explorer.md +28 -36
  3. package/.claude/agents/parallel-worker.md +24 -7
  4. package/.claude/agents/planner.md +48 -3
  5. package/.claude/agents/researcher.md +24 -14
  6. package/.claude/commands/curation-fix.md +27 -3
  7. package/.claude/commands/new-branch.md +25 -0
  8. package/.claude/commands/parallel-discovery.md +26 -8
  9. package/.claude/commands/parallel-orchestration.md +26 -8
  10. package/.claude/commands/plan-checkpoint.md +25 -0
  11. package/.claude/commands/plan.md +52 -1
  12. package/.claude/commands/whats-next.md +147 -0
  13. package/.claude/skills/claude-code-patterns/SKILL.md +24 -11
  14. package/.claude/skills/claude-envoy-curation/SKILL.md +81 -18
  15. package/.claude/skills/claude-envoy-usage/SKILL.md +22 -14
  16. package/.claude/skills/command-development/SKILL.md +44 -54
  17. package/.claude/skills/git-ops/SKILL.md +48 -18
  18. package/.claude/skills/hook-development/SKILL.md +36 -12
  19. package/.claude/skills/orchestration-idols/SKILL.md +45 -27
  20. package/.claude/skills/repomix-extraction/SKILL.md +41 -39
  21. package/.claude/skills/research-tools/SKILL.md +60 -82
  22. package/.claude/skills/skill-development/SKILL.md +48 -116
  23. package/.claude/skills/specialist-builder/SKILL.md +81 -102
  24. package/.claude/skills/specialist-builder/examples/complete-agent-examples.md +4 -4
  25. package/bin/cli.js +22 -37
  26. package/package.json +5 -1
  27. package/.claude/envoy/.venv/.requirements.txt +0 -2
  28. package/.claude/envoy/.venv/bin/Activate.ps1 +0 -241
  29. package/.claude/envoy/.venv/bin/activate +0 -66
  30. package/.claude/envoy/.venv/bin/activate.csh +0 -25
  31. package/.claude/envoy/.venv/bin/activate.fish +0 -64
  32. package/.claude/envoy/.venv/bin/httpx +0 -8
  33. package/.claude/envoy/.venv/bin/normalizer +0 -8
  34. package/.claude/envoy/.venv/bin/pip +0 -8
  35. package/.claude/envoy/.venv/bin/pip3 +0 -8
  36. package/.claude/envoy/.venv/bin/pip3.9 +0 -8
  37. package/.claude/envoy/.venv/bin/pyrsa-decrypt +0 -8
  38. package/.claude/envoy/.venv/bin/pyrsa-encrypt +0 -8
  39. package/.claude/envoy/.venv/bin/pyrsa-keygen +0 -8
  40. package/.claude/envoy/.venv/bin/pyrsa-priv2pub +0 -8
  41. package/.claude/envoy/.venv/bin/pyrsa-sign +0 -8
  42. package/.claude/envoy/.venv/bin/pyrsa-verify +0 -8
  43. package/.claude/envoy/.venv/bin/websockets +0 -8
  44. package/.claude/envoy/.venv/lib/python3.9/site-packages/_distutils_hack/__init__.py +0 -128
  45. package/.claude/envoy/.venv/lib/python3.9/site-packages/_distutils_hack/override.py +0 -1
  46. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/__init__.py +0 -432
  47. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/py.typed +0 -0
  48. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/test_cases.py +0 -151
  49. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/INSTALLER +0 -1
  50. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/METADATA +0 -295
  51. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/RECORD +0 -10
  52. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/WHEEL +0 -4
  53. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/licenses/LICENSE +0 -21
  54. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/__init__.py +0 -111
  55. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/__init__.py +0 -0
  56. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/_asyncio.py +0 -3007
  57. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/_trio.py +0 -1384
  58. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/__init__.py +0 -0
  59. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_asyncio_selector_thread.py +0 -167
  60. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_contextmanagers.py +0 -200
  61. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_eventloop.py +0 -229
  62. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_exceptions.py +0 -153
  63. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_fileio.py +0 -797
  64. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_resources.py +0 -18
  65. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_signals.py +0 -27
  66. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_sockets.py +0 -991
  67. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_streams.py +0 -52
  68. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_subprocesses.py +0 -202
  69. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_synchronization.py +0 -753
  70. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_tasks.py +0 -163
  71. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_tempfile.py +0 -616
  72. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_testing.py +0 -78
  73. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_typedattr.py +0 -81
  74. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/__init__.py +0 -58
  75. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_eventloop.py +0 -420
  76. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_resources.py +0 -33
  77. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_sockets.py +0 -405
  78. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_streams.py +0 -239
  79. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_subprocesses.py +0 -79
  80. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_tasks.py +0 -117
  81. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_testing.py +0 -65
  82. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/from_thread.py +0 -570
  83. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/functools.py +0 -347
  84. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/lowlevel.py +0 -195
  85. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/py.typed +0 -0
  86. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/pytest_plugin.py +0 -302
  87. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/__init__.py +0 -0
  88. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/buffered.py +0 -188
  89. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/file.py +0 -154
  90. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/memory.py +0 -325
  91. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/stapled.py +0 -147
  92. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/text.py +0 -176
  93. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/tls.py +0 -424
  94. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_interpreter.py +0 -246
  95. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_process.py +0 -264
  96. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_thread.py +0 -74
  97. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/INSTALLER +0 -1
  98. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/METADATA +0 -96
  99. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/RECORD +0 -92
  100. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/WHEEL +0 -5
  101. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/entry_points.txt +0 -2
  102. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/licenses/LICENSE +0 -20
  103. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/top_level.txt +0 -1
  104. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/__init__.py +0 -718
  105. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/_cached.py +0 -247
  106. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/_cachedmethod.py +0 -128
  107. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/func.py +0 -102
  108. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/keys.py +0 -62
  109. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/INSTALLER +0 -1
  110. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/METADATA +0 -156
  111. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/RECORD +0 -16
  112. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/WHEEL +0 -5
  113. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/licenses/LICENSE +0 -20
  114. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/top_level.txt +0 -1
  115. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/__init__.py +0 -4
  116. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/__main__.py +0 -12
  117. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/cacert.pem +0 -4678
  118. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/core.py +0 -83
  119. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/py.typed +0 -0
  120. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/INSTALLER +0 -1
  121. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/METADATA +0 -78
  122. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/RECORD +0 -14
  123. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/WHEEL +0 -5
  124. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/licenses/LICENSE +0 -20
  125. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/top_level.txt +0 -1
  126. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/__init__.py +0 -48
  127. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/__main__.py +0 -6
  128. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/api.py +0 -669
  129. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cd.py +0 -395
  130. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__init__.py +0 -8
  131. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__main__.py +0 -381
  132. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/constant.py +0 -2015
  133. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/legacy.py +0 -80
  134. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md.cpython-39-darwin.so +0 -0
  135. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md.py +0 -635
  136. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md__mypyc.cpython-39-darwin.so +0 -0
  137. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/models.py +0 -360
  138. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/py.typed +0 -0
  139. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/utils.py +0 -414
  140. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/version.py +0 -8
  141. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/INSTALLER +0 -1
  142. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/METADATA +0 -764
  143. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/RECORD +0 -35
  144. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/WHEEL +0 -6
  145. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/entry_points.txt +0 -2
  146. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/licenses/LICENSE +0 -21
  147. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/top_level.txt +0 -1
  148. package/.claude/envoy/.venv/lib/python3.9/site-packages/distutils-precedence.pth +0 -1
  149. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/__init__.py +0 -46
  150. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_catch.py +0 -138
  151. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_exceptions.py +0 -336
  152. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_formatting.py +0 -602
  153. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_suppress.py +0 -55
  154. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_version.py +0 -34
  155. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/py.typed +0 -0
  156. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/INSTALLER +0 -1
  157. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/METADATA +0 -159
  158. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/RECORD +0 -18
  159. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/WHEEL +0 -4
  160. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/licenses/LICENSE +0 -73
  161. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/__init__.py +0 -53
  162. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_cloud_sdk.py +0 -153
  163. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_constants.py +0 -5
  164. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_credentials_async.py +0 -171
  165. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_credentials_base.py +0 -75
  166. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_default.py +0 -739
  167. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_default_async.py +0 -288
  168. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_exponential_backoff.py +0 -164
  169. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_helpers.py +0 -554
  170. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_jwt_async.py +0 -164
  171. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_oauth2client.py +0 -167
  172. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_refresh_worker.py +0 -109
  173. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_service_account_info.py +0 -80
  174. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/__init__.py +0 -25
  175. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/_helpers.py +0 -62
  176. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/credentials.py +0 -143
  177. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/__init__.py +0 -144
  178. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/aiohttp.py +0 -190
  179. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/sessions.py +0 -268
  180. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/api_key.py +0 -76
  181. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/app_engine.py +0 -180
  182. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aws.py +0 -861
  183. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/__init__.py +0 -22
  184. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/_metadata.py +0 -379
  185. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/credentials.py +0 -558
  186. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/credentials.py +0 -665
  187. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/__init__.py +0 -98
  188. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_cryptography_rsa.py +0 -151
  189. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_helpers.py +0 -0
  190. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_python_rsa.py +0 -175
  191. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/base.py +0 -127
  192. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/es256.py +0 -175
  193. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/rsa.py +0 -30
  194. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/downscoped.py +0 -512
  195. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/environment_vars.py +0 -88
  196. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/exceptions.py +0 -108
  197. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/external_account.py +0 -708
  198. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/external_account_authorized_user.py +0 -433
  199. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/iam.py +0 -136
  200. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/identity_pool.py +0 -552
  201. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/impersonated_credentials.py +0 -705
  202. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/jwt.py +0 -878
  203. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/metrics.py +0 -154
  204. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/pluggable.py +0 -453
  205. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/py.typed +0 -2
  206. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/__init__.py +0 -104
  207. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_aiohttp_requests.py +0 -398
  208. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_custom_tls_signer.py +0 -283
  209. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_http_client.py +0 -115
  210. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_mtls_helper.py +0 -446
  211. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_requests_base.py +0 -53
  212. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/grpc.py +0 -337
  213. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/mtls.py +0 -129
  214. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/requests.py +0 -597
  215. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/urllib3.py +0 -449
  216. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/version.py +0 -15
  217. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/__init__.py +0 -25
  218. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_adapters.py +0 -55
  219. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_api_client.py +0 -1840
  220. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_api_module.py +0 -29
  221. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_automatic_function_calling_util.py +0 -325
  222. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_base_transformers.py +0 -26
  223. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_base_url.py +0 -50
  224. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_common.py +0 -778
  225. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_extra_utils.py +0 -618
  226. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_live_converters.py +0 -1424
  227. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_local_tokenizer_loader.py +0 -223
  228. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_mcp_utils.py +0 -117
  229. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_operations_converters.py +0 -298
  230. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_replay_api_client.py +0 -686
  231. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_test_api_client.py +0 -149
  232. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_tokens_converters.py +0 -480
  233. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_transformers.py +0 -1368
  234. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/batches.py +0 -2461
  235. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/caches.py +0 -1489
  236. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/chats.py +0 -531
  237. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/client.py +0 -403
  238. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/errors.py +0 -202
  239. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/files.py +0 -1019
  240. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/live.py +0 -1165
  241. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/live_music.py +0 -197
  242. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/local_tokenizer.py +0 -395
  243. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/models.py +0 -7335
  244. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/operations.py +0 -498
  245. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/pagers.py +0 -262
  246. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/py.typed +0 -1
  247. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/tokens.py +0 -362
  248. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/tunings.py +0 -1970
  249. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/types.py +0 -16507
  250. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/version.py +0 -16
  251. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/__init__.py +0 -36
  252. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_client.py +0 -625
  253. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_client_async.py +0 -286
  254. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_credentials_async.py +0 -118
  255. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_id_token_async.py +0 -285
  256. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_reauth_async.py +0 -328
  257. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_service_account_async.py +0 -132
  258. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/challenges.py +0 -281
  259. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/credentials.py +0 -614
  260. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/gdch_credentials.py +0 -251
  261. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/id_token.py +0 -370
  262. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/py.typed +0 -2
  263. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/reauth.py +0 -369
  264. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/service_account.py +0 -881
  265. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/sts.py +0 -176
  266. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/utils.py +0 -168
  267. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_handler.py +0 -82
  268. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_handler_factory.py +0 -16
  269. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_types.py +0 -156
  270. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/INSTALLER +0 -1
  271. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/METADATA +0 -181
  272. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/RECORD +0 -154
  273. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/WHEEL +0 -6
  274. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/licenses/LICENSE +0 -201
  275. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/top_level.txt +0 -1
  276. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/INSTALLER +0 -1
  277. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/METADATA +0 -1864
  278. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/RECORD +0 -74
  279. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/REQUESTED +0 -0
  280. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/WHEEL +0 -5
  281. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/licenses/LICENSE +0 -202
  282. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/top_level.txt +0 -1
  283. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/__init__.py +0 -62
  284. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_abnf.py +0 -132
  285. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_connection.py +0 -659
  286. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_events.py +0 -369
  287. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_headers.py +0 -282
  288. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_readers.py +0 -250
  289. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_receivebuffer.py +0 -153
  290. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_state.py +0 -365
  291. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_util.py +0 -135
  292. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_version.py +0 -16
  293. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_writers.py +0 -145
  294. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/py.typed +0 -1
  295. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/INSTALLER +0 -1
  296. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/METADATA +0 -202
  297. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/RECORD +0 -29
  298. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/WHEEL +0 -5
  299. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/licenses/LICENSE.txt +0 -22
  300. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/top_level.txt +0 -1
  301. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/__init__.py +0 -141
  302. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_api.py +0 -94
  303. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/__init__.py +0 -39
  304. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/connection.py +0 -222
  305. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/connection_pool.py +0 -420
  306. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http11.py +0 -379
  307. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http2.py +0 -592
  308. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http_proxy.py +0 -367
  309. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/interfaces.py +0 -137
  310. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/socks_proxy.py +0 -341
  311. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/__init__.py +0 -0
  312. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/anyio.py +0 -146
  313. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/auto.py +0 -52
  314. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/base.py +0 -101
  315. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/mock.py +0 -143
  316. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/sync.py +0 -241
  317. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/trio.py +0 -159
  318. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_exceptions.py +0 -81
  319. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_models.py +0 -516
  320. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_ssl.py +0 -9
  321. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/__init__.py +0 -39
  322. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/connection.py +0 -222
  323. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/connection_pool.py +0 -420
  324. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http11.py +0 -379
  325. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http2.py +0 -592
  326. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http_proxy.py +0 -367
  327. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/interfaces.py +0 -137
  328. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/socks_proxy.py +0 -341
  329. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_synchronization.py +0 -318
  330. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_trace.py +0 -107
  331. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_utils.py +0 -37
  332. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/py.typed +0 -0
  333. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/INSTALLER +0 -1
  334. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/METADATA +0 -625
  335. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/RECORD +0 -68
  336. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/WHEEL +0 -4
  337. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/licenses/LICENSE.md +0 -27
  338. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/__init__.py +0 -105
  339. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/__version__.py +0 -3
  340. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_api.py +0 -438
  341. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_auth.py +0 -348
  342. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_client.py +0 -2019
  343. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_config.py +0 -248
  344. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_content.py +0 -240
  345. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_decoders.py +0 -393
  346. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_exceptions.py +0 -379
  347. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_main.py +0 -506
  348. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_models.py +0 -1277
  349. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_multipart.py +0 -300
  350. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_status_codes.py +0 -162
  351. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/__init__.py +0 -15
  352. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/asgi.py +0 -187
  353. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/base.py +0 -86
  354. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/default.py +0 -406
  355. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/mock.py +0 -43
  356. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/wsgi.py +0 -149
  357. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_types.py +0 -114
  358. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_urlparse.py +0 -527
  359. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_urls.py +0 -641
  360. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_utils.py +0 -242
  361. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/py.typed +0 -0
  362. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/INSTALLER +0 -1
  363. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/METADATA +0 -203
  364. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/RECORD +0 -54
  365. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/WHEEL +0 -4
  366. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/entry_points.txt +0 -2
  367. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/licenses/LICENSE.md +0 -12
  368. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/__init__.py +0 -45
  369. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/codec.py +0 -122
  370. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/compat.py +0 -15
  371. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/core.py +0 -437
  372. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/idnadata.py +0 -4309
  373. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/intranges.py +0 -57
  374. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/package_data.py +0 -1
  375. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/py.typed +0 -0
  376. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/uts46data.py +0 -8841
  377. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/INSTALLER +0 -1
  378. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/METADATA +0 -209
  379. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/RECORD +0 -22
  380. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/WHEEL +0 -4
  381. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/licenses/LICENSE.md +0 -31
  382. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/__init__.py +0 -13
  383. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/__main__.py +0 -31
  384. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/__init__.py +0 -19
  385. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/build_env.py +0 -294
  386. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cache.py +0 -287
  387. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/__init__.py +0 -4
  388. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py +0 -163
  389. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/base_command.py +0 -214
  390. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/cmdoptions.py +0 -1009
  391. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/command_context.py +0 -27
  392. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/main.py +0 -70
  393. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/main_parser.py +0 -87
  394. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/parser.py +0 -292
  395. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/progress_bars.py +0 -250
  396. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/req_command.py +0 -453
  397. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/spinners.py +0 -157
  398. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/status_codes.py +0 -6
  399. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/__init__.py +0 -112
  400. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/cache.py +0 -216
  401. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/check.py +0 -47
  402. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/completion.py +0 -91
  403. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/configuration.py +0 -266
  404. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/debug.py +0 -204
  405. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/download.py +0 -139
  406. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/freeze.py +0 -84
  407. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/hash.py +0 -55
  408. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/help.py +0 -41
  409. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/index.py +0 -139
  410. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/install.py +0 -750
  411. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/list.py +0 -337
  412. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/search.py +0 -164
  413. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/show.py +0 -234
  414. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/uninstall.py +0 -100
  415. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/wheel.py +0 -176
  416. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/configuration.py +0 -403
  417. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__init__.py +0 -21
  418. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/base.py +0 -38
  419. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/installed.py +0 -22
  420. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py +0 -95
  421. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/wheel.py +0 -34
  422. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/exceptions.py +0 -397
  423. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/__init__.py +0 -2
  424. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/collector.py +0 -534
  425. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/package_finder.py +0 -982
  426. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/sources.py +0 -224
  427. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/__init__.py +0 -408
  428. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/_distutils.py +0 -169
  429. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/_sysconfig.py +0 -219
  430. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/base.py +0 -52
  431. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/main.py +0 -13
  432. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__init__.py +0 -48
  433. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/base.py +0 -242
  434. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/pkg_resources.py +0 -153
  435. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/__init__.py +0 -2
  436. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/candidate.py +0 -31
  437. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/direct_url.py +0 -220
  438. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/format_control.py +0 -84
  439. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/index.py +0 -32
  440. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/link.py +0 -288
  441. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/scheme.py +0 -31
  442. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/search_scope.py +0 -126
  443. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/selection_prefs.py +0 -46
  444. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/target_python.py +0 -111
  445. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/wheel.py +0 -92
  446. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/__init__.py +0 -2
  447. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/auth.py +0 -316
  448. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/cache.py +0 -69
  449. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/download.py +0 -184
  450. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/lazy_wheel.py +0 -210
  451. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/session.py +0 -454
  452. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/utils.py +0 -96
  453. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.py +0 -60
  454. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/__init__.py +0 -0
  455. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  456. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata.py +0 -35
  457. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -74
  458. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel.py +0 -38
  459. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -110
  460. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/check.py +0 -153
  461. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/freeze.py +0 -277
  462. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__init__.py +0 -2
  463. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -47
  464. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/legacy.py +0 -132
  465. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/wheel.py +0 -803
  466. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py +0 -655
  467. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/pyproject.py +0 -183
  468. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/__init__.py +0 -94
  469. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/constructors.py +0 -474
  470. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_file.py +0 -528
  471. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_install.py +0 -846
  472. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_set.py +0 -190
  473. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_tracker.py +0 -130
  474. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_uninstall.py +0 -629
  475. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__init__.py +0 -0
  476. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/base.py +0 -18
  477. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  478. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -453
  479. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  480. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -144
  481. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -555
  482. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -700
  483. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -142
  484. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -197
  485. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -69
  486. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -166
  487. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -272
  488. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/self_outdated_check.py +0 -187
  489. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/__init__.py +0 -0
  490. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/_log.py +0 -38
  491. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/appdirs.py +0 -35
  492. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/compat.py +0 -63
  493. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/compatibility_tags.py +0 -168
  494. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/datetime.py +0 -11
  495. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/deprecation.py +0 -104
  496. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -79
  497. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/distutils_args.py +0 -42
  498. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/encoding.py +0 -36
  499. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/entrypoints.py +0 -27
  500. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/filesystem.py +0 -182
  501. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/filetypes.py +0 -28
  502. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/glibc.py +0 -92
  503. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/hashes.py +0 -165
  504. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/inject_securetransport.py +0 -36
  505. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/logging.py +0 -391
  506. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/misc.py +0 -828
  507. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/models.py +0 -47
  508. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/packaging.py +0 -89
  509. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/parallel.py +0 -101
  510. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/pkg_resources.py +0 -40
  511. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/setuptools_build.py +0 -173
  512. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/subprocess.py +0 -281
  513. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/temp_dir.py +0 -260
  514. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/unpacking.py +0 -267
  515. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/urls.py +0 -65
  516. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/virtualenv.py +0 -111
  517. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/wheel.py +0 -189
  518. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__init__.py +0 -15
  519. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/bazaar.py +0 -96
  520. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/git.py +0 -506
  521. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/mercurial.py +0 -158
  522. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/subversion.py +0 -329
  523. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/versioncontrol.py +0 -722
  524. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/wheel_builder.py +0 -360
  525. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/__init__.py +0 -111
  526. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/appdirs.py +0 -633
  527. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -11
  528. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -57
  529. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -133
  530. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/cache.py +0 -39
  531. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -2
  532. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -146
  533. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -33
  534. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/compat.py +0 -29
  535. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/controller.py +0 -376
  536. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -80
  537. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -135
  538. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -188
  539. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -29
  540. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__init__.py +0 -3
  541. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  542. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/cacert.pem +0 -4257
  543. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/core.py +0 -76
  544. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__init__.py +0 -83
  545. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5freq.py +0 -386
  546. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5prober.py +0 -47
  547. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/chardistribution.py +0 -233
  548. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetgroupprober.py +0 -107
  549. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetprober.py +0 -145
  550. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__init__.py +0 -1
  551. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/chardetect.py +0 -84
  552. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/codingstatemachine.py +0 -88
  553. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/compat.py +0 -36
  554. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cp949prober.py +0 -49
  555. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/enums.py +0 -76
  556. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escprober.py +0 -101
  557. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escsm.py +0 -246
  558. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/eucjpprober.py +0 -92
  559. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrfreq.py +0 -195
  560. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrprober.py +0 -47
  561. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwfreq.py +0 -387
  562. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwprober.py +0 -46
  563. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312freq.py +0 -283
  564. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312prober.py +0 -46
  565. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/hebrewprober.py +0 -292
  566. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jisfreq.py +0 -325
  567. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jpcntx.py +0 -233
  568. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +0 -4650
  569. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langgreekmodel.py +0 -4398
  570. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhebrewmodel.py +0 -4383
  571. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhungarianmodel.py +0 -4650
  572. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langrussianmodel.py +0 -5718
  573. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langthaimodel.py +0 -4383
  574. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langturkishmodel.py +0 -4383
  575. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/latin1prober.py +0 -145
  576. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcharsetprober.py +0 -91
  577. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +0 -54
  578. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcssm.py +0 -572
  579. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__init__.py +0 -0
  580. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/languages.py +0 -310
  581. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcharsetprober.py +0 -145
  582. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +0 -83
  583. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sjisprober.py +0 -92
  584. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/universaldetector.py +0 -286
  585. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/utf8prober.py +0 -82
  586. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/version.py +0 -9
  587. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__init__.py +0 -6
  588. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansi.py +0 -102
  589. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansitowin32.py +0 -258
  590. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/initialise.py +0 -80
  591. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/win32.py +0 -152
  592. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/winterm.py +0 -169
  593. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__init__.py +0 -23
  594. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__init__.py +0 -6
  595. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/misc.py +0 -41
  596. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/shutil.py +0 -764
  597. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg +0 -84
  598. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.py +0 -786
  599. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/tarfile.py +0 -2607
  600. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/compat.py +0 -1120
  601. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/database.py +0 -1339
  602. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/index.py +0 -509
  603. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/locators.py +0 -1300
  604. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/manifest.py +0 -393
  605. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/markers.py +0 -130
  606. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/metadata.py +0 -1058
  607. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/resources.py +0 -358
  608. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/scripts.py +0 -423
  609. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  610. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  611. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/util.py +0 -1965
  612. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/version.py +0 -739
  613. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  614. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  615. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/wheel.py +0 -1056
  616. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distro.py +0 -1230
  617. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__init__.py +0 -35
  618. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_ihatexml.py +0 -289
  619. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_inputstream.py +0 -918
  620. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_tokenizer.py +0 -1735
  621. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__init__.py +0 -5
  622. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/_base.py +0 -40
  623. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/py.py +0 -67
  624. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_utils.py +0 -159
  625. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/constants.py +0 -2946
  626. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__init__.py +0 -0
  627. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +0 -29
  628. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/base.py +0 -12
  629. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +0 -73
  630. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/lint.py +0 -93
  631. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +0 -207
  632. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +0 -916
  633. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/whitespace.py +0 -38
  634. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/html5parser.py +0 -2795
  635. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/serializer.py +0 -409
  636. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +0 -30
  637. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +0 -54
  638. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +0 -50
  639. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +0 -88
  640. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/base.py +0 -417
  641. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +0 -239
  642. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +0 -343
  643. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +0 -392
  644. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +0 -154
  645. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/base.py +0 -252
  646. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +0 -43
  647. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +0 -131
  648. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py +0 -215
  649. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py +0 -69
  650. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__init__.py +0 -44
  651. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/codec.py +0 -117
  652. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/compat.py +0 -16
  653. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/core.py +0 -409
  654. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/idnadata.py +0 -2050
  655. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/intranges.py +0 -58
  656. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/package_data.py +0 -2
  657. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/uts46data.py +0 -8438
  658. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__init__.py +0 -54
  659. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/_version.py +0 -1
  660. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  661. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/ext.py +0 -193
  662. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/fallback.py +0 -1087
  663. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__about__.py +0 -26
  664. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__init__.py +0 -25
  665. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_manylinux.py +0 -301
  666. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_musllinux.py +0 -136
  667. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_structures.py +0 -67
  668. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/markers.py +0 -304
  669. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/requirements.py +0 -146
  670. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/specifiers.py +0 -828
  671. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/tags.py +0 -484
  672. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/utils.py +0 -136
  673. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/version.py +0 -504
  674. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__init__.py +0 -6
  675. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/build.py +0 -127
  676. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/check.py +0 -207
  677. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/colorlog.py +0 -115
  678. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/compat.py +0 -42
  679. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/dirtools.py +0 -44
  680. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/envbuild.py +0 -171
  681. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__init__.py +0 -17
  682. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py +0 -349
  683. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/meta.py +0 -92
  684. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/wrappers.py +0 -371
  685. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3296
  686. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/py31compat.py +0 -23
  687. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__init__.py +0 -177
  688. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/bar.py +0 -91
  689. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/counter.py +0 -41
  690. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/spinner.py +0 -43
  691. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pyparsing.py +0 -7107
  692. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__init__.py +0 -154
  693. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__version__.py +0 -14
  694. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/_internal_utils.py +0 -42
  695. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/adapters.py +0 -533
  696. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/api.py +0 -159
  697. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/auth.py +0 -305
  698. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/certs.py +0 -18
  699. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/compat.py +0 -76
  700. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/cookies.py +0 -549
  701. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/exceptions.py +0 -127
  702. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/help.py +0 -132
  703. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/hooks.py +0 -34
  704. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/models.py +0 -966
  705. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/packages.py +0 -16
  706. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/sessions.py +0 -781
  707. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/status_codes.py +0 -123
  708. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/structures.py +0 -105
  709. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/utils.py +0 -1013
  710. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__init__.py +0 -26
  711. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  712. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -6
  713. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/providers.py +0 -124
  714. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/reporters.py +0 -37
  715. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -473
  716. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/structs.py +0 -165
  717. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/six.py +0 -998
  718. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__init__.py +0 -517
  719. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_asyncio.py +0 -92
  720. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_utils.py +0 -68
  721. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/after.py +0 -46
  722. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before.py +0 -41
  723. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before_sleep.py +0 -58
  724. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/nap.py +0 -43
  725. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/retry.py +0 -213
  726. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/stop.py +0 -96
  727. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/tornadoweb.py +0 -59
  728. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/wait.py +0 -191
  729. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__init__.py +0 -6
  730. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_parser.py +0 -703
  731. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_re.py +0 -83
  732. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__init__.py +0 -85
  733. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_collections.py +0 -337
  734. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  735. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connection.py +0 -539
  736. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1067
  737. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  738. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  739. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  740. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  741. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -396
  742. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  743. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  744. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -511
  745. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -922
  746. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  747. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  748. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  749. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  750. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -5
  751. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  752. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  753. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1077
  754. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py +0 -24
  755. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py +0 -160
  756. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -536
  757. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/request.py +0 -170
  758. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/response.py +0 -821
  759. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  760. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/connection.py +0 -150
  761. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -56
  762. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  763. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/request.py +0 -143
  764. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  765. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/retry.py +0 -602
  766. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -495
  767. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  768. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -268
  769. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/url.py +0 -432
  770. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/wait.py +0 -153
  771. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/vendor.txt +0 -22
  772. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__init__.py +0 -342
  773. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/labels.py +0 -231
  774. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/mklabels.py +0 -59
  775. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/tests.py +0 -153
  776. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/x_user_defined.py +0 -325
  777. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/py.typed +0 -4
  778. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/INSTALLER +0 -1
  779. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/LICENSE.txt +0 -20
  780. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/METADATA +0 -92
  781. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/RECORD +0 -795
  782. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/REQUESTED +0 -0
  783. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/WHEEL +0 -5
  784. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/entry_points.txt +0 -5
  785. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/top_level.txt +0 -1
  786. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/__init__.py +0 -3288
  787. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__init__.py +0 -0
  788. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/appdirs.py +0 -608
  789. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__about__.py +0 -27
  790. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__init__.py +0 -26
  791. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_compat.py +0 -38
  792. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_structures.py +0 -86
  793. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_typing.py +0 -48
  794. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/markers.py +0 -328
  795. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/requirements.py +0 -145
  796. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/specifiers.py +0 -863
  797. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/tags.py +0 -751
  798. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/utils.py +0 -65
  799. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py +0 -535
  800. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/pyparsing.py +0 -5742
  801. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/extern/__init__.py +0 -73
  802. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +0 -6
  803. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/__init__.py +0 -2
  804. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/__init__.py +0 -1
  805. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/__init__.py +0 -1
  806. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/decoder.py +0 -2189
  807. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/encoder.py +0 -954
  808. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/eoo.py +0 -28
  809. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/__init__.py +0 -1
  810. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/decoder.py +0 -149
  811. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/encoder.py +0 -331
  812. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/__init__.py +0 -1
  813. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/decoder.py +0 -120
  814. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/encoder.py +0 -126
  815. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/__init__.py +0 -1
  816. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/decoder.py +0 -244
  817. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/encoder.py +0 -285
  818. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/streaming.py +0 -234
  819. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/compat/__init__.py +0 -4
  820. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/compat/integer.py +0 -13
  821. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/debug.py +0 -146
  822. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/error.py +0 -116
  823. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/__init__.py +0 -1
  824. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/base.py +0 -699
  825. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/char.py +0 -288
  826. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/constraint.py +0 -751
  827. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/error.py +0 -11
  828. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/namedtype.py +0 -550
  829. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/namedval.py +0 -192
  830. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/opentype.py +0 -104
  831. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/tag.py +0 -335
  832. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/tagmap.py +0 -96
  833. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/univ.py +0 -3327
  834. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/useful.py +0 -189
  835. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/INSTALLER +0 -1
  836. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/LICENSE.rst +0 -24
  837. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/METADATA +0 -228
  838. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/RECORD +0 -71
  839. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/WHEEL +0 -5
  840. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/top_level.txt +0 -1
  841. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/zip-safe +0 -1
  842. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/__init__.py +0 -2
  843. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/pem.py +0 -58
  844. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1155.py +0 -96
  845. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1157.py +0 -126
  846. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1901.py +0 -22
  847. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1902.py +0 -129
  848. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1905.py +0 -135
  849. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2251.py +0 -563
  850. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2314.py +0 -48
  851. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2315.py +0 -294
  852. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2437.py +0 -69
  853. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2459.py +0 -1339
  854. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2511.py +0 -258
  855. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2560.py +0 -225
  856. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2631.py +0 -37
  857. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2634.py +0 -336
  858. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2876.py +0 -56
  859. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2985.py +0 -588
  860. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2986.py +0 -75
  861. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3058.py +0 -42
  862. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3114.py +0 -77
  863. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3125.py +0 -469
  864. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3161.py +0 -142
  865. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3274.py +0 -59
  866. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3279.py +0 -260
  867. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3280.py +0 -1543
  868. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3281.py +0 -331
  869. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3370.py +0 -146
  870. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3412.py +0 -53
  871. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3414.py +0 -28
  872. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3447.py +0 -45
  873. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3537.py +0 -34
  874. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3560.py +0 -74
  875. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3565.py +0 -57
  876. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3657.py +0 -66
  877. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3709.py +0 -207
  878. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3739.py +0 -203
  879. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3770.py +0 -75
  880. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3779.py +0 -137
  881. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3820.py +0 -65
  882. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3852.py +0 -706
  883. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4010.py +0 -58
  884. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4043.py +0 -43
  885. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4055.py +0 -258
  886. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4073.py +0 -59
  887. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4108.py +0 -350
  888. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4210.py +0 -803
  889. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4211.py +0 -396
  890. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4334.py +0 -75
  891. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4357.py +0 -477
  892. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4387.py +0 -23
  893. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4476.py +0 -93
  894. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4490.py +0 -113
  895. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4491.py +0 -44
  896. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4683.py +0 -72
  897. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4985.py +0 -49
  898. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5035.py +0 -199
  899. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5083.py +0 -52
  900. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5084.py +0 -97
  901. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5126.py +0 -577
  902. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5208.py +0 -56
  903. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5275.py +0 -404
  904. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5280.py +0 -1658
  905. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5480.py +0 -190
  906. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5636.py +0 -113
  907. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5639.py +0 -49
  908. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5649.py +0 -33
  909. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5652.py +0 -761
  910. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5697.py +0 -70
  911. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5751.py +0 -124
  912. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5752.py +0 -49
  913. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5753.py +0 -157
  914. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5755.py +0 -398
  915. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5913.py +0 -44
  916. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5914.py +0 -119
  917. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5915.py +0 -32
  918. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5916.py +0 -35
  919. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5917.py +0 -55
  920. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5924.py +0 -19
  921. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5934.py +0 -786
  922. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5940.py +0 -59
  923. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5958.py +0 -98
  924. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5990.py +0 -237
  925. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6010.py +0 -88
  926. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6019.py +0 -45
  927. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6031.py +0 -469
  928. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6032.py +0 -68
  929. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6120.py +0 -43
  930. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6170.py +0 -17
  931. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6187.py +0 -22
  932. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6210.py +0 -42
  933. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6211.py +0 -72
  934. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6402.py +0 -628
  935. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6482.py +0 -74
  936. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6486.py +0 -68
  937. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6487.py +0 -22
  938. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6664.py +0 -147
  939. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6955.py +0 -108
  940. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6960.py +0 -223
  941. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7030.py +0 -66
  942. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7191.py +0 -261
  943. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7229.py +0 -29
  944. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7292.py +0 -357
  945. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7296.py +0 -32
  946. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7508.py +0 -90
  947. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7585.py +0 -50
  948. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7633.py +0 -38
  949. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7773.py +0 -52
  950. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7894.py +0 -92
  951. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7906.py +0 -736
  952. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7914.py +0 -49
  953. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8017.py +0 -153
  954. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8018.py +0 -260
  955. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8103.py +0 -36
  956. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8209.py +0 -20
  957. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8226.py +0 -149
  958. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8358.py +0 -50
  959. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8360.py +0 -44
  960. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8398.py +0 -52
  961. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8410.py +0 -43
  962. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8418.py +0 -36
  963. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8419.py +0 -68
  964. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8479.py +0 -45
  965. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8494.py +0 -80
  966. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8520.py +0 -63
  967. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8619.py +0 -45
  968. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8649.py +0 -40
  969. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8692.py +0 -79
  970. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8696.py +0 -104
  971. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8702.py +0 -105
  972. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8708.py +0 -41
  973. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8769.py +0 -21
  974. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/INSTALLER +0 -1
  975. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/METADATA +0 -73
  976. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/RECORD +0 -271
  977. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/WHEEL +0 -5
  978. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/licenses/LICENSE.txt +0 -24
  979. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/top_level.txt +0 -1
  980. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/zip-safe +0 -1
  981. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/__init__.py +0 -456
  982. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/__init__.py +0 -0
  983. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_config.py +0 -383
  984. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_core_metadata.py +0 -97
  985. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_core_utils.py +0 -174
  986. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_dataclasses.py +0 -315
  987. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_decorators.py +0 -858
  988. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_decorators_v1.py +0 -174
  989. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_discriminated_union.py +0 -479
  990. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_docs_extraction.py +0 -113
  991. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_fields.py +0 -635
  992. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_forward_ref.py +0 -23
  993. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py +0 -2867
  994. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_generics.py +0 -543
  995. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_git.py +0 -27
  996. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_import_utils.py +0 -20
  997. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_internal_dataclass.py +0 -7
  998. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_known_annotated_metadata.py +0 -401
  999. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_mock_val_ser.py +0 -228
  1000. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_model_construction.py +0 -848
  1001. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_namespace_utils.py +0 -293
  1002. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_repr.py +0 -124
  1003. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_schema_gather.py +0 -209
  1004. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_schema_generation_shared.py +0 -125
  1005. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_serializers.py +0 -53
  1006. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_signature.py +0 -188
  1007. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_typing_extra.py +0 -760
  1008. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_utils.py +0 -446
  1009. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_validate_call.py +0 -140
  1010. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_validators.py +0 -533
  1011. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_migration.py +0 -316
  1012. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/alias_generators.py +0 -62
  1013. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/aliases.py +0 -135
  1014. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/annotated_handlers.py +0 -122
  1015. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/class_validators.py +0 -5
  1016. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/color.py +0 -604
  1017. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/config.py +0 -1288
  1018. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/dataclasses.py +0 -413
  1019. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/datetime_parse.py +0 -5
  1020. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/decorator.py +0 -5
  1021. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/__init__.py +0 -0
  1022. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/class_validators.py +0 -256
  1023. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/config.py +0 -72
  1024. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/copy_internals.py +0 -224
  1025. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/decorator.py +0 -284
  1026. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/json.py +0 -141
  1027. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/parse.py +0 -80
  1028. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/tools.py +0 -103
  1029. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/env_settings.py +0 -5
  1030. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/error_wrappers.py +0 -5
  1031. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/errors.py +0 -189
  1032. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/__init__.py +0 -1
  1033. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/arguments_schema.py +0 -44
  1034. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/missing_sentinel.py +0 -5
  1035. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/pipeline.py +0 -654
  1036. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/fields.py +0 -1834
  1037. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/functional_serializers.py +0 -451
  1038. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/functional_validators.py +0 -893
  1039. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/generics.py +0 -5
  1040. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/json.py +0 -5
  1041. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/json_schema.py +0 -2854
  1042. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/main.py +0 -1819
  1043. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/mypy.py +0 -1374
  1044. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/networks.py +0 -1331
  1045. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/parse.py +0 -5
  1046. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/__init__.py +0 -193
  1047. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/_loader.py +0 -58
  1048. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/_schema_validator.py +0 -140
  1049. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/py.typed +0 -0
  1050. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/root_model.py +0 -155
  1051. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/schema.py +0 -5
  1052. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/tools.py +0 -5
  1053. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/type_adapter.py +0 -795
  1054. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/types.py +0 -3295
  1055. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/typing.py +0 -5
  1056. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/utils.py +0 -5
  1057. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/__init__.py +0 -142
  1058. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/_hypothesis_plugin.py +0 -391
  1059. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/annotated_types.py +0 -72
  1060. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/class_validators.py +0 -361
  1061. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/color.py +0 -494
  1062. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/config.py +0 -191
  1063. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/dataclasses.py +0 -500
  1064. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/datetime_parse.py +0 -248
  1065. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/decorator.py +0 -264
  1066. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/env_settings.py +0 -350
  1067. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/error_wrappers.py +0 -161
  1068. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/errors.py +0 -646
  1069. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/fields.py +0 -1253
  1070. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/generics.py +0 -400
  1071. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/json.py +0 -112
  1072. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/main.py +0 -1113
  1073. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/mypy.py +0 -949
  1074. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/networks.py +0 -747
  1075. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/parse.py +0 -66
  1076. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/py.typed +0 -0
  1077. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/schema.py +0 -1163
  1078. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/tools.py +0 -92
  1079. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/types.py +0 -1205
  1080. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/typing.py +0 -614
  1081. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/utils.py +0 -806
  1082. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/validators.py +0 -768
  1083. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/version.py +0 -38
  1084. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/validate_call_decorator.py +0 -116
  1085. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/validators.py +0 -5
  1086. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/version.py +0 -113
  1087. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/warnings.py +0 -122
  1088. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/INSTALLER +0 -1
  1089. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/METADATA +0 -1029
  1090. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/RECORD +0 -217
  1091. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/WHEEL +0 -4
  1092. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/licenses/LICENSE +0 -21
  1093. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/__init__.py +0 -171
  1094. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/_pydantic_core.cpython-39-darwin.so +0 -0
  1095. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/_pydantic_core.pyi +0 -1046
  1096. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/core_schema.py +0 -4435
  1097. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/py.typed +0 -0
  1098. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/INSTALLER +0 -1
  1099. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/METADATA +0 -180
  1100. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/RECORD +0 -12
  1101. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/WHEEL +0 -4
  1102. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/licenses/LICENSE +0 -21
  1103. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/__init__.py +0 -184
  1104. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/__version__.py +0 -14
  1105. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/_internal_utils.py +0 -50
  1106. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/adapters.py +0 -696
  1107. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/api.py +0 -157
  1108. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/auth.py +0 -314
  1109. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/certs.py +0 -17
  1110. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/compat.py +0 -106
  1111. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/cookies.py +0 -561
  1112. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/exceptions.py +0 -151
  1113. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/help.py +0 -134
  1114. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/hooks.py +0 -33
  1115. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/models.py +0 -1039
  1116. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/packages.py +0 -23
  1117. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/sessions.py +0 -831
  1118. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/status_codes.py +0 -128
  1119. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/structures.py +0 -99
  1120. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/utils.py +0 -1086
  1121. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/INSTALLER +0 -1
  1122. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/METADATA +0 -133
  1123. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/RECORD +0 -43
  1124. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/REQUESTED +0 -0
  1125. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/WHEEL +0 -5
  1126. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/licenses/LICENSE +0 -175
  1127. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/top_level.txt +0 -1
  1128. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/__init__.py +0 -60
  1129. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/asn1.py +0 -52
  1130. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/cli.py +0 -321
  1131. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/common.py +0 -184
  1132. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/core.py +0 -53
  1133. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/key.py +0 -858
  1134. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/parallel.py +0 -96
  1135. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pem.py +0 -134
  1136. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pkcs1.py +0 -485
  1137. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pkcs1_v2.py +0 -100
  1138. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/prime.py +0 -198
  1139. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/py.typed +0 -1
  1140. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/randnum.py +0 -95
  1141. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/transform.py +0 -72
  1142. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/util.py +0 -97
  1143. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/INSTALLER +0 -1
  1144. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/LICENSE +0 -13
  1145. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/METADATA +0 -140
  1146. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/RECORD +0 -41
  1147. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/WHEEL +0 -4
  1148. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/entry_points.txt +0 -8
  1149. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/__init__.py +0 -242
  1150. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_deprecation_warning.py +0 -7
  1151. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/__init__.py +0 -15
  1152. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/_msvccompiler.py +0 -561
  1153. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/archive_util.py +0 -256
  1154. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/bcppcompiler.py +0 -393
  1155. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/ccompiler.py +0 -1123
  1156. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/cmd.py +0 -403
  1157. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__init__.py +0 -31
  1158. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist.py +0 -143
  1159. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_dumb.py +0 -123
  1160. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_msi.py +0 -749
  1161. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_rpm.py +0 -579
  1162. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_wininst.py +0 -377
  1163. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build.py +0 -157
  1164. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_clib.py +0 -209
  1165. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py +0 -757
  1166. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_py.py +0 -392
  1167. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_scripts.py +0 -152
  1168. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/check.py +0 -148
  1169. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/clean.py +0 -76
  1170. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/config.py +0 -344
  1171. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install.py +0 -677
  1172. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_data.py +0 -79
  1173. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_egg_info.py +0 -77
  1174. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_headers.py +0 -47
  1175. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_lib.py +0 -217
  1176. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_scripts.py +0 -60
  1177. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/py37compat.py +0 -30
  1178. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/register.py +0 -304
  1179. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py +0 -494
  1180. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/upload.py +0 -214
  1181. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/config.py +0 -130
  1182. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/core.py +0 -234
  1183. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/cygwinccompiler.py +0 -414
  1184. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/debug.py +0 -5
  1185. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dep_util.py +0 -92
  1186. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dir_util.py +0 -210
  1187. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dist.py +0 -1257
  1188. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/errors.py +0 -97
  1189. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/extension.py +0 -240
  1190. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/fancy_getopt.py +0 -457
  1191. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/file_util.py +0 -238
  1192. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/filelist.py +0 -355
  1193. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/log.py +0 -77
  1194. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvc9compiler.py +0 -788
  1195. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvccompiler.py +0 -643
  1196. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/py35compat.py +0 -19
  1197. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/py38compat.py +0 -7
  1198. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/spawn.py +0 -106
  1199. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/sysconfig.py +0 -573
  1200. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/text_file.py +0 -286
  1201. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/unixccompiler.py +0 -332
  1202. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/util.py +0 -535
  1203. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/version.py +0 -347
  1204. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/versionpredicate.py +0 -166
  1205. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_imp.py +0 -82
  1206. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/__init__.py +0 -0
  1207. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__init__.py +0 -4
  1208. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/more.py +0 -3825
  1209. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/recipes.py +0 -620
  1210. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/ordered_set.py +0 -488
  1211. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__about__.py +0 -27
  1212. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__init__.py +0 -26
  1213. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_compat.py +0 -38
  1214. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_structures.py +0 -86
  1215. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_typing.py +0 -48
  1216. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/markers.py +0 -328
  1217. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/requirements.py +0 -145
  1218. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/specifiers.py +0 -863
  1219. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/tags.py +0 -751
  1220. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.py +0 -65
  1221. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/version.py +0 -535
  1222. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/pyparsing.py +0 -5742
  1223. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/archive_util.py +0 -205
  1224. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/build_meta.py +0 -281
  1225. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli-32.exe +0 -0
  1226. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli-64.exe +0 -0
  1227. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli.exe +0 -0
  1228. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/__init__.py +0 -8
  1229. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/alias.py +0 -78
  1230. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/bdist_egg.py +0 -456
  1231. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/bdist_rpm.py +0 -31
  1232. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_clib.py +0 -101
  1233. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_ext.py +0 -328
  1234. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_py.py +0 -232
  1235. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/develop.py +0 -193
  1236. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/dist_info.py +0 -36
  1237. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/easy_install.py +0 -2290
  1238. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/egg_info.py +0 -734
  1239. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install.py +0 -125
  1240. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_egg_info.py +0 -62
  1241. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_lib.py +0 -122
  1242. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_scripts.py +0 -69
  1243. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/launcher manifest.xml +0 -15
  1244. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/py36compat.py +0 -134
  1245. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/register.py +0 -18
  1246. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/rotate.py +0 -64
  1247. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/saveopts.py +0 -22
  1248. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/sdist.py +0 -189
  1249. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/setopt.py +0 -149
  1250. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/test.py +0 -252
  1251. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/upload.py +0 -17
  1252. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/upload_docs.py +0 -202
  1253. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/config.py +0 -749
  1254. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/dep_util.py +0 -25
  1255. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/depends.py +0 -175
  1256. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/dist.py +0 -1150
  1257. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/errors.py +0 -16
  1258. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/extension.py +0 -55
  1259. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/extern/__init__.py +0 -73
  1260. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/glob.py +0 -167
  1261. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui-32.exe +0 -0
  1262. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui-64.exe +0 -0
  1263. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui.exe +0 -0
  1264. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/installer.py +0 -97
  1265. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/launch.py +0 -36
  1266. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/monkey.py +0 -177
  1267. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/msvc.py +0 -1805
  1268. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/namespaces.py +0 -107
  1269. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/package_index.py +0 -1119
  1270. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/py34compat.py +0 -13
  1271. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/sandbox.py +0 -530
  1272. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/script (dev).tmpl +0 -6
  1273. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/script.tmpl +0 -3
  1274. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/unicode_utils.py +0 -42
  1275. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/version.py +0 -6
  1276. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/wheel.py +0 -213
  1277. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/windows_support.py +0 -29
  1278. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/INSTALLER +0 -1
  1279. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/LICENSE +0 -19
  1280. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/METADATA +0 -119
  1281. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/RECORD +0 -296
  1282. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/REQUESTED +0 -0
  1283. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/WHEEL +0 -5
  1284. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/entry_points.txt +0 -56
  1285. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/top_level.txt +0 -3
  1286. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/__init__.py +0 -722
  1287. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/_utils.py +0 -101
  1288. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/after.py +0 -51
  1289. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/asyncio/__init__.py +0 -206
  1290. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/asyncio/retry.py +0 -125
  1291. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/before.py +0 -48
  1292. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/before_sleep.py +0 -72
  1293. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/nap.py +0 -43
  1294. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/py.typed +0 -0
  1295. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/retry.py +0 -282
  1296. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/stop.py +0 -130
  1297. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/tornadoweb.py +0 -63
  1298. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/wait.py +0 -234
  1299. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/INSTALLER +0 -1
  1300. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/METADATA +0 -31
  1301. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/RECORD +0 -31
  1302. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/WHEEL +0 -5
  1303. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/licenses/LICENSE +0 -202
  1304. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/top_level.txt +0 -1
  1305. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/INSTALLER +0 -1
  1306. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/METADATA +0 -72
  1307. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/RECORD +0 -7
  1308. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/WHEEL +0 -4
  1309. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/licenses/LICENSE +0 -279
  1310. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions.py +0 -4317
  1311. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/__init__.py +0 -0
  1312. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/introspection.py +0 -587
  1313. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/py.typed +0 -0
  1314. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/typing_objects.py +0 -607
  1315. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/typing_objects.pyi +0 -417
  1316. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/INSTALLER +0 -1
  1317. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/METADATA +0 -49
  1318. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/RECORD +0 -13
  1319. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/WHEEL +0 -4
  1320. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/licenses/LICENSE +0 -21
  1321. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/__init__.py +0 -211
  1322. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_base_connection.py +0 -165
  1323. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_collections.py +0 -487
  1324. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_request_methods.py +0 -278
  1325. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_version.py +0 -34
  1326. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/connection.py +0 -1099
  1327. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py +0 -1178
  1328. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/__init__.py +0 -0
  1329. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/__init__.py +0 -16
  1330. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/connection.py +0 -259
  1331. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/emscripten_fetch_worker.js +0 -110
  1332. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/fetch.py +0 -726
  1333. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/request.py +0 -22
  1334. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/response.py +0 -277
  1335. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/pyopenssl.py +0 -564
  1336. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/socks.py +0 -228
  1337. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/exceptions.py +0 -335
  1338. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/fields.py +0 -341
  1339. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/filepost.py +0 -89
  1340. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/__init__.py +0 -53
  1341. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/connection.py +0 -356
  1342. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/probe.py +0 -87
  1343. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/poolmanager.py +0 -651
  1344. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/py.typed +0 -2
  1345. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/response.py +0 -1465
  1346. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/__init__.py +0 -42
  1347. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/connection.py +0 -137
  1348. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/proxy.py +0 -43
  1349. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/request.py +0 -263
  1350. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/response.py +0 -101
  1351. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/retry.py +0 -533
  1352. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssl_.py +0 -527
  1353. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssl_match_hostname.py +0 -159
  1354. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssltransport.py +0 -271
  1355. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/timeout.py +0 -275
  1356. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/url.py +0 -469
  1357. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/util.py +0 -42
  1358. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/wait.py +0 -124
  1359. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/INSTALLER +0 -1
  1360. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/METADATA +0 -156
  1361. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/RECORD +0 -79
  1362. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/WHEEL +0 -4
  1363. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/licenses/LICENSE.txt +0 -21
  1364. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/__init__.py +0 -236
  1365. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/__main__.py +0 -5
  1366. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/__init__.py +0 -0
  1367. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/async_timeout.py +0 -282
  1368. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/client.py +0 -820
  1369. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/compatibility.py +0 -30
  1370. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/connection.py +0 -1237
  1371. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/messages.py +0 -314
  1372. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/router.py +0 -198
  1373. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/server.py +0 -981
  1374. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/auth.py +0 -18
  1375. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/cli.py +0 -178
  1376. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/client.py +0 -389
  1377. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/connection.py +0 -12
  1378. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/datastructures.py +0 -187
  1379. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/exceptions.py +0 -473
  1380. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/__init__.py +0 -4
  1381. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/base.py +0 -123
  1382. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/permessage_deflate.py +0 -697
  1383. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/frames.py +0 -430
  1384. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/headers.py +0 -586
  1385. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/http.py +0 -20
  1386. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/http11.py +0 -427
  1387. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/imports.py +0 -100
  1388. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/__init__.py +0 -11
  1389. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/auth.py +0 -190
  1390. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/client.py +0 -705
  1391. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/exceptions.py +0 -71
  1392. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/framing.py +0 -225
  1393. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/handshake.py +0 -158
  1394. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/http.py +0 -201
  1395. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/protocol.py +0 -1641
  1396. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/server.py +0 -1191
  1397. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/protocol.py +0 -758
  1398. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/py.typed +0 -0
  1399. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/server.py +0 -587
  1400. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.c +0 -222
  1401. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.cpython-39-darwin.so +0 -0
  1402. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.pyi +0 -1
  1403. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/streams.py +0 -151
  1404. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/__init__.py +0 -0
  1405. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/client.py +0 -648
  1406. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/connection.py +0 -1072
  1407. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/messages.py +0 -345
  1408. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/router.py +0 -192
  1409. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/server.py +0 -763
  1410. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/utils.py +0 -45
  1411. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/typing.py +0 -74
  1412. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/uri.py +0 -225
  1413. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/utils.py +0 -51
  1414. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/version.py +0 -92
  1415. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/INSTALLER +0 -1
  1416. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/LICENSE +0 -24
  1417. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/METADATA +0 -179
  1418. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/RECORD +0 -106
  1419. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/WHEEL +0 -5
  1420. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/entry_points.txt +0 -2
  1421. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/top_level.txt +0 -1
  1422. package/.claude/envoy/.venv/pyvenv.cfg +0 -3
  1423. package/.claude/plans/feat-npm-package-cli/plan.md +0 -85
  1424. package/.claude/plans/feat-specialist-builder-patterns/plan.md +0 -298
@@ -1,2189 +0,0 @@
1
- #
2
- # This file is part of pyasn1 software.
3
- #
4
- # Copyright (c) 2005-2020, Ilya Etingof <etingof@gmail.com>
5
- # License: https://pyasn1.readthedocs.io/en/latest/license.html
6
- #
7
- import io
8
- import os
9
- import sys
10
- import warnings
11
-
12
- from pyasn1 import debug
13
- from pyasn1 import error
14
- from pyasn1.codec.ber import eoo
15
- from pyasn1.codec.streaming import asSeekableStream
16
- from pyasn1.codec.streaming import isEndOfStream
17
- from pyasn1.codec.streaming import peekIntoStream
18
- from pyasn1.codec.streaming import readFromStream
19
- from pyasn1.compat import _MISSING
20
- from pyasn1.error import PyAsn1Error
21
- from pyasn1.type import base
22
- from pyasn1.type import char
23
- from pyasn1.type import tag
24
- from pyasn1.type import tagmap
25
- from pyasn1.type import univ
26
- from pyasn1.type import useful
27
-
28
- __all__ = ['StreamingDecoder', 'Decoder', 'decode']
29
-
30
- LOG = debug.registerLoggee(__name__, flags=debug.DEBUG_DECODER)
31
-
32
- noValue = base.noValue
33
-
34
- SubstrateUnderrunError = error.SubstrateUnderrunError
35
-
36
-
37
- class AbstractPayloadDecoder(object):
38
- protoComponent = None
39
-
40
- def valueDecoder(self, substrate, asn1Spec,
41
- tagSet=None, length=None, state=None,
42
- decodeFun=None, substrateFun=None,
43
- **options):
44
- """Decode value with fixed byte length.
45
-
46
- The decoder is allowed to consume as many bytes as necessary.
47
- """
48
- raise error.PyAsn1Error('SingleItemDecoder not implemented for %s' % (tagSet,)) # TODO: Seems more like an NotImplementedError?
49
-
50
- def indefLenValueDecoder(self, substrate, asn1Spec,
51
- tagSet=None, length=None, state=None,
52
- decodeFun=None, substrateFun=None,
53
- **options):
54
- """Decode value with undefined length.
55
-
56
- The decoder is allowed to consume as many bytes as necessary.
57
- """
58
- raise error.PyAsn1Error('Indefinite length mode decoder not implemented for %s' % (tagSet,)) # TODO: Seems more like an NotImplementedError?
59
-
60
- @staticmethod
61
- def _passAsn1Object(asn1Object, options):
62
- if 'asn1Object' not in options:
63
- options['asn1Object'] = asn1Object
64
-
65
- return options
66
-
67
-
68
- class AbstractSimplePayloadDecoder(AbstractPayloadDecoder):
69
- @staticmethod
70
- def substrateCollector(asn1Object, substrate, length, options):
71
- for chunk in readFromStream(substrate, length, options):
72
- yield chunk
73
-
74
- def _createComponent(self, asn1Spec, tagSet, value, **options):
75
- if options.get('native'):
76
- return value
77
- elif asn1Spec is None:
78
- return self.protoComponent.clone(value, tagSet=tagSet)
79
- elif value is noValue:
80
- return asn1Spec
81
- else:
82
- return asn1Spec.clone(value)
83
-
84
-
85
- class RawPayloadDecoder(AbstractSimplePayloadDecoder):
86
- protoComponent = univ.Any('')
87
-
88
- def valueDecoder(self, substrate, asn1Spec,
89
- tagSet=None, length=None, state=None,
90
- decodeFun=None, substrateFun=None,
91
- **options):
92
- if substrateFun:
93
- asn1Object = self._createComponent(asn1Spec, tagSet, '', **options)
94
-
95
- for chunk in substrateFun(asn1Object, substrate, length, options):
96
- yield chunk
97
-
98
- return
99
-
100
- for value in decodeFun(substrate, asn1Spec, tagSet, length, **options):
101
- yield value
102
-
103
- def indefLenValueDecoder(self, substrate, asn1Spec,
104
- tagSet=None, length=None, state=None,
105
- decodeFun=None, substrateFun=None,
106
- **options):
107
- if substrateFun:
108
- asn1Object = self._createComponent(asn1Spec, tagSet, '', **options)
109
-
110
- for chunk in substrateFun(asn1Object, substrate, length, options):
111
- yield chunk
112
-
113
- return
114
-
115
- while True:
116
- for value in decodeFun(
117
- substrate, asn1Spec, tagSet, length,
118
- allowEoo=True, **options):
119
-
120
- if value is eoo.endOfOctets:
121
- return
122
-
123
- yield value
124
-
125
-
126
- rawPayloadDecoder = RawPayloadDecoder()
127
-
128
-
129
- class IntegerPayloadDecoder(AbstractSimplePayloadDecoder):
130
- protoComponent = univ.Integer(0)
131
-
132
- def valueDecoder(self, substrate, asn1Spec,
133
- tagSet=None, length=None, state=None,
134
- decodeFun=None, substrateFun=None,
135
- **options):
136
-
137
- if tagSet[0].tagFormat != tag.tagFormatSimple:
138
- raise error.PyAsn1Error('Simple tag format expected')
139
-
140
- for chunk in readFromStream(substrate, length, options):
141
- if isinstance(chunk, SubstrateUnderrunError):
142
- yield chunk
143
-
144
- if chunk:
145
- value = int.from_bytes(bytes(chunk), 'big', signed=True)
146
-
147
- else:
148
- value = 0
149
-
150
- yield self._createComponent(asn1Spec, tagSet, value, **options)
151
-
152
-
153
- class BooleanPayloadDecoder(IntegerPayloadDecoder):
154
- protoComponent = univ.Boolean(0)
155
-
156
- def _createComponent(self, asn1Spec, tagSet, value, **options):
157
- return IntegerPayloadDecoder._createComponent(
158
- self, asn1Spec, tagSet, value and 1 or 0, **options)
159
-
160
-
161
- class BitStringPayloadDecoder(AbstractSimplePayloadDecoder):
162
- protoComponent = univ.BitString(())
163
- supportConstructedForm = True
164
-
165
- def valueDecoder(self, substrate, asn1Spec,
166
- tagSet=None, length=None, state=None,
167
- decodeFun=None, substrateFun=None,
168
- **options):
169
-
170
- if substrateFun:
171
- asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options)
172
-
173
- for chunk in substrateFun(asn1Object, substrate, length, options):
174
- yield chunk
175
-
176
- return
177
-
178
- if not length:
179
- raise error.PyAsn1Error('Empty BIT STRING substrate')
180
-
181
- for chunk in isEndOfStream(substrate):
182
- if isinstance(chunk, SubstrateUnderrunError):
183
- yield chunk
184
-
185
- if chunk:
186
- raise error.PyAsn1Error('Empty BIT STRING substrate')
187
-
188
- if tagSet[0].tagFormat == tag.tagFormatSimple: # XXX what tag to check?
189
-
190
- for trailingBits in readFromStream(substrate, 1, options):
191
- if isinstance(trailingBits, SubstrateUnderrunError):
192
- yield trailingBits
193
-
194
- trailingBits = ord(trailingBits)
195
- if trailingBits > 7:
196
- raise error.PyAsn1Error(
197
- 'Trailing bits overflow %s' % trailingBits
198
- )
199
-
200
- for chunk in readFromStream(substrate, length - 1, options):
201
- if isinstance(chunk, SubstrateUnderrunError):
202
- yield chunk
203
-
204
- value = self.protoComponent.fromOctetString(
205
- chunk, internalFormat=True, padding=trailingBits)
206
-
207
- yield self._createComponent(asn1Spec, tagSet, value, **options)
208
-
209
- return
210
-
211
- if not self.supportConstructedForm:
212
- raise error.PyAsn1Error('Constructed encoding form prohibited '
213
- 'at %s' % self.__class__.__name__)
214
-
215
- if LOG:
216
- LOG('assembling constructed serialization')
217
-
218
- # All inner fragments are of the same type, treat them as octet string
219
- substrateFun = self.substrateCollector
220
-
221
- bitString = self.protoComponent.fromOctetString(b'', internalFormat=True)
222
-
223
- current_position = substrate.tell()
224
-
225
- while substrate.tell() - current_position < length:
226
- for component in decodeFun(
227
- substrate, self.protoComponent, substrateFun=substrateFun,
228
- **options):
229
- if isinstance(component, SubstrateUnderrunError):
230
- yield component
231
-
232
- trailingBits = component[0]
233
- if trailingBits > 7:
234
- raise error.PyAsn1Error(
235
- 'Trailing bits overflow %s' % trailingBits
236
- )
237
-
238
- bitString = self.protoComponent.fromOctetString(
239
- component[1:], internalFormat=True,
240
- prepend=bitString, padding=trailingBits
241
- )
242
-
243
- yield self._createComponent(asn1Spec, tagSet, bitString, **options)
244
-
245
- def indefLenValueDecoder(self, substrate, asn1Spec,
246
- tagSet=None, length=None, state=None,
247
- decodeFun=None, substrateFun=None,
248
- **options):
249
-
250
- if substrateFun:
251
- asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options)
252
-
253
- for chunk in substrateFun(asn1Object, substrate, length, options):
254
- yield chunk
255
-
256
- return
257
-
258
- # All inner fragments are of the same type, treat them as octet string
259
- substrateFun = self.substrateCollector
260
-
261
- bitString = self.protoComponent.fromOctetString(b'', internalFormat=True)
262
-
263
- while True: # loop over fragments
264
-
265
- for component in decodeFun(
266
- substrate, self.protoComponent, substrateFun=substrateFun,
267
- allowEoo=True, **options):
268
-
269
- if component is eoo.endOfOctets:
270
- break
271
-
272
- if isinstance(component, SubstrateUnderrunError):
273
- yield component
274
-
275
- if component is eoo.endOfOctets:
276
- break
277
-
278
- trailingBits = component[0]
279
- if trailingBits > 7:
280
- raise error.PyAsn1Error(
281
- 'Trailing bits overflow %s' % trailingBits
282
- )
283
-
284
- bitString = self.protoComponent.fromOctetString(
285
- component[1:], internalFormat=True,
286
- prepend=bitString, padding=trailingBits
287
- )
288
-
289
- yield self._createComponent(asn1Spec, tagSet, bitString, **options)
290
-
291
-
292
- class OctetStringPayloadDecoder(AbstractSimplePayloadDecoder):
293
- protoComponent = univ.OctetString('')
294
- supportConstructedForm = True
295
-
296
- def valueDecoder(self, substrate, asn1Spec,
297
- tagSet=None, length=None, state=None,
298
- decodeFun=None, substrateFun=None,
299
- **options):
300
- if substrateFun:
301
- asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options)
302
-
303
- for chunk in substrateFun(asn1Object, substrate, length, options):
304
- yield chunk
305
-
306
- return
307
-
308
- if tagSet[0].tagFormat == tag.tagFormatSimple: # XXX what tag to check?
309
- for chunk in readFromStream(substrate, length, options):
310
- if isinstance(chunk, SubstrateUnderrunError):
311
- yield chunk
312
-
313
- yield self._createComponent(asn1Spec, tagSet, chunk, **options)
314
-
315
- return
316
-
317
- if not self.supportConstructedForm:
318
- raise error.PyAsn1Error('Constructed encoding form prohibited at %s' % self.__class__.__name__)
319
-
320
- if LOG:
321
- LOG('assembling constructed serialization')
322
-
323
- # All inner fragments are of the same type, treat them as octet string
324
- substrateFun = self.substrateCollector
325
-
326
- header = b''
327
-
328
- original_position = substrate.tell()
329
- # head = popSubstream(substrate, length)
330
- while substrate.tell() - original_position < length:
331
- for component in decodeFun(
332
- substrate, self.protoComponent, substrateFun=substrateFun,
333
- **options):
334
- if isinstance(component, SubstrateUnderrunError):
335
- yield component
336
-
337
- header += component
338
-
339
- yield self._createComponent(asn1Spec, tagSet, header, **options)
340
-
341
- def indefLenValueDecoder(self, substrate, asn1Spec,
342
- tagSet=None, length=None, state=None,
343
- decodeFun=None, substrateFun=None,
344
- **options):
345
- if substrateFun and substrateFun is not self.substrateCollector:
346
- asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options)
347
-
348
- for chunk in substrateFun(asn1Object, substrate, length, options):
349
- yield chunk
350
-
351
- return
352
-
353
- # All inner fragments are of the same type, treat them as octet string
354
- substrateFun = self.substrateCollector
355
-
356
- header = b''
357
-
358
- while True: # loop over fragments
359
-
360
- for component in decodeFun(
361
- substrate, self.protoComponent, substrateFun=substrateFun,
362
- allowEoo=True, **options):
363
-
364
- if isinstance(component, SubstrateUnderrunError):
365
- yield component
366
-
367
- if component is eoo.endOfOctets:
368
- break
369
-
370
- if component is eoo.endOfOctets:
371
- break
372
-
373
- header += component
374
-
375
- yield self._createComponent(asn1Spec, tagSet, header, **options)
376
-
377
-
378
- class NullPayloadDecoder(AbstractSimplePayloadDecoder):
379
- protoComponent = univ.Null('')
380
-
381
- def valueDecoder(self, substrate, asn1Spec,
382
- tagSet=None, length=None, state=None,
383
- decodeFun=None, substrateFun=None,
384
- **options):
385
-
386
- if tagSet[0].tagFormat != tag.tagFormatSimple:
387
- raise error.PyAsn1Error('Simple tag format expected')
388
-
389
- for chunk in readFromStream(substrate, length, options):
390
- if isinstance(chunk, SubstrateUnderrunError):
391
- yield chunk
392
-
393
- component = self._createComponent(asn1Spec, tagSet, '', **options)
394
-
395
- if chunk:
396
- raise error.PyAsn1Error('Unexpected %d-octet substrate for Null' % length)
397
-
398
- yield component
399
-
400
-
401
- class ObjectIdentifierPayloadDecoder(AbstractSimplePayloadDecoder):
402
- protoComponent = univ.ObjectIdentifier(())
403
-
404
- def valueDecoder(self, substrate, asn1Spec,
405
- tagSet=None, length=None, state=None,
406
- decodeFun=None, substrateFun=None,
407
- **options):
408
- if tagSet[0].tagFormat != tag.tagFormatSimple:
409
- raise error.PyAsn1Error('Simple tag format expected')
410
-
411
- for chunk in readFromStream(substrate, length, options):
412
- if isinstance(chunk, SubstrateUnderrunError):
413
- yield chunk
414
-
415
- if not chunk:
416
- raise error.PyAsn1Error('Empty substrate')
417
-
418
- oid = ()
419
- index = 0
420
- substrateLen = len(chunk)
421
- while index < substrateLen:
422
- subId = chunk[index]
423
- index += 1
424
- if subId < 128:
425
- oid += (subId,)
426
- elif subId > 128:
427
- # Construct subid from a number of octets
428
- nextSubId = subId
429
- subId = 0
430
- while nextSubId >= 128:
431
- subId = (subId << 7) + (nextSubId & 0x7F)
432
- if index >= substrateLen:
433
- raise error.SubstrateUnderrunError(
434
- 'Short substrate for sub-OID past %s' % (oid,)
435
- )
436
- nextSubId = chunk[index]
437
- index += 1
438
- oid += ((subId << 7) + nextSubId,)
439
- elif subId == 128:
440
- # ASN.1 spec forbids leading zeros (0x80) in OID
441
- # encoding, tolerating it opens a vulnerability. See
442
- # https://www.esat.kuleuven.be/cosic/publications/article-1432.pdf
443
- # page 7
444
- raise error.PyAsn1Error('Invalid octet 0x80 in OID encoding')
445
-
446
- # Decode two leading arcs
447
- if 0 <= oid[0] <= 39:
448
- oid = (0,) + oid
449
- elif 40 <= oid[0] <= 79:
450
- oid = (1, oid[0] - 40) + oid[1:]
451
- elif oid[0] >= 80:
452
- oid = (2, oid[0] - 80) + oid[1:]
453
- else:
454
- raise error.PyAsn1Error('Malformed first OID octet: %s' % chunk[0])
455
-
456
- yield self._createComponent(asn1Spec, tagSet, oid, **options)
457
-
458
-
459
- class RelativeOIDPayloadDecoder(AbstractSimplePayloadDecoder):
460
- protoComponent = univ.RelativeOID(())
461
-
462
- def valueDecoder(self, substrate, asn1Spec,
463
- tagSet=None, length=None, state=None,
464
- decodeFun=None, substrateFun=None,
465
- **options):
466
- if tagSet[0].tagFormat != tag.tagFormatSimple:
467
- raise error.PyAsn1Error('Simple tag format expected')
468
-
469
- for chunk in readFromStream(substrate, length, options):
470
- if isinstance(chunk, SubstrateUnderrunError):
471
- yield chunk
472
-
473
- if not chunk:
474
- raise error.PyAsn1Error('Empty substrate')
475
-
476
- reloid = ()
477
- index = 0
478
- substrateLen = len(chunk)
479
- while index < substrateLen:
480
- subId = chunk[index]
481
- index += 1
482
- if subId < 128:
483
- reloid += (subId,)
484
- elif subId > 128:
485
- # Construct subid from a number of octets
486
- nextSubId = subId
487
- subId = 0
488
- while nextSubId >= 128:
489
- subId = (subId << 7) + (nextSubId & 0x7F)
490
- if index >= substrateLen:
491
- raise error.SubstrateUnderrunError(
492
- 'Short substrate for sub-OID past %s' % (reloid,)
493
- )
494
- nextSubId = chunk[index]
495
- index += 1
496
- reloid += ((subId << 7) + nextSubId,)
497
- elif subId == 128:
498
- # ASN.1 spec forbids leading zeros (0x80) in OID
499
- # encoding, tolerating it opens a vulnerability. See
500
- # https://www.esat.kuleuven.be/cosic/publications/article-1432.pdf
501
- # page 7
502
- raise error.PyAsn1Error('Invalid octet 0x80 in RELATIVE-OID encoding')
503
-
504
- yield self._createComponent(asn1Spec, tagSet, reloid, **options)
505
-
506
-
507
- class RealPayloadDecoder(AbstractSimplePayloadDecoder):
508
- protoComponent = univ.Real()
509
-
510
- def valueDecoder(self, substrate, asn1Spec,
511
- tagSet=None, length=None, state=None,
512
- decodeFun=None, substrateFun=None,
513
- **options):
514
- if tagSet[0].tagFormat != tag.tagFormatSimple:
515
- raise error.PyAsn1Error('Simple tag format expected')
516
-
517
- for chunk in readFromStream(substrate, length, options):
518
- if isinstance(chunk, SubstrateUnderrunError):
519
- yield chunk
520
-
521
- if not chunk:
522
- yield self._createComponent(asn1Spec, tagSet, 0.0, **options)
523
- return
524
-
525
- fo = chunk[0]
526
- chunk = chunk[1:]
527
- if fo & 0x80: # binary encoding
528
- if not chunk:
529
- raise error.PyAsn1Error("Incomplete floating-point value")
530
-
531
- if LOG:
532
- LOG('decoding binary encoded REAL')
533
-
534
- n = (fo & 0x03) + 1
535
-
536
- if n == 4:
537
- n = chunk[0]
538
- chunk = chunk[1:]
539
-
540
- eo, chunk = chunk[:n], chunk[n:]
541
-
542
- if not eo or not chunk:
543
- raise error.PyAsn1Error('Real exponent screwed')
544
-
545
- e = eo[0] & 0x80 and -1 or 0
546
-
547
- while eo: # exponent
548
- e <<= 8
549
- e |= eo[0]
550
- eo = eo[1:]
551
-
552
- b = fo >> 4 & 0x03 # base bits
553
-
554
- if b > 2:
555
- raise error.PyAsn1Error('Illegal Real base')
556
-
557
- if b == 1: # encbase = 8
558
- e *= 3
559
-
560
- elif b == 2: # encbase = 16
561
- e *= 4
562
- p = 0
563
-
564
- while chunk: # value
565
- p <<= 8
566
- p |= chunk[0]
567
- chunk = chunk[1:]
568
-
569
- if fo & 0x40: # sign bit
570
- p = -p
571
-
572
- sf = fo >> 2 & 0x03 # scale bits
573
- p *= 2 ** sf
574
- value = (p, 2, e)
575
-
576
- elif fo & 0x40: # infinite value
577
- if LOG:
578
- LOG('decoding infinite REAL')
579
-
580
- value = fo & 0x01 and '-inf' or 'inf'
581
-
582
- elif fo & 0xc0 == 0: # character encoding
583
- if not chunk:
584
- raise error.PyAsn1Error("Incomplete floating-point value")
585
-
586
- if LOG:
587
- LOG('decoding character encoded REAL')
588
-
589
- try:
590
- if fo & 0x3 == 0x1: # NR1
591
- value = (int(chunk), 10, 0)
592
-
593
- elif fo & 0x3 == 0x2: # NR2
594
- value = float(chunk)
595
-
596
- elif fo & 0x3 == 0x3: # NR3
597
- value = float(chunk)
598
-
599
- else:
600
- raise error.SubstrateUnderrunError(
601
- 'Unknown NR (tag %s)' % fo
602
- )
603
-
604
- except ValueError:
605
- raise error.SubstrateUnderrunError(
606
- 'Bad character Real syntax'
607
- )
608
-
609
- else:
610
- raise error.SubstrateUnderrunError(
611
- 'Unknown encoding (tag %s)' % fo
612
- )
613
-
614
- yield self._createComponent(asn1Spec, tagSet, value, **options)
615
-
616
-
617
- class AbstractConstructedPayloadDecoder(AbstractPayloadDecoder):
618
- protoComponent = None
619
-
620
-
621
- class ConstructedPayloadDecoderBase(AbstractConstructedPayloadDecoder):
622
- protoRecordComponent = None
623
- protoSequenceComponent = None
624
-
625
- def _getComponentTagMap(self, asn1Object, idx):
626
- raise NotImplementedError
627
-
628
- def _getComponentPositionByType(self, asn1Object, tagSet, idx):
629
- raise NotImplementedError
630
-
631
- def _decodeComponentsSchemaless(
632
- self, substrate, tagSet=None, decodeFun=None,
633
- length=None, **options):
634
-
635
- asn1Object = None
636
-
637
- components = []
638
- componentTypes = set()
639
-
640
- original_position = substrate.tell()
641
-
642
- while length == -1 or substrate.tell() < original_position + length:
643
- for component in decodeFun(substrate, **options):
644
- if isinstance(component, SubstrateUnderrunError):
645
- yield component
646
-
647
- if length == -1 and component is eoo.endOfOctets:
648
- break
649
-
650
- components.append(component)
651
- componentTypes.add(component.tagSet)
652
-
653
- # Now we have to guess is it SEQUENCE/SET or SEQUENCE OF/SET OF
654
- # The heuristics is:
655
- # * 1+ components of different types -> likely SEQUENCE/SET
656
- # * otherwise -> likely SEQUENCE OF/SET OF
657
- if len(componentTypes) > 1:
658
- protoComponent = self.protoRecordComponent
659
-
660
- else:
661
- protoComponent = self.protoSequenceComponent
662
-
663
- asn1Object = protoComponent.clone(
664
- # construct tagSet from base tag from prototype ASN.1 object
665
- # and additional tags recovered from the substrate
666
- tagSet=tag.TagSet(protoComponent.tagSet.baseTag, *tagSet.superTags)
667
- )
668
-
669
- if LOG:
670
- LOG('guessed %r container type (pass `asn1Spec` to guide the '
671
- 'decoder)' % asn1Object)
672
-
673
- for idx, component in enumerate(components):
674
- asn1Object.setComponentByPosition(
675
- idx, component,
676
- verifyConstraints=False,
677
- matchTags=False, matchConstraints=False
678
- )
679
-
680
- yield asn1Object
681
-
682
- def valueDecoder(self, substrate, asn1Spec,
683
- tagSet=None, length=None, state=None,
684
- decodeFun=None, substrateFun=None,
685
- **options):
686
- if tagSet[0].tagFormat != tag.tagFormatConstructed:
687
- raise error.PyAsn1Error('Constructed tag format expected')
688
-
689
- original_position = substrate.tell()
690
-
691
- if substrateFun:
692
- if asn1Spec is not None:
693
- asn1Object = asn1Spec.clone()
694
-
695
- elif self.protoComponent is not None:
696
- asn1Object = self.protoComponent.clone(tagSet=tagSet)
697
-
698
- else:
699
- asn1Object = self.protoRecordComponent, self.protoSequenceComponent
700
-
701
- for chunk in substrateFun(asn1Object, substrate, length, options):
702
- yield chunk
703
-
704
- return
705
-
706
- if asn1Spec is None:
707
- for asn1Object in self._decodeComponentsSchemaless(
708
- substrate, tagSet=tagSet, decodeFun=decodeFun,
709
- length=length, **options):
710
- if isinstance(asn1Object, SubstrateUnderrunError):
711
- yield asn1Object
712
-
713
- if substrate.tell() < original_position + length:
714
- if LOG:
715
- for trailing in readFromStream(substrate, context=options):
716
- if isinstance(trailing, SubstrateUnderrunError):
717
- yield trailing
718
-
719
- LOG('Unused trailing %d octets encountered: %s' % (
720
- len(trailing), debug.hexdump(trailing)))
721
-
722
- yield asn1Object
723
-
724
- return
725
-
726
- asn1Object = asn1Spec.clone()
727
- asn1Object.clear()
728
-
729
- options = self._passAsn1Object(asn1Object, options)
730
-
731
- if asn1Spec.typeId in (univ.Sequence.typeId, univ.Set.typeId):
732
-
733
- namedTypes = asn1Spec.componentType
734
-
735
- isSetType = asn1Spec.typeId == univ.Set.typeId
736
- isDeterministic = not isSetType and not namedTypes.hasOptionalOrDefault
737
-
738
- if LOG:
739
- LOG('decoding %sdeterministic %s type %r chosen by type ID' % (
740
- not isDeterministic and 'non-' or '', isSetType and 'SET' or '',
741
- asn1Spec))
742
-
743
- seenIndices = set()
744
- idx = 0
745
- while substrate.tell() - original_position < length:
746
- if not namedTypes:
747
- componentType = None
748
-
749
- elif isSetType:
750
- componentType = namedTypes.tagMapUnique
751
-
752
- else:
753
- try:
754
- if isDeterministic:
755
- componentType = namedTypes[idx].asn1Object
756
-
757
- elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted:
758
- componentType = namedTypes.getTagMapNearPosition(idx)
759
-
760
- else:
761
- componentType = namedTypes[idx].asn1Object
762
-
763
- except IndexError:
764
- raise error.PyAsn1Error(
765
- 'Excessive components decoded at %r' % (asn1Spec,)
766
- )
767
-
768
- for component in decodeFun(substrate, componentType, **options):
769
- if isinstance(component, SubstrateUnderrunError):
770
- yield component
771
-
772
- if not isDeterministic and namedTypes:
773
- if isSetType:
774
- idx = namedTypes.getPositionByType(component.effectiveTagSet)
775
-
776
- elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted:
777
- idx = namedTypes.getPositionNearType(component.effectiveTagSet, idx)
778
-
779
- asn1Object.setComponentByPosition(
780
- idx, component,
781
- verifyConstraints=False,
782
- matchTags=False, matchConstraints=False
783
- )
784
-
785
- seenIndices.add(idx)
786
- idx += 1
787
-
788
- if LOG:
789
- LOG('seen component indices %s' % seenIndices)
790
-
791
- if namedTypes:
792
- if not namedTypes.requiredComponents.issubset(seenIndices):
793
- raise error.PyAsn1Error(
794
- 'ASN.1 object %s has uninitialized '
795
- 'components' % asn1Object.__class__.__name__)
796
-
797
- if namedTypes.hasOpenTypes:
798
-
799
- openTypes = options.get('openTypes', {})
800
-
801
- if LOG:
802
- LOG('user-specified open types map:')
803
-
804
- for k, v in openTypes.items():
805
- LOG('%s -> %r' % (k, v))
806
-
807
- if openTypes or options.get('decodeOpenTypes', False):
808
-
809
- for idx, namedType in enumerate(namedTypes.namedTypes):
810
- if not namedType.openType:
811
- continue
812
-
813
- if namedType.isOptional and not asn1Object.getComponentByPosition(idx).isValue:
814
- continue
815
-
816
- governingValue = asn1Object.getComponentByName(
817
- namedType.openType.name
818
- )
819
-
820
- try:
821
- openType = openTypes[governingValue]
822
-
823
- except KeyError:
824
-
825
- if LOG:
826
- LOG('default open types map of component '
827
- '"%s.%s" governed by component "%s.%s"'
828
- ':' % (asn1Object.__class__.__name__,
829
- namedType.name,
830
- asn1Object.__class__.__name__,
831
- namedType.openType.name))
832
-
833
- for k, v in namedType.openType.items():
834
- LOG('%s -> %r' % (k, v))
835
-
836
- try:
837
- openType = namedType.openType[governingValue]
838
-
839
- except KeyError:
840
- if LOG:
841
- LOG('failed to resolve open type by governing '
842
- 'value %r' % (governingValue,))
843
- continue
844
-
845
- if LOG:
846
- LOG('resolved open type %r by governing '
847
- 'value %r' % (openType, governingValue))
848
-
849
- containerValue = asn1Object.getComponentByPosition(idx)
850
-
851
- if containerValue.typeId in (
852
- univ.SetOf.typeId, univ.SequenceOf.typeId):
853
-
854
- for pos, containerElement in enumerate(
855
- containerValue):
856
-
857
- stream = asSeekableStream(containerValue[pos].asOctets())
858
-
859
- for component in decodeFun(stream, asn1Spec=openType, **options):
860
- if isinstance(component, SubstrateUnderrunError):
861
- yield component
862
-
863
- containerValue[pos] = component
864
-
865
- else:
866
- stream = asSeekableStream(asn1Object.getComponentByPosition(idx).asOctets())
867
-
868
- for component in decodeFun(stream, asn1Spec=openType, **options):
869
- if isinstance(component, SubstrateUnderrunError):
870
- yield component
871
-
872
- asn1Object.setComponentByPosition(idx, component)
873
-
874
- else:
875
- inconsistency = asn1Object.isInconsistent
876
- if inconsistency:
877
- raise error.PyAsn1Error(
878
- f"ASN.1 object {asn1Object.__class__.__name__} is inconsistent")
879
-
880
- else:
881
- componentType = asn1Spec.componentType
882
-
883
- if LOG:
884
- LOG('decoding type %r chosen by given `asn1Spec`' % componentType)
885
-
886
- idx = 0
887
-
888
- while substrate.tell() - original_position < length:
889
- for component in decodeFun(substrate, componentType, **options):
890
- if isinstance(component, SubstrateUnderrunError):
891
- yield component
892
-
893
- asn1Object.setComponentByPosition(
894
- idx, component,
895
- verifyConstraints=False,
896
- matchTags=False, matchConstraints=False
897
- )
898
-
899
- idx += 1
900
-
901
- yield asn1Object
902
-
903
- def indefLenValueDecoder(self, substrate, asn1Spec,
904
- tagSet=None, length=None, state=None,
905
- decodeFun=None, substrateFun=None,
906
- **options):
907
- if tagSet[0].tagFormat != tag.tagFormatConstructed:
908
- raise error.PyAsn1Error('Constructed tag format expected')
909
-
910
- if substrateFun is not None:
911
- if asn1Spec is not None:
912
- asn1Object = asn1Spec.clone()
913
-
914
- elif self.protoComponent is not None:
915
- asn1Object = self.protoComponent.clone(tagSet=tagSet)
916
-
917
- else:
918
- asn1Object = self.protoRecordComponent, self.protoSequenceComponent
919
-
920
- for chunk in substrateFun(asn1Object, substrate, length, options):
921
- yield chunk
922
-
923
- return
924
-
925
- if asn1Spec is None:
926
- for asn1Object in self._decodeComponentsSchemaless(
927
- substrate, tagSet=tagSet, decodeFun=decodeFun,
928
- length=length, **dict(options, allowEoo=True)):
929
- if isinstance(asn1Object, SubstrateUnderrunError):
930
- yield asn1Object
931
-
932
- yield asn1Object
933
-
934
- return
935
-
936
- asn1Object = asn1Spec.clone()
937
- asn1Object.clear()
938
-
939
- options = self._passAsn1Object(asn1Object, options)
940
-
941
- if asn1Spec.typeId in (univ.Sequence.typeId, univ.Set.typeId):
942
-
943
- namedTypes = asn1Object.componentType
944
-
945
- isSetType = asn1Object.typeId == univ.Set.typeId
946
- isDeterministic = not isSetType and not namedTypes.hasOptionalOrDefault
947
-
948
- if LOG:
949
- LOG('decoding %sdeterministic %s type %r chosen by type ID' % (
950
- not isDeterministic and 'non-' or '', isSetType and 'SET' or '',
951
- asn1Spec))
952
-
953
- seenIndices = set()
954
-
955
- idx = 0
956
-
957
- while True: # loop over components
958
- if len(namedTypes) <= idx:
959
- asn1Spec = None
960
-
961
- elif isSetType:
962
- asn1Spec = namedTypes.tagMapUnique
963
-
964
- else:
965
- try:
966
- if isDeterministic:
967
- asn1Spec = namedTypes[idx].asn1Object
968
-
969
- elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted:
970
- asn1Spec = namedTypes.getTagMapNearPosition(idx)
971
-
972
- else:
973
- asn1Spec = namedTypes[idx].asn1Object
974
-
975
- except IndexError:
976
- raise error.PyAsn1Error(
977
- 'Excessive components decoded at %r' % (asn1Object,)
978
- )
979
-
980
- for component in decodeFun(substrate, asn1Spec, allowEoo=True, **options):
981
-
982
- if isinstance(component, SubstrateUnderrunError):
983
- yield component
984
-
985
- if component is eoo.endOfOctets:
986
- break
987
-
988
- if component is eoo.endOfOctets:
989
- break
990
-
991
- if not isDeterministic and namedTypes:
992
- if isSetType:
993
- idx = namedTypes.getPositionByType(component.effectiveTagSet)
994
-
995
- elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted:
996
- idx = namedTypes.getPositionNearType(component.effectiveTagSet, idx)
997
-
998
- asn1Object.setComponentByPosition(
999
- idx, component,
1000
- verifyConstraints=False,
1001
- matchTags=False, matchConstraints=False
1002
- )
1003
-
1004
- seenIndices.add(idx)
1005
- idx += 1
1006
-
1007
- if LOG:
1008
- LOG('seen component indices %s' % seenIndices)
1009
-
1010
- if namedTypes:
1011
- if not namedTypes.requiredComponents.issubset(seenIndices):
1012
- raise error.PyAsn1Error(
1013
- 'ASN.1 object %s has uninitialized '
1014
- 'components' % asn1Object.__class__.__name__)
1015
-
1016
- if namedTypes.hasOpenTypes:
1017
-
1018
- openTypes = options.get('openTypes', {})
1019
-
1020
- if LOG:
1021
- LOG('user-specified open types map:')
1022
-
1023
- for k, v in openTypes.items():
1024
- LOG('%s -> %r' % (k, v))
1025
-
1026
- if openTypes or options.get('decodeOpenTypes', False):
1027
-
1028
- for idx, namedType in enumerate(namedTypes.namedTypes):
1029
- if not namedType.openType:
1030
- continue
1031
-
1032
- if namedType.isOptional and not asn1Object.getComponentByPosition(idx).isValue:
1033
- continue
1034
-
1035
- governingValue = asn1Object.getComponentByName(
1036
- namedType.openType.name
1037
- )
1038
-
1039
- try:
1040
- openType = openTypes[governingValue]
1041
-
1042
- except KeyError:
1043
-
1044
- if LOG:
1045
- LOG('default open types map of component '
1046
- '"%s.%s" governed by component "%s.%s"'
1047
- ':' % (asn1Object.__class__.__name__,
1048
- namedType.name,
1049
- asn1Object.__class__.__name__,
1050
- namedType.openType.name))
1051
-
1052
- for k, v in namedType.openType.items():
1053
- LOG('%s -> %r' % (k, v))
1054
-
1055
- try:
1056
- openType = namedType.openType[governingValue]
1057
-
1058
- except KeyError:
1059
- if LOG:
1060
- LOG('failed to resolve open type by governing '
1061
- 'value %r' % (governingValue,))
1062
- continue
1063
-
1064
- if LOG:
1065
- LOG('resolved open type %r by governing '
1066
- 'value %r' % (openType, governingValue))
1067
-
1068
- containerValue = asn1Object.getComponentByPosition(idx)
1069
-
1070
- if containerValue.typeId in (
1071
- univ.SetOf.typeId, univ.SequenceOf.typeId):
1072
-
1073
- for pos, containerElement in enumerate(
1074
- containerValue):
1075
-
1076
- stream = asSeekableStream(containerValue[pos].asOctets())
1077
-
1078
- for component in decodeFun(stream, asn1Spec=openType,
1079
- **dict(options, allowEoo=True)):
1080
- if isinstance(component, SubstrateUnderrunError):
1081
- yield component
1082
-
1083
- if component is eoo.endOfOctets:
1084
- break
1085
-
1086
- containerValue[pos] = component
1087
-
1088
- else:
1089
- stream = asSeekableStream(asn1Object.getComponentByPosition(idx).asOctets())
1090
- for component in decodeFun(stream, asn1Spec=openType,
1091
- **dict(options, allowEoo=True)):
1092
- if isinstance(component, SubstrateUnderrunError):
1093
- yield component
1094
-
1095
- if component is eoo.endOfOctets:
1096
- break
1097
-
1098
- asn1Object.setComponentByPosition(idx, component)
1099
-
1100
- else:
1101
- inconsistency = asn1Object.isInconsistent
1102
- if inconsistency:
1103
- raise error.PyAsn1Error(
1104
- f"ASN.1 object {asn1Object.__class__.__name__} is inconsistent")
1105
-
1106
- else:
1107
- componentType = asn1Spec.componentType
1108
-
1109
- if LOG:
1110
- LOG('decoding type %r chosen by given `asn1Spec`' % componentType)
1111
-
1112
- idx = 0
1113
-
1114
- while True:
1115
-
1116
- for component in decodeFun(
1117
- substrate, componentType, allowEoo=True, **options):
1118
-
1119
- if isinstance(component, SubstrateUnderrunError):
1120
- yield component
1121
-
1122
- if component is eoo.endOfOctets:
1123
- break
1124
-
1125
- if component is eoo.endOfOctets:
1126
- break
1127
-
1128
- asn1Object.setComponentByPosition(
1129
- idx, component,
1130
- verifyConstraints=False,
1131
- matchTags=False, matchConstraints=False
1132
- )
1133
-
1134
- idx += 1
1135
-
1136
- yield asn1Object
1137
-
1138
-
1139
- class SequenceOrSequenceOfPayloadDecoder(ConstructedPayloadDecoderBase):
1140
- protoRecordComponent = univ.Sequence()
1141
- protoSequenceComponent = univ.SequenceOf()
1142
-
1143
-
1144
- class SequencePayloadDecoder(SequenceOrSequenceOfPayloadDecoder):
1145
- protoComponent = univ.Sequence()
1146
-
1147
-
1148
- class SequenceOfPayloadDecoder(SequenceOrSequenceOfPayloadDecoder):
1149
- protoComponent = univ.SequenceOf()
1150
-
1151
-
1152
- class SetOrSetOfPayloadDecoder(ConstructedPayloadDecoderBase):
1153
- protoRecordComponent = univ.Set()
1154
- protoSequenceComponent = univ.SetOf()
1155
-
1156
-
1157
- class SetPayloadDecoder(SetOrSetOfPayloadDecoder):
1158
- protoComponent = univ.Set()
1159
-
1160
-
1161
- class SetOfPayloadDecoder(SetOrSetOfPayloadDecoder):
1162
- protoComponent = univ.SetOf()
1163
-
1164
-
1165
- class ChoicePayloadDecoder(ConstructedPayloadDecoderBase):
1166
- protoComponent = univ.Choice()
1167
-
1168
- def valueDecoder(self, substrate, asn1Spec,
1169
- tagSet=None, length=None, state=None,
1170
- decodeFun=None, substrateFun=None,
1171
- **options):
1172
- if asn1Spec is None:
1173
- asn1Object = self.protoComponent.clone(tagSet=tagSet)
1174
-
1175
- else:
1176
- asn1Object = asn1Spec.clone()
1177
-
1178
- if substrateFun:
1179
- for chunk in substrateFun(asn1Object, substrate, length, options):
1180
- yield chunk
1181
-
1182
- return
1183
-
1184
- options = self._passAsn1Object(asn1Object, options)
1185
-
1186
- if asn1Object.tagSet == tagSet:
1187
- if LOG:
1188
- LOG('decoding %s as explicitly tagged CHOICE' % (tagSet,))
1189
-
1190
- for component in decodeFun(
1191
- substrate, asn1Object.componentTagMap, **options):
1192
- if isinstance(component, SubstrateUnderrunError):
1193
- yield component
1194
-
1195
- else:
1196
- if LOG:
1197
- LOG('decoding %s as untagged CHOICE' % (tagSet,))
1198
-
1199
- for component in decodeFun(
1200
- substrate, asn1Object.componentTagMap, tagSet, length,
1201
- state, **options):
1202
- if isinstance(component, SubstrateUnderrunError):
1203
- yield component
1204
-
1205
- effectiveTagSet = component.effectiveTagSet
1206
-
1207
- if LOG:
1208
- LOG('decoded component %s, effective tag set %s' % (component, effectiveTagSet))
1209
-
1210
- asn1Object.setComponentByType(
1211
- effectiveTagSet, component,
1212
- verifyConstraints=False,
1213
- matchTags=False, matchConstraints=False,
1214
- innerFlag=False
1215
- )
1216
-
1217
- yield asn1Object
1218
-
1219
- def indefLenValueDecoder(self, substrate, asn1Spec,
1220
- tagSet=None, length=None, state=None,
1221
- decodeFun=None, substrateFun=None,
1222
- **options):
1223
- if asn1Spec is None:
1224
- asn1Object = self.protoComponent.clone(tagSet=tagSet)
1225
-
1226
- else:
1227
- asn1Object = asn1Spec.clone()
1228
-
1229
- if substrateFun:
1230
- for chunk in substrateFun(asn1Object, substrate, length, options):
1231
- yield chunk
1232
-
1233
- return
1234
-
1235
- options = self._passAsn1Object(asn1Object, options)
1236
-
1237
- isTagged = asn1Object.tagSet == tagSet
1238
-
1239
- if LOG:
1240
- LOG('decoding %s as %stagged CHOICE' % (
1241
- tagSet, isTagged and 'explicitly ' or 'un'))
1242
-
1243
- while True:
1244
-
1245
- if isTagged:
1246
- iterator = decodeFun(
1247
- substrate, asn1Object.componentType.tagMapUnique,
1248
- **dict(options, allowEoo=True))
1249
-
1250
- else:
1251
- iterator = decodeFun(
1252
- substrate, asn1Object.componentType.tagMapUnique,
1253
- tagSet, length, state, **dict(options, allowEoo=True))
1254
-
1255
- for component in iterator:
1256
-
1257
- if isinstance(component, SubstrateUnderrunError):
1258
- yield component
1259
-
1260
- if component is eoo.endOfOctets:
1261
- break
1262
-
1263
- effectiveTagSet = component.effectiveTagSet
1264
-
1265
- if LOG:
1266
- LOG('decoded component %s, effective tag set '
1267
- '%s' % (component, effectiveTagSet))
1268
-
1269
- asn1Object.setComponentByType(
1270
- effectiveTagSet, component,
1271
- verifyConstraints=False,
1272
- matchTags=False, matchConstraints=False,
1273
- innerFlag=False
1274
- )
1275
-
1276
- if not isTagged:
1277
- break
1278
-
1279
- if not isTagged or component is eoo.endOfOctets:
1280
- break
1281
-
1282
- yield asn1Object
1283
-
1284
-
1285
- class AnyPayloadDecoder(AbstractSimplePayloadDecoder):
1286
- protoComponent = univ.Any()
1287
-
1288
- def valueDecoder(self, substrate, asn1Spec,
1289
- tagSet=None, length=None, state=None,
1290
- decodeFun=None, substrateFun=None,
1291
- **options):
1292
- if asn1Spec is None:
1293
- isUntagged = True
1294
-
1295
- elif asn1Spec.__class__ is tagmap.TagMap:
1296
- isUntagged = tagSet not in asn1Spec.tagMap
1297
-
1298
- else:
1299
- isUntagged = tagSet != asn1Spec.tagSet
1300
-
1301
- if isUntagged:
1302
- fullPosition = substrate.markedPosition
1303
- currentPosition = substrate.tell()
1304
-
1305
- substrate.seek(fullPosition, os.SEEK_SET)
1306
- length += currentPosition - fullPosition
1307
-
1308
- if LOG:
1309
- for chunk in peekIntoStream(substrate, length):
1310
- if isinstance(chunk, SubstrateUnderrunError):
1311
- yield chunk
1312
- LOG('decoding as untagged ANY, substrate '
1313
- '%s' % debug.hexdump(chunk))
1314
-
1315
- if substrateFun:
1316
- for chunk in substrateFun(
1317
- self._createComponent(asn1Spec, tagSet, noValue, **options),
1318
- substrate, length, options):
1319
- yield chunk
1320
-
1321
- return
1322
-
1323
- for chunk in readFromStream(substrate, length, options):
1324
- if isinstance(chunk, SubstrateUnderrunError):
1325
- yield chunk
1326
-
1327
- yield self._createComponent(asn1Spec, tagSet, chunk, **options)
1328
-
1329
- def indefLenValueDecoder(self, substrate, asn1Spec,
1330
- tagSet=None, length=None, state=None,
1331
- decodeFun=None, substrateFun=None,
1332
- **options):
1333
- if asn1Spec is None:
1334
- isTagged = False
1335
-
1336
- elif asn1Spec.__class__ is tagmap.TagMap:
1337
- isTagged = tagSet in asn1Spec.tagMap
1338
-
1339
- else:
1340
- isTagged = tagSet == asn1Spec.tagSet
1341
-
1342
- if isTagged:
1343
- # tagged Any type -- consume header substrate
1344
- chunk = b''
1345
-
1346
- if LOG:
1347
- LOG('decoding as tagged ANY')
1348
-
1349
- else:
1350
- # TODO: Seems not to be tested
1351
- fullPosition = substrate.markedPosition
1352
- currentPosition = substrate.tell()
1353
-
1354
- substrate.seek(fullPosition, os.SEEK_SET)
1355
- for chunk in readFromStream(substrate, currentPosition - fullPosition, options):
1356
- if isinstance(chunk, SubstrateUnderrunError):
1357
- yield chunk
1358
-
1359
- if LOG:
1360
- LOG('decoding as untagged ANY, header substrate %s' % debug.hexdump(chunk))
1361
-
1362
- # Any components do not inherit initial tag
1363
- asn1Spec = self.protoComponent
1364
-
1365
- if substrateFun and substrateFun is not self.substrateCollector:
1366
- asn1Object = self._createComponent(
1367
- asn1Spec, tagSet, noValue, **options)
1368
-
1369
- for chunk in substrateFun(
1370
- asn1Object, chunk + substrate, length + len(chunk), options):
1371
- yield chunk
1372
-
1373
- return
1374
-
1375
- if LOG:
1376
- LOG('assembling constructed serialization')
1377
-
1378
- # All inner fragments are of the same type, treat them as octet string
1379
- substrateFun = self.substrateCollector
1380
-
1381
- while True: # loop over fragments
1382
-
1383
- for component in decodeFun(
1384
- substrate, asn1Spec, substrateFun=substrateFun,
1385
- allowEoo=True, **options):
1386
-
1387
- if isinstance(component, SubstrateUnderrunError):
1388
- yield component
1389
-
1390
- if component is eoo.endOfOctets:
1391
- break
1392
-
1393
- if component is eoo.endOfOctets:
1394
- break
1395
-
1396
- chunk += component
1397
-
1398
- if substrateFun:
1399
- yield chunk # TODO: Weird
1400
-
1401
- else:
1402
- yield self._createComponent(asn1Spec, tagSet, chunk, **options)
1403
-
1404
-
1405
- # character string types
1406
- class UTF8StringPayloadDecoder(OctetStringPayloadDecoder):
1407
- protoComponent = char.UTF8String()
1408
-
1409
-
1410
- class NumericStringPayloadDecoder(OctetStringPayloadDecoder):
1411
- protoComponent = char.NumericString()
1412
-
1413
-
1414
- class PrintableStringPayloadDecoder(OctetStringPayloadDecoder):
1415
- protoComponent = char.PrintableString()
1416
-
1417
-
1418
- class TeletexStringPayloadDecoder(OctetStringPayloadDecoder):
1419
- protoComponent = char.TeletexString()
1420
-
1421
-
1422
- class VideotexStringPayloadDecoder(OctetStringPayloadDecoder):
1423
- protoComponent = char.VideotexString()
1424
-
1425
-
1426
- class IA5StringPayloadDecoder(OctetStringPayloadDecoder):
1427
- protoComponent = char.IA5String()
1428
-
1429
-
1430
- class GraphicStringPayloadDecoder(OctetStringPayloadDecoder):
1431
- protoComponent = char.GraphicString()
1432
-
1433
-
1434
- class VisibleStringPayloadDecoder(OctetStringPayloadDecoder):
1435
- protoComponent = char.VisibleString()
1436
-
1437
-
1438
- class GeneralStringPayloadDecoder(OctetStringPayloadDecoder):
1439
- protoComponent = char.GeneralString()
1440
-
1441
-
1442
- class UniversalStringPayloadDecoder(OctetStringPayloadDecoder):
1443
- protoComponent = char.UniversalString()
1444
-
1445
-
1446
- class BMPStringPayloadDecoder(OctetStringPayloadDecoder):
1447
- protoComponent = char.BMPString()
1448
-
1449
-
1450
- # "useful" types
1451
- class ObjectDescriptorPayloadDecoder(OctetStringPayloadDecoder):
1452
- protoComponent = useful.ObjectDescriptor()
1453
-
1454
-
1455
- class GeneralizedTimePayloadDecoder(OctetStringPayloadDecoder):
1456
- protoComponent = useful.GeneralizedTime()
1457
-
1458
-
1459
- class UTCTimePayloadDecoder(OctetStringPayloadDecoder):
1460
- protoComponent = useful.UTCTime()
1461
-
1462
-
1463
- TAG_MAP = {
1464
- univ.Integer.tagSet: IntegerPayloadDecoder(),
1465
- univ.Boolean.tagSet: BooleanPayloadDecoder(),
1466
- univ.BitString.tagSet: BitStringPayloadDecoder(),
1467
- univ.OctetString.tagSet: OctetStringPayloadDecoder(),
1468
- univ.Null.tagSet: NullPayloadDecoder(),
1469
- univ.ObjectIdentifier.tagSet: ObjectIdentifierPayloadDecoder(),
1470
- univ.RelativeOID.tagSet: RelativeOIDPayloadDecoder(),
1471
- univ.Enumerated.tagSet: IntegerPayloadDecoder(),
1472
- univ.Real.tagSet: RealPayloadDecoder(),
1473
- univ.Sequence.tagSet: SequenceOrSequenceOfPayloadDecoder(), # conflicts with SequenceOf
1474
- univ.Set.tagSet: SetOrSetOfPayloadDecoder(), # conflicts with SetOf
1475
- univ.Choice.tagSet: ChoicePayloadDecoder(), # conflicts with Any
1476
- # character string types
1477
- char.UTF8String.tagSet: UTF8StringPayloadDecoder(),
1478
- char.NumericString.tagSet: NumericStringPayloadDecoder(),
1479
- char.PrintableString.tagSet: PrintableStringPayloadDecoder(),
1480
- char.TeletexString.tagSet: TeletexStringPayloadDecoder(),
1481
- char.VideotexString.tagSet: VideotexStringPayloadDecoder(),
1482
- char.IA5String.tagSet: IA5StringPayloadDecoder(),
1483
- char.GraphicString.tagSet: GraphicStringPayloadDecoder(),
1484
- char.VisibleString.tagSet: VisibleStringPayloadDecoder(),
1485
- char.GeneralString.tagSet: GeneralStringPayloadDecoder(),
1486
- char.UniversalString.tagSet: UniversalStringPayloadDecoder(),
1487
- char.BMPString.tagSet: BMPStringPayloadDecoder(),
1488
- # useful types
1489
- useful.ObjectDescriptor.tagSet: ObjectDescriptorPayloadDecoder(),
1490
- useful.GeneralizedTime.tagSet: GeneralizedTimePayloadDecoder(),
1491
- useful.UTCTime.tagSet: UTCTimePayloadDecoder()
1492
- }
1493
-
1494
- # Type-to-codec map for ambiguous ASN.1 types
1495
- TYPE_MAP = {
1496
- univ.Set.typeId: SetPayloadDecoder(),
1497
- univ.SetOf.typeId: SetOfPayloadDecoder(),
1498
- univ.Sequence.typeId: SequencePayloadDecoder(),
1499
- univ.SequenceOf.typeId: SequenceOfPayloadDecoder(),
1500
- univ.Choice.typeId: ChoicePayloadDecoder(),
1501
- univ.Any.typeId: AnyPayloadDecoder()
1502
- }
1503
-
1504
- # Put in non-ambiguous types for faster codec lookup
1505
- for typeDecoder in TAG_MAP.values():
1506
- if typeDecoder.protoComponent is not None:
1507
- typeId = typeDecoder.protoComponent.__class__.typeId
1508
- if typeId is not None and typeId not in TYPE_MAP:
1509
- TYPE_MAP[typeId] = typeDecoder
1510
-
1511
-
1512
- (stDecodeTag,
1513
- stDecodeLength,
1514
- stGetValueDecoder,
1515
- stGetValueDecoderByAsn1Spec,
1516
- stGetValueDecoderByTag,
1517
- stTryAsExplicitTag,
1518
- stDecodeValue,
1519
- stDumpRawValue,
1520
- stErrorCondition,
1521
- stStop) = [x for x in range(10)]
1522
-
1523
-
1524
- EOO_SENTINEL = bytes((0, 0))
1525
-
1526
-
1527
- class SingleItemDecoder(object):
1528
- defaultErrorState = stErrorCondition
1529
- #defaultErrorState = stDumpRawValue
1530
- defaultRawDecoder = AnyPayloadDecoder()
1531
-
1532
- supportIndefLength = True
1533
-
1534
- TAG_MAP = TAG_MAP
1535
- TYPE_MAP = TYPE_MAP
1536
-
1537
- def __init__(self, tagMap=_MISSING, typeMap=_MISSING, **ignored):
1538
- self._tagMap = tagMap if tagMap is not _MISSING else self.TAG_MAP
1539
- self._typeMap = typeMap if typeMap is not _MISSING else self.TYPE_MAP
1540
-
1541
- # Tag & TagSet objects caches
1542
- self._tagCache = {}
1543
- self._tagSetCache = {}
1544
-
1545
- def __call__(self, substrate, asn1Spec=None,
1546
- tagSet=None, length=None, state=stDecodeTag,
1547
- decodeFun=None, substrateFun=None,
1548
- **options):
1549
-
1550
- allowEoo = options.pop('allowEoo', False)
1551
-
1552
- if LOG:
1553
- LOG('decoder called at scope %s with state %d, working with up '
1554
- 'to %s octets of substrate: '
1555
- '%s' % (debug.scope, state, length, substrate))
1556
-
1557
- # Look for end-of-octets sentinel
1558
- if allowEoo and self.supportIndefLength:
1559
-
1560
- for eoo_candidate in readFromStream(substrate, 2, options):
1561
- if isinstance(eoo_candidate, SubstrateUnderrunError):
1562
- yield eoo_candidate
1563
-
1564
- if eoo_candidate == EOO_SENTINEL:
1565
- if LOG:
1566
- LOG('end-of-octets sentinel found')
1567
- yield eoo.endOfOctets
1568
- return
1569
-
1570
- else:
1571
- substrate.seek(-2, os.SEEK_CUR)
1572
-
1573
- tagMap = self._tagMap
1574
- typeMap = self._typeMap
1575
- tagCache = self._tagCache
1576
- tagSetCache = self._tagSetCache
1577
-
1578
- value = noValue
1579
-
1580
- substrate.markedPosition = substrate.tell()
1581
-
1582
- while state is not stStop:
1583
-
1584
- if state is stDecodeTag:
1585
- # Decode tag
1586
- isShortTag = True
1587
-
1588
- for firstByte in readFromStream(substrate, 1, options):
1589
- if isinstance(firstByte, SubstrateUnderrunError):
1590
- yield firstByte
1591
-
1592
- firstOctet = ord(firstByte)
1593
-
1594
- try:
1595
- lastTag = tagCache[firstOctet]
1596
-
1597
- except KeyError:
1598
- integerTag = firstOctet
1599
- tagClass = integerTag & 0xC0
1600
- tagFormat = integerTag & 0x20
1601
- tagId = integerTag & 0x1F
1602
-
1603
- if tagId == 0x1F:
1604
- isShortTag = False
1605
- lengthOctetIdx = 0
1606
- tagId = 0
1607
-
1608
- while True:
1609
- for integerByte in readFromStream(substrate, 1, options):
1610
- if isinstance(integerByte, SubstrateUnderrunError):
1611
- yield integerByte
1612
-
1613
- if not integerByte:
1614
- raise error.SubstrateUnderrunError(
1615
- 'Short octet stream on long tag decoding'
1616
- )
1617
-
1618
- integerTag = ord(integerByte)
1619
- lengthOctetIdx += 1
1620
- tagId <<= 7
1621
- tagId |= (integerTag & 0x7F)
1622
-
1623
- if not integerTag & 0x80:
1624
- break
1625
-
1626
- lastTag = tag.Tag(
1627
- tagClass=tagClass, tagFormat=tagFormat, tagId=tagId
1628
- )
1629
-
1630
- if isShortTag:
1631
- # cache short tags
1632
- tagCache[firstOctet] = lastTag
1633
-
1634
- if tagSet is None:
1635
- if isShortTag:
1636
- try:
1637
- tagSet = tagSetCache[firstOctet]
1638
-
1639
- except KeyError:
1640
- # base tag not recovered
1641
- tagSet = tag.TagSet((), lastTag)
1642
- tagSetCache[firstOctet] = tagSet
1643
- else:
1644
- tagSet = tag.TagSet((), lastTag)
1645
-
1646
- else:
1647
- tagSet = lastTag + tagSet
1648
-
1649
- state = stDecodeLength
1650
-
1651
- if LOG:
1652
- LOG('tag decoded into %s, decoding length' % tagSet)
1653
-
1654
- if state is stDecodeLength:
1655
- # Decode length
1656
- for firstOctet in readFromStream(substrate, 1, options):
1657
- if isinstance(firstOctet, SubstrateUnderrunError):
1658
- yield firstOctet
1659
-
1660
- firstOctet = ord(firstOctet)
1661
-
1662
- if firstOctet < 128:
1663
- length = firstOctet
1664
-
1665
- elif firstOctet > 128:
1666
- size = firstOctet & 0x7F
1667
- # encoded in size bytes
1668
- for encodedLength in readFromStream(substrate, size, options):
1669
- if isinstance(encodedLength, SubstrateUnderrunError):
1670
- yield encodedLength
1671
- encodedLength = list(encodedLength)
1672
- # missing check on maximum size, which shouldn't be a
1673
- # problem, we can handle more than is possible
1674
- if len(encodedLength) != size:
1675
- raise error.SubstrateUnderrunError(
1676
- '%s<%s at %s' % (size, len(encodedLength), tagSet)
1677
- )
1678
-
1679
- length = 0
1680
- for lengthOctet in encodedLength:
1681
- length <<= 8
1682
- length |= lengthOctet
1683
- size += 1
1684
-
1685
- else: # 128 means indefinite
1686
- length = -1
1687
-
1688
- if length == -1 and not self.supportIndefLength:
1689
- raise error.PyAsn1Error('Indefinite length encoding not supported by this codec')
1690
-
1691
- state = stGetValueDecoder
1692
-
1693
- if LOG:
1694
- LOG('value length decoded into %d' % length)
1695
-
1696
- if state is stGetValueDecoder:
1697
- if asn1Spec is None:
1698
- state = stGetValueDecoderByTag
1699
-
1700
- else:
1701
- state = stGetValueDecoderByAsn1Spec
1702
- #
1703
- # There're two ways of creating subtypes in ASN.1 what influences
1704
- # decoder operation. These methods are:
1705
- # 1) Either base types used in or no IMPLICIT tagging has been
1706
- # applied on subtyping.
1707
- # 2) Subtype syntax drops base type information (by means of
1708
- # IMPLICIT tagging.
1709
- # The first case allows for complete tag recovery from substrate
1710
- # while the second one requires original ASN.1 type spec for
1711
- # decoding.
1712
- #
1713
- # In either case a set of tags (tagSet) is coming from substrate
1714
- # in an incremental, tag-by-tag fashion (this is the case of
1715
- # EXPLICIT tag which is most basic). Outermost tag comes first
1716
- # from the wire.
1717
- #
1718
- if state is stGetValueDecoderByTag:
1719
- try:
1720
- concreteDecoder = tagMap[tagSet]
1721
-
1722
- except KeyError:
1723
- concreteDecoder = None
1724
-
1725
- if concreteDecoder:
1726
- state = stDecodeValue
1727
-
1728
- else:
1729
- try:
1730
- concreteDecoder = tagMap[tagSet[:1]]
1731
-
1732
- except KeyError:
1733
- concreteDecoder = None
1734
-
1735
- if concreteDecoder:
1736
- state = stDecodeValue
1737
- else:
1738
- state = stTryAsExplicitTag
1739
-
1740
- if LOG:
1741
- LOG('codec %s chosen by a built-in type, decoding %s' % (concreteDecoder and concreteDecoder.__class__.__name__ or "<none>", state is stDecodeValue and 'value' or 'as explicit tag'))
1742
- debug.scope.push(concreteDecoder is None and '?' or concreteDecoder.protoComponent.__class__.__name__)
1743
-
1744
- if state is stGetValueDecoderByAsn1Spec:
1745
-
1746
- if asn1Spec.__class__ is tagmap.TagMap:
1747
- try:
1748
- chosenSpec = asn1Spec[tagSet]
1749
-
1750
- except KeyError:
1751
- chosenSpec = None
1752
-
1753
- if LOG:
1754
- LOG('candidate ASN.1 spec is a map of:')
1755
-
1756
- for firstOctet, v in asn1Spec.presentTypes.items():
1757
- LOG(' %s -> %s' % (firstOctet, v.__class__.__name__))
1758
-
1759
- if asn1Spec.skipTypes:
1760
- LOG('but neither of: ')
1761
- for firstOctet, v in asn1Spec.skipTypes.items():
1762
- LOG(' %s -> %s' % (firstOctet, v.__class__.__name__))
1763
- LOG('new candidate ASN.1 spec is %s, chosen by %s' % (chosenSpec is None and '<none>' or chosenSpec.prettyPrintType(), tagSet))
1764
-
1765
- elif tagSet == asn1Spec.tagSet or tagSet in asn1Spec.tagMap:
1766
- chosenSpec = asn1Spec
1767
- if LOG:
1768
- LOG('candidate ASN.1 spec is %s' % asn1Spec.__class__.__name__)
1769
-
1770
- else:
1771
- chosenSpec = None
1772
-
1773
- if chosenSpec is not None:
1774
- try:
1775
- # ambiguous type or just faster codec lookup
1776
- concreteDecoder = typeMap[chosenSpec.typeId]
1777
-
1778
- if LOG:
1779
- LOG('value decoder chosen for an ambiguous type by type ID %s' % (chosenSpec.typeId,))
1780
-
1781
- except KeyError:
1782
- # use base type for codec lookup to recover untagged types
1783
- baseTagSet = tag.TagSet(chosenSpec.tagSet.baseTag, chosenSpec.tagSet.baseTag)
1784
- try:
1785
- # base type or tagged subtype
1786
- concreteDecoder = tagMap[baseTagSet]
1787
-
1788
- if LOG:
1789
- LOG('value decoder chosen by base %s' % (baseTagSet,))
1790
-
1791
- except KeyError:
1792
- concreteDecoder = None
1793
-
1794
- if concreteDecoder:
1795
- asn1Spec = chosenSpec
1796
- state = stDecodeValue
1797
-
1798
- else:
1799
- state = stTryAsExplicitTag
1800
-
1801
- else:
1802
- concreteDecoder = None
1803
- state = stTryAsExplicitTag
1804
-
1805
- if LOG:
1806
- LOG('codec %s chosen by ASN.1 spec, decoding %s' % (state is stDecodeValue and concreteDecoder.__class__.__name__ or "<none>", state is stDecodeValue and 'value' or 'as explicit tag'))
1807
- debug.scope.push(chosenSpec is None and '?' or chosenSpec.__class__.__name__)
1808
-
1809
- if state is stDecodeValue:
1810
- if not options.get('recursiveFlag', True) and not substrateFun: # deprecate this
1811
- def substrateFun(asn1Object, _substrate, _length, _options):
1812
- """Legacy hack to keep the recursiveFlag=False option supported.
1813
-
1814
- The decode(..., substrateFun=userCallback) option was introduced in 0.1.4 as a generalization
1815
- of the old recursiveFlag=False option. Users should pass their callback instead of using
1816
- recursiveFlag.
1817
- """
1818
- yield asn1Object
1819
-
1820
- original_position = substrate.tell()
1821
-
1822
- if length == -1: # indef length
1823
- for value in concreteDecoder.indefLenValueDecoder(
1824
- substrate, asn1Spec,
1825
- tagSet, length, stGetValueDecoder,
1826
- self, substrateFun, **options):
1827
- if isinstance(value, SubstrateUnderrunError):
1828
- yield value
1829
-
1830
- else:
1831
- for value in concreteDecoder.valueDecoder(
1832
- substrate, asn1Spec,
1833
- tagSet, length, stGetValueDecoder,
1834
- self, substrateFun, **options):
1835
- if isinstance(value, SubstrateUnderrunError):
1836
- yield value
1837
-
1838
- bytesRead = substrate.tell() - original_position
1839
- if not substrateFun and bytesRead != length:
1840
- raise PyAsn1Error(
1841
- "Read %s bytes instead of expected %s." % (bytesRead, length))
1842
- elif substrateFun and bytesRead > length:
1843
- # custom substrateFun may be used for partial decoding, reading less is expected there
1844
- raise PyAsn1Error(
1845
- "Read %s bytes are more than expected %s." % (bytesRead, length))
1846
-
1847
- if LOG:
1848
- LOG('codec %s yields type %s, value:\n%s\n...' % (
1849
- concreteDecoder.__class__.__name__, value.__class__.__name__,
1850
- isinstance(value, base.Asn1Item) and value.prettyPrint() or value))
1851
-
1852
- state = stStop
1853
- break
1854
-
1855
- if state is stTryAsExplicitTag:
1856
- if (tagSet and
1857
- tagSet[0].tagFormat == tag.tagFormatConstructed and
1858
- tagSet[0].tagClass != tag.tagClassUniversal):
1859
- # Assume explicit tagging
1860
- concreteDecoder = rawPayloadDecoder
1861
- state = stDecodeValue
1862
-
1863
- else:
1864
- concreteDecoder = None
1865
- state = self.defaultErrorState
1866
-
1867
- if LOG:
1868
- LOG('codec %s chosen, decoding %s' % (concreteDecoder and concreteDecoder.__class__.__name__ or "<none>", state is stDecodeValue and 'value' or 'as failure'))
1869
-
1870
- if state is stDumpRawValue:
1871
- concreteDecoder = self.defaultRawDecoder
1872
-
1873
- if LOG:
1874
- LOG('codec %s chosen, decoding value' % concreteDecoder.__class__.__name__)
1875
-
1876
- state = stDecodeValue
1877
-
1878
- if state is stErrorCondition:
1879
- raise error.PyAsn1Error(
1880
- '%s not in asn1Spec: %r' % (tagSet, asn1Spec)
1881
- )
1882
-
1883
- if LOG:
1884
- debug.scope.pop()
1885
- LOG('decoder left scope %s, call completed' % debug.scope)
1886
-
1887
- yield value
1888
-
1889
-
1890
- class StreamingDecoder(object):
1891
- """Create an iterator that turns BER/CER/DER byte stream into ASN.1 objects.
1892
-
1893
- On each iteration, consume whatever BER/CER/DER serialization is
1894
- available in the `substrate` stream-like object and turns it into
1895
- one or more, possibly nested, ASN.1 objects.
1896
-
1897
- Parameters
1898
- ----------
1899
- substrate: :py:class:`file`, :py:class:`io.BytesIO`
1900
- BER/CER/DER serialization in form of a byte stream
1901
-
1902
- Keyword Args
1903
- ------------
1904
- asn1Spec: :py:class:`~pyasn1.type.base.PyAsn1Item`
1905
- A pyasn1 type object to act as a template guiding the decoder.
1906
- Depending on the ASN.1 structure being decoded, `asn1Spec` may
1907
- or may not be required. One of the reasons why `asn1Spec` may
1908
- me required is that ASN.1 structure is encoded in the *IMPLICIT*
1909
- tagging mode.
1910
-
1911
- Yields
1912
- ------
1913
- : :py:class:`~pyasn1.type.base.PyAsn1Item`, :py:class:`~pyasn1.error.SubstrateUnderrunError`
1914
- Decoded ASN.1 object (possibly, nested) or
1915
- :py:class:`~pyasn1.error.SubstrateUnderrunError` object indicating
1916
- insufficient BER/CER/DER serialization on input to fully recover ASN.1
1917
- objects from it.
1918
-
1919
- In the latter case the caller is advised to ensure some more data in
1920
- the input stream, then call the iterator again. The decoder will resume
1921
- the decoding process using the newly arrived data.
1922
-
1923
- The `context` property of :py:class:`~pyasn1.error.SubstrateUnderrunError`
1924
- object might hold a reference to the partially populated ASN.1 object
1925
- being reconstructed.
1926
-
1927
- Raises
1928
- ------
1929
- ~pyasn1.error.PyAsn1Error, ~pyasn1.error.EndOfStreamError
1930
- `PyAsn1Error` on deserialization error, `EndOfStreamError` on
1931
- premature stream closure.
1932
-
1933
- Examples
1934
- --------
1935
- Decode BER serialisation without ASN.1 schema
1936
-
1937
- .. code-block:: pycon
1938
-
1939
- >>> stream = io.BytesIO(
1940
- ... b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03')
1941
- >>>
1942
- >>> for asn1Object in StreamingDecoder(stream):
1943
- ... print(asn1Object)
1944
- >>>
1945
- SequenceOf:
1946
- 1 2 3
1947
-
1948
- Decode BER serialisation with ASN.1 schema
1949
-
1950
- .. code-block:: pycon
1951
-
1952
- >>> stream = io.BytesIO(
1953
- ... b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03')
1954
- >>>
1955
- >>> schema = SequenceOf(componentType=Integer())
1956
- >>>
1957
- >>> decoder = StreamingDecoder(stream, asn1Spec=schema)
1958
- >>> for asn1Object in decoder:
1959
- ... print(asn1Object)
1960
- >>>
1961
- SequenceOf:
1962
- 1 2 3
1963
- """
1964
-
1965
- SINGLE_ITEM_DECODER = SingleItemDecoder
1966
-
1967
- def __init__(self, substrate, asn1Spec=None, **options):
1968
- self._singleItemDecoder = self.SINGLE_ITEM_DECODER(**options)
1969
- self._substrate = asSeekableStream(substrate)
1970
- self._asn1Spec = asn1Spec
1971
- self._options = options
1972
-
1973
- def __iter__(self):
1974
- while True:
1975
- for asn1Object in self._singleItemDecoder(
1976
- self._substrate, self._asn1Spec, **self._options):
1977
- yield asn1Object
1978
-
1979
- for chunk in isEndOfStream(self._substrate):
1980
- if isinstance(chunk, SubstrateUnderrunError):
1981
- yield
1982
-
1983
- break
1984
-
1985
- if chunk:
1986
- break
1987
-
1988
-
1989
- class Decoder(object):
1990
- """Create a BER decoder object.
1991
-
1992
- Parse BER/CER/DER octet-stream into one, possibly nested, ASN.1 object.
1993
- """
1994
- STREAMING_DECODER = StreamingDecoder
1995
-
1996
- @classmethod
1997
- def __call__(cls, substrate, asn1Spec=None, **options):
1998
- """Turns BER/CER/DER octet stream into an ASN.1 object.
1999
-
2000
- Takes BER/CER/DER octet-stream in form of :py:class:`bytes`
2001
- and decode it into an ASN.1 object
2002
- (e.g. :py:class:`~pyasn1.type.base.PyAsn1Item` derivative) which
2003
- may be a scalar or an arbitrary nested structure.
2004
-
2005
- Parameters
2006
- ----------
2007
- substrate: :py:class:`bytes`
2008
- BER/CER/DER octet-stream to parse
2009
-
2010
- Keyword Args
2011
- ------------
2012
- asn1Spec: :py:class:`~pyasn1.type.base.PyAsn1Item`
2013
- A pyasn1 type object (:py:class:`~pyasn1.type.base.PyAsn1Item`
2014
- derivative) to act as a template guiding the decoder.
2015
- Depending on the ASN.1 structure being decoded, `asn1Spec` may or
2016
- may not be required. Most common reason for it to require is that
2017
- ASN.1 structure is encoded in *IMPLICIT* tagging mode.
2018
-
2019
- substrateFun: :py:class:`Union[
2020
- Callable[[pyasn1.type.base.PyAsn1Item, bytes, int],
2021
- Tuple[pyasn1.type.base.PyAsn1Item, bytes]],
2022
- Callable[[pyasn1.type.base.PyAsn1Item, io.BytesIO, int, dict],
2023
- Generator[Union[pyasn1.type.base.PyAsn1Item,
2024
- pyasn1.error.SubstrateUnderrunError],
2025
- None, None]]
2026
- ]`
2027
- User callback meant to generalize special use cases like non-recursive or
2028
- partial decoding. A 3-arg non-streaming variant is supported for backwards
2029
- compatiblilty in addition to the newer 4-arg streaming variant.
2030
- The callback will receive the uninitialized object recovered from substrate
2031
- as 1st argument, the uninterpreted payload as 2nd argument, and the length
2032
- of the uninterpreted payload as 3rd argument. The streaming variant will
2033
- additionally receive the decode(..., **options) kwargs as 4th argument.
2034
- The non-streaming variant shall return an object that will be propagated
2035
- as decode() return value as 1st item, and the remainig payload for further
2036
- decode passes as 2nd item.
2037
- The streaming variant shall yield an object that will be propagated as
2038
- decode() return value, and leave the remaining payload in the stream.
2039
-
2040
- Returns
2041
- -------
2042
- : :py:class:`tuple`
2043
- A tuple of :py:class:`~pyasn1.type.base.PyAsn1Item` object
2044
- recovered from BER/CER/DER substrate and the unprocessed trailing
2045
- portion of the `substrate` (may be empty)
2046
-
2047
- Raises
2048
- ------
2049
- : :py:class:`~pyasn1.error.PyAsn1Error`
2050
- :py:class:`~pyasn1.error.SubstrateUnderrunError` on insufficient
2051
- input or :py:class:`~pyasn1.error.PyAsn1Error` on decoding error.
2052
-
2053
- Examples
2054
- --------
2055
- Decode BER/CER/DER serialisation without ASN.1 schema
2056
-
2057
- .. code-block:: pycon
2058
-
2059
- >>> s, unprocessed = decode(b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03')
2060
- >>> str(s)
2061
- SequenceOf:
2062
- 1 2 3
2063
-
2064
- Decode BER/CER/DER serialisation with ASN.1 schema
2065
-
2066
- .. code-block:: pycon
2067
-
2068
- >>> seq = SequenceOf(componentType=Integer())
2069
- >>> s, unprocessed = decode(
2070
- b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03', asn1Spec=seq)
2071
- >>> str(s)
2072
- SequenceOf:
2073
- 1 2 3
2074
-
2075
- """
2076
- substrate = asSeekableStream(substrate)
2077
-
2078
- if "substrateFun" in options:
2079
- origSubstrateFun = options["substrateFun"]
2080
-
2081
- def substrateFunWrapper(asn1Object, substrate, length, options=None):
2082
- """Support both 0.4 and 0.5 style APIs.
2083
-
2084
- substrateFun API has changed in 0.5 for use with streaming decoders. To stay backwards compatible,
2085
- we first try if we received a streaming user callback. If that fails,we assume we've received a
2086
- non-streaming v0.4 user callback and convert it for streaming on the fly
2087
- """
2088
- try:
2089
- substrate_gen = origSubstrateFun(asn1Object, substrate, length, options)
2090
- except TypeError as _value:
2091
- if _value.__traceback__.tb_next:
2092
- # Traceback depth > 1 means TypeError from inside user provided function
2093
- raise
2094
- # invariant maintained at Decoder.__call__ entry
2095
- assert isinstance(substrate, io.BytesIO) # nosec assert_used
2096
- substrate_gen = Decoder._callSubstrateFunV4asV5(origSubstrateFun, asn1Object, substrate, length)
2097
- for value in substrate_gen:
2098
- yield value
2099
-
2100
- options["substrateFun"] = substrateFunWrapper
2101
-
2102
- streamingDecoder = cls.STREAMING_DECODER(
2103
- substrate, asn1Spec, **options)
2104
-
2105
- for asn1Object in streamingDecoder:
2106
- if isinstance(asn1Object, SubstrateUnderrunError):
2107
- raise error.SubstrateUnderrunError('Short substrate on input')
2108
-
2109
- try:
2110
- tail = next(readFromStream(substrate))
2111
-
2112
- except error.EndOfStreamError:
2113
- tail = b''
2114
-
2115
- return asn1Object, tail
2116
-
2117
- @staticmethod
2118
- def _callSubstrateFunV4asV5(substrateFunV4, asn1Object, substrate, length):
2119
- substrate_bytes = substrate.read()
2120
- if length == -1:
2121
- length = len(substrate_bytes)
2122
- value, nextSubstrate = substrateFunV4(asn1Object, substrate_bytes, length)
2123
- nbytes = substrate.write(nextSubstrate)
2124
- substrate.truncate()
2125
- substrate.seek(-nbytes, os.SEEK_CUR)
2126
- yield value
2127
-
2128
- #: Turns BER octet stream into an ASN.1 object.
2129
- #:
2130
- #: Takes BER octet-stream and decode it into an ASN.1 object
2131
- #: (e.g. :py:class:`~pyasn1.type.base.PyAsn1Item` derivative) which
2132
- #: may be a scalar or an arbitrary nested structure.
2133
- #:
2134
- #: Parameters
2135
- #: ----------
2136
- #: substrate: :py:class:`bytes`
2137
- #: BER octet-stream
2138
- #:
2139
- #: Keyword Args
2140
- #: ------------
2141
- #: asn1Spec: any pyasn1 type object e.g. :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
2142
- #: A pyasn1 type object to act as a template guiding the decoder. Depending on the ASN.1 structure
2143
- #: being decoded, *asn1Spec* may or may not be required. Most common reason for
2144
- #: it to require is that ASN.1 structure is encoded in *IMPLICIT* tagging mode.
2145
- #:
2146
- #: Returns
2147
- #: -------
2148
- #: : :py:class:`tuple`
2149
- #: A tuple of pyasn1 object recovered from BER substrate (:py:class:`~pyasn1.type.base.PyAsn1Item` derivative)
2150
- #: and the unprocessed trailing portion of the *substrate* (may be empty)
2151
- #:
2152
- #: Raises
2153
- #: ------
2154
- #: ~pyasn1.error.PyAsn1Error, ~pyasn1.error.SubstrateUnderrunError
2155
- #: On decoding errors
2156
- #:
2157
- #: Notes
2158
- #: -----
2159
- #: This function is deprecated. Please use :py:class:`Decoder` or
2160
- #: :py:class:`StreamingDecoder` class instance.
2161
- #:
2162
- #: Examples
2163
- #: --------
2164
- #: Decode BER serialisation without ASN.1 schema
2165
- #:
2166
- #: .. code-block:: pycon
2167
- #:
2168
- #: >>> s, _ = decode(b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03')
2169
- #: >>> str(s)
2170
- #: SequenceOf:
2171
- #: 1 2 3
2172
- #:
2173
- #: Decode BER serialisation with ASN.1 schema
2174
- #:
2175
- #: .. code-block:: pycon
2176
- #:
2177
- #: >>> seq = SequenceOf(componentType=Integer())
2178
- #: >>> s, _ = decode(b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03', asn1Spec=seq)
2179
- #: >>> str(s)
2180
- #: SequenceOf:
2181
- #: 1 2 3
2182
- #:
2183
- decode = Decoder()
2184
-
2185
- def __getattr__(attr: str):
2186
- if newAttr := {"tagMap": "TAG_MAP", "typeMap": "TYPE_MAP"}.get(attr):
2187
- warnings.warn(f"{attr} is deprecated. Please use {newAttr} instead.", DeprecationWarning)
2188
- return globals()[newAttr]
2189
- raise AttributeError(attr)