py2docfx 0.1.9.dev1886355__py3-none-any.whl → 0.1.9.dev1897554__py3-none-any.whl

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 (2380) hide show
  1. py2docfx/__main__.py +15 -90
  2. py2docfx/convert_prepare/constants.py +3 -0
  3. py2docfx/convert_prepare/environment.py +1 -1
  4. py2docfx/convert_prepare/generate_document.py +2 -15
  5. py2docfx/convert_prepare/get_source.py +5 -23
  6. py2docfx/convert_prepare/git.py +0 -1
  7. py2docfx/convert_prepare/pack.py +0 -1
  8. py2docfx/convert_prepare/sphinx_caller.py +23 -39
  9. py2docfx/convert_prepare/tests/test_environment.py +53 -0
  10. py2docfx/convert_prepare/tests/test_generate_document.py +2 -0
  11. py2docfx/convert_prepare/tests/test_sphinx_caller.py +2 -0
  12. py2docfx/venv/basevenv/Lib/site-packages/setuptools/build_meta.py +32 -8
  13. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +21 -3
  14. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/egg_info.py +5 -1
  15. py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +69 -28
  16. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +25 -0
  17. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist.py +4 -4
  18. py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +81 -0
  19. py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +281 -0
  20. py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +1157 -0
  21. py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +724 -0
  22. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +72 -0
  23. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +21 -0
  24. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_read.py +41 -0
  25. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_write.py +41 -0
  26. py2docfx/venv/venv1/Lib/site-packages/adodbapi/is64bit.py +34 -0
  27. py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +137 -0
  28. py2docfx/venv/venv1/Lib/site-packages/adodbapi/schema_table.py +16 -0
  29. py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +68 -0
  30. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +1599 -0
  31. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +184 -0
  32. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +885 -0
  33. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/is64bit.py +34 -0
  34. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +97 -0
  35. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/test_adodbapi_dbapi20.py +195 -0
  36. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/tryconnection.py +30 -0
  37. py2docfx/venv/venv1/Lib/site-packages/azure/core/__init__.py +43 -0
  38. py2docfx/venv/venv1/Lib/site-packages/azure/core/_azure_clouds.py +41 -0
  39. py2docfx/venv/venv1/Lib/site-packages/azure/core/_enum_meta.py +66 -0
  40. py2docfx/venv/venv1/Lib/site-packages/azure/core/_match_conditions.py +46 -0
  41. py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client.py +201 -0
  42. py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client_async.py +289 -0
  43. py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +12 -0
  44. py2docfx/venv/venv1/Lib/site-packages/azure/core/async_paging.py +151 -0
  45. py2docfx/venv/venv1/Lib/site-packages/azure/core/configuration.py +148 -0
  46. py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials.py +250 -0
  47. py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials_async.py +84 -0
  48. py2docfx/venv/venv1/Lib/site-packages/azure/core/exceptions.py +579 -0
  49. py2docfx/venv/venv1/Lib/site-packages/azure/core/messaging.py +229 -0
  50. py2docfx/venv/venv1/Lib/site-packages/azure/core/paging.py +125 -0
  51. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/__init__.py +189 -0
  52. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base.py +229 -0
  53. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base_async.py +219 -0
  54. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools.py +84 -0
  55. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools_async.py +73 -0
  56. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/__init__.py +76 -0
  57. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication.py +270 -0
  58. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication_async.py +188 -0
  59. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_base.py +140 -0
  60. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_base_async.py +57 -0
  61. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_custom_hook.py +79 -0
  62. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_distributed_tracing.py +147 -0
  63. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect.py +211 -0
  64. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect_async.py +87 -0
  65. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry.py +563 -0
  66. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry_async.py +215 -0
  67. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_sensitive_header_cleanup_policy.py +77 -0
  68. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_universal.py +750 -0
  69. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_utils.py +104 -0
  70. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/__init__.py +120 -0
  71. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +564 -0
  72. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base.py +863 -0
  73. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_async.py +169 -0
  74. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_requests_async.py +55 -0
  75. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_bigger_block_size_http_adapters.py +48 -0
  76. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_asyncio.py +297 -0
  77. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_basic.py +413 -0
  78. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_trio.py +303 -0
  79. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/__init__.py +42 -0
  80. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_async_poller.py +208 -0
  81. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_poller.py +303 -0
  82. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/async_base_polling.py +180 -0
  83. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/base_polling.py +857 -0
  84. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/__init__.py +36 -0
  85. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_aiohttp.py +228 -0
  86. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_helpers.py +421 -0
  87. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl.py +475 -0
  88. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl_async.py +155 -0
  89. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_asyncio.py +47 -0
  90. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_basic.py +102 -0
  91. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_trio.py +42 -0
  92. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_rest_py3.py +418 -0
  93. py2docfx/venv/venv1/Lib/site-packages/azure/core/serialization.py +125 -0
  94. py2docfx/venv/venv1/Lib/site-packages/azure/core/settings.py +520 -0
  95. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/__init__.py +12 -0
  96. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_abstract_span.py +311 -0
  97. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/common.py +108 -0
  98. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator.py +109 -0
  99. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator_async.py +109 -0
  100. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/__init__.py +303 -0
  101. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/_version.py +6 -0
  102. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/__init__.py +35 -0
  103. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_connection_string_parser.py +44 -0
  104. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_messaging_shared.py +46 -0
  105. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared.py +420 -0
  106. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared_async.py +62 -0
  107. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_utils.py +188 -0
  108. py2docfx/venv/venv1/Lib/site-packages/azure/identity/__init__.py +66 -0
  109. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_auth_record.py +114 -0
  110. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_bearer_token_provider.py +46 -0
  111. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_constants.py +67 -0
  112. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/__init__.py +47 -0
  113. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/app_service.py +39 -0
  114. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/application.py +119 -0
  115. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/authorization_code.py +141 -0
  116. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azd_cli.py +284 -0
  117. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_arc.py +123 -0
  118. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_cli.py +258 -0
  119. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_ml.py +80 -0
  120. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_pipelines.py +176 -0
  121. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_powershell.py +265 -0
  122. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/browser.py +157 -0
  123. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/certificate.py +182 -0
  124. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/chained.py +219 -0
  125. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/client_assertion.py +77 -0
  126. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/client_secret.py +53 -0
  127. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/cloud_shell.py +47 -0
  128. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/default.py +257 -0
  129. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/device_code.py +118 -0
  130. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/environment.py +183 -0
  131. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/imds.py +129 -0
  132. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/managed_identity.py +185 -0
  133. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/on_behalf_of.py +168 -0
  134. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/service_fabric.py +39 -0
  135. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/shared_cache.py +202 -0
  136. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/silent.py +224 -0
  137. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/user_password.py +79 -0
  138. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/vscode.py +216 -0
  139. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/workload_identity.py +97 -0
  140. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_enums.py +67 -0
  141. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_exceptions.py +50 -0
  142. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/__init__.py +56 -0
  143. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/aad_client.py +77 -0
  144. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/aad_client_base.py +420 -0
  145. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/aadclient_certificate.py +46 -0
  146. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/auth_code_redirect_handler.py +62 -0
  147. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/client_credential_base.py +57 -0
  148. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/decorators.py +74 -0
  149. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/get_token_mixin.py +165 -0
  150. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/interactive.py +302 -0
  151. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/linux_vscode_adapter.py +100 -0
  152. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/macos_vscode_adapter.py +34 -0
  153. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/managed_identity_base.py +61 -0
  154. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/managed_identity_client.py +151 -0
  155. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_client.py +145 -0
  156. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_credentials.py +147 -0
  157. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_managed_identity_client.py +210 -0
  158. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/pipeline.py +94 -0
  159. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/shared_token_cache.py +291 -0
  160. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/user_agent.py +9 -0
  161. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/utils.py +120 -0
  162. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/win_vscode_adapter.py +77 -0
  163. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_persistent_cache.py +116 -0
  164. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_version.py +5 -0
  165. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/__init__.py +46 -0
  166. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_bearer_token_provider.py +47 -0
  167. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/__init__.py +40 -0
  168. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/app_service.py +20 -0
  169. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/application.py +121 -0
  170. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/authorization_code.py +147 -0
  171. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azd_cli.py +232 -0
  172. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_arc.py +45 -0
  173. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_cli.py +209 -0
  174. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_ml.py +20 -0
  175. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_pipelines.py +146 -0
  176. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_powershell.py +186 -0
  177. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/certificate.py +77 -0
  178. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/chained.py +192 -0
  179. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/client_assertion.py +75 -0
  180. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/client_secret.py +67 -0
  181. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/cloud_shell.py +29 -0
  182. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/default.py +242 -0
  183. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/environment.py +153 -0
  184. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/imds.py +85 -0
  185. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/managed_identity.py +170 -0
  186. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/on_behalf_of.py +135 -0
  187. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/service_fabric.py +20 -0
  188. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/shared_cache.py +154 -0
  189. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/vscode.py +127 -0
  190. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/workload_identity.py +77 -0
  191. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/__init__.py +32 -0
  192. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/aad_client.py +97 -0
  193. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/decorators.py +74 -0
  194. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/get_token_mixin.py +165 -0
  195. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/managed_identity_base.py +68 -0
  196. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_internal/managed_identity_client.py +39 -0
  197. py2docfx/venv/venv1/Lib/site-packages/cachetools/__init__.py +859 -0
  198. py2docfx/venv/venv1/Lib/site-packages/cachetools/func.py +121 -0
  199. py2docfx/venv/venv1/Lib/site-packages/cachetools/keys.py +62 -0
  200. py2docfx/venv/venv1/Lib/site-packages/certifi/__init__.py +4 -0
  201. py2docfx/venv/venv1/Lib/site-packages/certifi/__main__.py +12 -0
  202. py2docfx/venv/venv1/Lib/site-packages/certifi/core.py +114 -0
  203. py2docfx/venv/venv1/Lib/site-packages/cffi/__init__.py +14 -0
  204. py2docfx/venv/venv1/Lib/site-packages/cffi/_imp_emulation.py +83 -0
  205. py2docfx/venv/venv1/Lib/site-packages/cffi/_shimmed_dist_utils.py +45 -0
  206. py2docfx/venv/venv1/Lib/site-packages/cffi/api.py +967 -0
  207. py2docfx/venv/venv1/Lib/site-packages/cffi/backend_ctypes.py +1121 -0
  208. py2docfx/venv/venv1/Lib/site-packages/cffi/cffi_opcode.py +187 -0
  209. py2docfx/venv/venv1/Lib/site-packages/cffi/commontypes.py +82 -0
  210. py2docfx/venv/venv1/Lib/site-packages/cffi/cparser.py +1015 -0
  211. py2docfx/venv/venv1/Lib/site-packages/cffi/error.py +31 -0
  212. py2docfx/venv/venv1/Lib/site-packages/cffi/ffiplatform.py +113 -0
  213. py2docfx/venv/venv1/Lib/site-packages/cffi/lock.py +30 -0
  214. py2docfx/venv/venv1/Lib/site-packages/cffi/model.py +618 -0
  215. py2docfx/venv/venv1/Lib/site-packages/cffi/pkgconfig.py +121 -0
  216. py2docfx/venv/venv1/Lib/site-packages/cffi/recompiler.py +1598 -0
  217. py2docfx/venv/venv1/Lib/site-packages/cffi/setuptools_ext.py +216 -0
  218. py2docfx/venv/venv1/Lib/site-packages/cffi/vengine_cpy.py +1084 -0
  219. py2docfx/venv/venv1/Lib/site-packages/cffi/vengine_gen.py +679 -0
  220. py2docfx/venv/venv1/Lib/site-packages/cffi/verifier.py +306 -0
  221. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/__init__.py +46 -0
  222. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/__main__.py +4 -0
  223. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/api.py +668 -0
  224. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cd.py +395 -0
  225. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cli/__init__.py +6 -0
  226. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cli/__main__.py +320 -0
  227. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/constant.py +1997 -0
  228. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/legacy.py +65 -0
  229. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/md.py +628 -0
  230. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/models.py +359 -0
  231. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/utils.py +421 -0
  232. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/version.py +6 -0
  233. py2docfx/venv/venv1/Lib/site-packages/cryptography/__about__.py +17 -0
  234. py2docfx/venv/venv1/Lib/site-packages/cryptography/__init__.py +13 -0
  235. py2docfx/venv/venv1/Lib/site-packages/cryptography/exceptions.py +52 -0
  236. py2docfx/venv/venv1/Lib/site-packages/cryptography/fernet.py +215 -0
  237. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/__init__.py +13 -0
  238. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/_oid.py +313 -0
  239. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/__init__.py +13 -0
  240. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/openssl/__init__.py +9 -0
  241. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/openssl/backend.py +291 -0
  242. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/__init__.py +3 -0
  243. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/__init__.py +3 -0
  244. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py +183 -0
  245. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/binding.py +121 -0
  246. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/__init__.py +5 -0
  247. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/ciphers/__init__.py +5 -0
  248. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py +107 -0
  249. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/__init__.py +3 -0
  250. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_asymmetric.py +19 -0
  251. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_cipheralgorithm.py +58 -0
  252. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_serialization.py +169 -0
  253. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/__init__.py +3 -0
  254. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py +135 -0
  255. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.py +154 -0
  256. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py +403 -0
  257. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py +116 -0
  258. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed448.py +118 -0
  259. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/padding.py +113 -0
  260. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py +260 -0
  261. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/types.py +111 -0
  262. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/utils.py +24 -0
  263. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py +109 -0
  264. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py +112 -0
  265. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/__init__.py +27 -0
  266. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/aead.py +23 -0
  267. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py +177 -0
  268. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/base.py +145 -0
  269. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/modes.py +268 -0
  270. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/cmac.py +10 -0
  271. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/constant_time.py +14 -0
  272. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/hashes.py +242 -0
  273. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/hmac.py +13 -0
  274. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/__init__.py +23 -0
  275. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py +124 -0
  276. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/hkdf.py +101 -0
  277. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.py +302 -0
  278. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py +62 -0
  279. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/scrypt.py +80 -0
  280. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py +61 -0
  281. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/keywrap.py +177 -0
  282. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/padding.py +204 -0
  283. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/poly1305.py +11 -0
  284. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/__init__.py +63 -0
  285. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/base.py +14 -0
  286. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs12.py +156 -0
  287. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs7.py +336 -0
  288. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/ssh.py +1569 -0
  289. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/__init__.py +9 -0
  290. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/hotp.py +92 -0
  291. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/totp.py +50 -0
  292. py2docfx/venv/venv1/Lib/site-packages/cryptography/utils.py +127 -0
  293. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/__init__.py +259 -0
  294. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/base.py +1226 -0
  295. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/certificate_transparency.py +97 -0
  296. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/extensions.py +2196 -0
  297. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/general_name.py +281 -0
  298. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/name.py +465 -0
  299. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/ocsp.py +678 -0
  300. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/oid.py +35 -0
  301. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/verification.py +28 -0
  302. py2docfx/venv/venv1/Lib/site-packages/google/api/annotations_pb2.py +46 -0
  303. py2docfx/venv/venv1/Lib/site-packages/google/api/auth_pb2.py +52 -0
  304. py2docfx/venv/venv1/Lib/site-packages/google/api/backend_pb2.py +52 -0
  305. py2docfx/venv/venv1/Lib/site-packages/google/api/billing_pb2.py +44 -0
  306. py2docfx/venv/venv1/Lib/site-packages/google/api/client_pb2.py +93 -0
  307. py2docfx/venv/venv1/Lib/site-packages/google/api/config_change_pb2.py +48 -0
  308. py2docfx/venv/venv1/Lib/site-packages/google/api/consumer_pb2.py +46 -0
  309. py2docfx/venv/venv1/Lib/site-packages/google/api/context_pb2.py +44 -0
  310. py2docfx/venv/venv1/Lib/site-packages/google/api/control_pb2.py +45 -0
  311. py2docfx/venv/venv1/Lib/site-packages/google/api/distribution_pb2.py +60 -0
  312. py2docfx/venv/venv1/Lib/site-packages/google/api/documentation_pb2.py +48 -0
  313. py2docfx/venv/venv1/Lib/site-packages/google/api/endpoint_pb2.py +42 -0
  314. py2docfx/venv/venv1/Lib/site-packages/google/api/error_reason_pb2.py +44 -0
  315. py2docfx/venv/venv1/Lib/site-packages/google/api/field_behavior_pb2.py +49 -0
  316. py2docfx/venv/venv1/Lib/site-packages/google/api/field_info_pb2.py +51 -0
  317. py2docfx/venv/venv1/Lib/site-packages/google/api/http_pb2.py +46 -0
  318. py2docfx/venv/venv1/Lib/site-packages/google/api/httpbody_pb2.py +45 -0
  319. py2docfx/venv/venv1/Lib/site-packages/google/api/label_pb2.py +44 -0
  320. py2docfx/venv/venv1/Lib/site-packages/google/api/launch_stage_pb2.py +44 -0
  321. py2docfx/venv/venv1/Lib/site-packages/google/api/log_pb2.py +45 -0
  322. py2docfx/venv/venv1/Lib/site-packages/google/api/logging_pb2.py +44 -0
  323. py2docfx/venv/venv1/Lib/site-packages/google/api/metric_pb2.py +65 -0
  324. py2docfx/venv/venv1/Lib/site-packages/google/api/monitored_resource_pb2.py +61 -0
  325. py2docfx/venv/venv1/Lib/site-packages/google/api/monitoring_pb2.py +46 -0
  326. py2docfx/venv/venv1/Lib/site-packages/google/api/policy_pb2.py +47 -0
  327. py2docfx/venv/venv1/Lib/site-packages/google/api/quota_pb2.py +54 -0
  328. py2docfx/venv/venv1/Lib/site-packages/google/api/resource_pb2.py +51 -0
  329. py2docfx/venv/venv1/Lib/site-packages/google/api/routing_pb2.py +47 -0
  330. py2docfx/venv/venv1/Lib/site-packages/google/api/service_pb2.py +67 -0
  331. py2docfx/venv/venv1/Lib/site-packages/google/api/source_info_pb2.py +47 -0
  332. py2docfx/venv/venv1/Lib/site-packages/google/api/system_parameter_pb2.py +48 -0
  333. py2docfx/venv/venv1/Lib/site-packages/google/api/usage_pb2.py +44 -0
  334. py2docfx/venv/venv1/Lib/site-packages/google/api/visibility_pb2.py +49 -0
  335. py2docfx/venv/venv1/Lib/site-packages/google/api_core/__init__.py +22 -0
  336. py2docfx/venv/venv1/Lib/site-packages/google/api_core/_rest_streaming_base.py +118 -0
  337. py2docfx/venv/venv1/Lib/site-packages/google/api_core/bidi.py +743 -0
  338. py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_info.py +108 -0
  339. py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_options.py +137 -0
  340. py2docfx/venv/venv1/Lib/site-packages/google/api_core/datetime_helpers.py +298 -0
  341. py2docfx/venv/venv1/Lib/site-packages/google/api_core/exceptions.py +670 -0
  342. py2docfx/venv/venv1/Lib/site-packages/google/api_core/extended_operation.py +225 -0
  343. py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/__init__.py +19 -0
  344. py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/_helpers.py +39 -0
  345. py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/async_future.py +162 -0
  346. py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/base.py +64 -0
  347. py2docfx/venv/venv1/Lib/site-packages/google/api_core/future/polling.py +323 -0
  348. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/__init__.py +29 -0
  349. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/client_info.py +57 -0
  350. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/config.py +175 -0
  351. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/config_async.py +42 -0
  352. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/method.py +253 -0
  353. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/method_async.py +59 -0
  354. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/routing_header.py +87 -0
  355. py2docfx/venv/venv1/Lib/site-packages/google/api_core/general_helpers.py +16 -0
  356. py2docfx/venv/venv1/Lib/site-packages/google/api_core/grpc_helpers.py +622 -0
  357. py2docfx/venv/venv1/Lib/site-packages/google/api_core/grpc_helpers_async.py +331 -0
  358. py2docfx/venv/venv1/Lib/site-packages/google/api_core/iam.py +427 -0
  359. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operation.py +365 -0
  360. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operation_async.py +225 -0
  361. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/__init__.py +40 -0
  362. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/abstract_operations_base_client.py +370 -0
  363. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/abstract_operations_client.py +387 -0
  364. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/operations_async_client.py +364 -0
  365. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/operations_client.py +378 -0
  366. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/operations_client_config.py +60 -0
  367. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/operations_rest_client_async.py +345 -0
  368. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/pagers.py +67 -0
  369. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/pagers_async.py +71 -0
  370. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/pagers_base.py +73 -0
  371. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/transports/__init__.py +39 -0
  372. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/transports/base.py +282 -0
  373. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/transports/rest.py +473 -0
  374. py2docfx/venv/venv1/Lib/site-packages/google/api_core/operations_v1/transports/rest_asyncio.py +560 -0
  375. py2docfx/venv/venv1/Lib/site-packages/google/api_core/page_iterator.py +571 -0
  376. py2docfx/venv/venv1/Lib/site-packages/google/api_core/page_iterator_async.py +285 -0
  377. py2docfx/venv/venv1/Lib/site-packages/google/api_core/path_template.py +346 -0
  378. py2docfx/venv/venv1/Lib/site-packages/google/api_core/protobuf_helpers.py +373 -0
  379. py2docfx/venv/venv1/Lib/site-packages/google/api_core/rest_helpers.py +109 -0
  380. py2docfx/venv/venv1/Lib/site-packages/google/api_core/rest_streaming.py +66 -0
  381. py2docfx/venv/venv1/Lib/site-packages/google/api_core/rest_streaming_async.py +89 -0
  382. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/__init__.py +52 -0
  383. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_base.py +361 -0
  384. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming.py +263 -0
  385. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming_async.py +325 -0
  386. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary.py +301 -0
  387. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary_async.py +238 -0
  388. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry_async.py +34 -0
  389. py2docfx/venv/venv1/Lib/site-packages/google/api_core/timeout.py +284 -0
  390. py2docfx/venv/venv1/Lib/site-packages/google/api_core/universe.py +82 -0
  391. py2docfx/venv/venv1/Lib/site-packages/google/api_core/version.py +15 -0
  392. py2docfx/venv/venv1/Lib/site-packages/google/api_core/version_header.py +29 -0
  393. py2docfx/venv/venv1/Lib/site-packages/google/auth/__init__.py +53 -0
  394. py2docfx/venv/venv1/Lib/site-packages/google/auth/_cloud_sdk.py +153 -0
  395. py2docfx/venv/venv1/Lib/site-packages/google/auth/_credentials_async.py +171 -0
  396. py2docfx/venv/venv1/Lib/site-packages/google/auth/_credentials_base.py +75 -0
  397. py2docfx/venv/venv1/Lib/site-packages/google/auth/_default.py +693 -0
  398. py2docfx/venv/venv1/Lib/site-packages/google/auth/_default_async.py +282 -0
  399. py2docfx/venv/venv1/Lib/site-packages/google/auth/_exponential_backoff.py +164 -0
  400. py2docfx/venv/venv1/Lib/site-packages/google/auth/_helpers.py +273 -0
  401. py2docfx/venv/venv1/Lib/site-packages/google/auth/_jwt_async.py +164 -0
  402. py2docfx/venv/venv1/Lib/site-packages/google/auth/_oauth2client.py +167 -0
  403. py2docfx/venv/venv1/Lib/site-packages/google/auth/_refresh_worker.py +109 -0
  404. py2docfx/venv/venv1/Lib/site-packages/google/auth/_service_account_info.py +80 -0
  405. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/__init__.py +25 -0
  406. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/credentials.py +143 -0
  407. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/__init__.py +144 -0
  408. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/aiohttp.py +184 -0
  409. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/sessions.py +268 -0
  410. py2docfx/venv/venv1/Lib/site-packages/google/auth/api_key.py +76 -0
  411. py2docfx/venv/venv1/Lib/site-packages/google/auth/app_engine.py +180 -0
  412. py2docfx/venv/venv1/Lib/site-packages/google/auth/aws.py +861 -0
  413. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/__init__.py +22 -0
  414. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/_metadata.py +367 -0
  415. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/credentials.py +496 -0
  416. py2docfx/venv/venv1/Lib/site-packages/google/auth/credentials.py +522 -0
  417. py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/__init__.py +98 -0
  418. py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/_cryptography_rsa.py +151 -0
  419. py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/_python_rsa.py +175 -0
  420. py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/base.py +127 -0
  421. py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/es256.py +175 -0
  422. py2docfx/venv/venv1/Lib/site-packages/google/auth/crypt/rsa.py +30 -0
  423. py2docfx/venv/venv1/Lib/site-packages/google/auth/downscoped.py +512 -0
  424. py2docfx/venv/venv1/Lib/site-packages/google/auth/environment_vars.py +84 -0
  425. py2docfx/venv/venv1/Lib/site-packages/google/auth/exceptions.py +108 -0
  426. py2docfx/venv/venv1/Lib/site-packages/google/auth/external_account.py +628 -0
  427. py2docfx/venv/venv1/Lib/site-packages/google/auth/external_account_authorized_user.py +380 -0
  428. py2docfx/venv/venv1/Lib/site-packages/google/auth/iam.py +114 -0
  429. py2docfx/venv/venv1/Lib/site-packages/google/auth/identity_pool.py +439 -0
  430. py2docfx/venv/venv1/Lib/site-packages/google/auth/impersonated_credentials.py +462 -0
  431. py2docfx/venv/venv1/Lib/site-packages/google/auth/jwt.py +878 -0
  432. py2docfx/venv/venv1/Lib/site-packages/google/auth/metrics.py +154 -0
  433. py2docfx/venv/venv1/Lib/site-packages/google/auth/pluggable.py +429 -0
  434. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/__init__.py +103 -0
  435. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_aiohttp_requests.py +391 -0
  436. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_custom_tls_signer.py +283 -0
  437. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_http_client.py +113 -0
  438. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_mtls_helper.py +407 -0
  439. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_requests_base.py +52 -0
  440. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/grpc.py +343 -0
  441. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/mtls.py +112 -0
  442. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/requests.py +600 -0
  443. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/urllib3.py +444 -0
  444. py2docfx/venv/venv1/Lib/site-packages/google/auth/version.py +15 -0
  445. py2docfx/venv/venv1/Lib/site-packages/google/cloud/extended_operations_pb2.py +47 -0
  446. py2docfx/venv/venv1/Lib/site-packages/google/cloud/location/locations_pb2.py +71 -0
  447. py2docfx/venv/venv1/Lib/site-packages/google/gapic/metadata/gapic_metadata_pb2.py +62 -0
  448. py2docfx/venv/venv1/Lib/site-packages/google/logging/type/http_request_pb2.py +47 -0
  449. py2docfx/venv/venv1/Lib/site-packages/google/logging/type/log_severity_pb2.py +44 -0
  450. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_grpc.py +19 -0
  451. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_grpc_pb2.py +15 -0
  452. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_pb2.py +42 -0
  453. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_pb2_grpc.py +341 -0
  454. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_proto.py +5 -0
  455. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_proto_pb2.py +95 -0
  456. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/__init__.py +36 -0
  457. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_client.py +500 -0
  458. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_client_async.py +286 -0
  459. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_credentials_async.py +118 -0
  460. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_id_token_async.py +285 -0
  461. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_reauth_async.py +328 -0
  462. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_service_account_async.py +132 -0
  463. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/challenges.py +281 -0
  464. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/credentials.py +614 -0
  465. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/gdch_credentials.py +251 -0
  466. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/id_token.py +340 -0
  467. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/reauth.py +369 -0
  468. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/service_account.py +846 -0
  469. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/sts.py +176 -0
  470. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/utils.py +168 -0
  471. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_handler.py +82 -0
  472. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_handler_factory.py +16 -0
  473. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_types.py +156 -0
  474. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +10 -0
  475. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +37 -0
  476. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +43 -0
  477. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +46 -0
  478. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor.py +1511 -0
  479. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_database.py +154 -0
  480. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +3169 -0
  481. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pool.py +1355 -0
  482. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +37 -0
  483. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +37 -0
  484. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +37 -0
  485. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/__init__.py +7 -0
  486. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/_parameterized.py +420 -0
  487. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/api_implementation.py +142 -0
  488. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/builder.py +117 -0
  489. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/containers.py +677 -0
  490. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/decoder.py +1036 -0
  491. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/encoder.py +806 -0
  492. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/enum_type_wrapper.py +112 -0
  493. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/extension_dict.py +194 -0
  494. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/field_mask.py +310 -0
  495. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/message_listener.py +55 -0
  496. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_edition_defaults.py +5 -0
  497. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_message.py +1580 -0
  498. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/testing_refleaks.py +119 -0
  499. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/type_checkers.py +408 -0
  500. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/well_known_types.py +678 -0
  501. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/wire_format.py +245 -0
  502. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/json_format.py +1069 -0
  503. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message.py +422 -0
  504. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message_factory.py +237 -0
  505. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto.py +116 -0
  506. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto_builder.py +111 -0
  507. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto_json.py +83 -0
  508. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/pyext/cpp_message.py +49 -0
  509. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/reflection.py +85 -0
  510. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +123 -0
  511. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/service.py +213 -0
  512. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/service_reflection.py +272 -0
  513. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +37 -0
  514. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +47 -0
  515. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/symbol_database.py +197 -0
  516. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_encoding.py +106 -0
  517. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_format.py +1864 -0
  518. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +37 -0
  519. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +53 -0
  520. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/unknown_fields.py +97 -0
  521. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +53 -0
  522. py2docfx/venv/venv1/Lib/site-packages/google/rpc/code_pb2.py +42 -0
  523. py2docfx/venv/venv1/Lib/site-packages/google/rpc/context/attribute_context_pb2.py +82 -0
  524. py2docfx/venv/venv1/Lib/site-packages/google/rpc/context/audit_context_pb2.py +47 -0
  525. py2docfx/venv/venv1/Lib/site-packages/google/rpc/error_details_pb2.py +77 -0
  526. py2docfx/venv/venv1/Lib/site-packages/google/rpc/http_pb2.py +46 -0
  527. py2docfx/venv/venv1/Lib/site-packages/google/rpc/status_pb2.py +45 -0
  528. py2docfx/venv/venv1/Lib/site-packages/google/type/calendar_period_pb2.py +44 -0
  529. py2docfx/venv/venv1/Lib/site-packages/google/type/color_pb2.py +45 -0
  530. py2docfx/venv/venv1/Lib/site-packages/google/type/date_pb2.py +42 -0
  531. py2docfx/venv/venv1/Lib/site-packages/google/type/datetime_pb2.py +49 -0
  532. py2docfx/venv/venv1/Lib/site-packages/google/type/dayofweek_pb2.py +44 -0
  533. py2docfx/venv/venv1/Lib/site-packages/google/type/decimal_pb2.py +42 -0
  534. py2docfx/venv/venv1/Lib/site-packages/google/type/expr_pb2.py +42 -0
  535. py2docfx/venv/venv1/Lib/site-packages/google/type/fraction_pb2.py +44 -0
  536. py2docfx/venv/venv1/Lib/site-packages/google/type/interval_pb2.py +47 -0
  537. py2docfx/venv/venv1/Lib/site-packages/google/type/latlng_pb2.py +42 -0
  538. py2docfx/venv/venv1/Lib/site-packages/google/type/localized_text_pb2.py +44 -0
  539. py2docfx/venv/venv1/Lib/site-packages/google/type/money_pb2.py +42 -0
  540. py2docfx/venv/venv1/Lib/site-packages/google/type/month_pb2.py +42 -0
  541. py2docfx/venv/venv1/Lib/site-packages/google/type/phone_number_pb2.py +46 -0
  542. py2docfx/venv/venv1/Lib/site-packages/google/type/postal_address_pb2.py +44 -0
  543. py2docfx/venv/venv1/Lib/site-packages/google/type/quaternion_pb2.py +44 -0
  544. py2docfx/venv/venv1/Lib/site-packages/google/type/timeofday_pb2.py +44 -0
  545. py2docfx/venv/venv1/Lib/site-packages/idna/__init__.py +45 -0
  546. py2docfx/venv/venv1/Lib/site-packages/idna/codec.py +122 -0
  547. py2docfx/venv/venv1/Lib/site-packages/idna/compat.py +15 -0
  548. py2docfx/venv/venv1/Lib/site-packages/idna/core.py +437 -0
  549. py2docfx/venv/venv1/Lib/site-packages/idna/idnadata.py +4243 -0
  550. py2docfx/venv/venv1/Lib/site-packages/idna/intranges.py +57 -0
  551. py2docfx/venv/venv1/Lib/site-packages/idna/package_data.py +1 -0
  552. py2docfx/venv/venv1/Lib/site-packages/idna/uts46data.py +8681 -0
  553. py2docfx/venv/venv1/Lib/site-packages/isapi/__init__.py +39 -0
  554. py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +812 -0
  555. py2docfx/venv/venv1/Lib/site-packages/isapi/isapicon.py +121 -0
  556. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/advanced.py +218 -0
  557. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +116 -0
  558. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +85 -0
  559. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +161 -0
  560. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/test.py +195 -0
  561. py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +72 -0
  562. py2docfx/venv/venv1/Lib/site-packages/isapi/test/extension_simple.py +114 -0
  563. py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +190 -0
  564. py2docfx/venv/venv1/Lib/site-packages/jwt/__init__.py +74 -0
  565. py2docfx/venv/venv1/Lib/site-packages/jwt/algorithms.py +860 -0
  566. py2docfx/venv/venv1/Lib/site-packages/jwt/api_jwk.py +144 -0
  567. py2docfx/venv/venv1/Lib/site-packages/jwt/api_jws.py +335 -0
  568. py2docfx/venv/venv1/Lib/site-packages/jwt/api_jwt.py +377 -0
  569. py2docfx/venv/venv1/Lib/site-packages/jwt/exceptions.py +74 -0
  570. py2docfx/venv/venv1/Lib/site-packages/jwt/help.py +64 -0
  571. py2docfx/venv/venv1/Lib/site-packages/jwt/jwk_set_cache.py +31 -0
  572. py2docfx/venv/venv1/Lib/site-packages/jwt/jwks_client.py +124 -0
  573. py2docfx/venv/venv1/Lib/site-packages/jwt/types.py +5 -0
  574. py2docfx/venv/venv1/Lib/site-packages/jwt/utils.py +145 -0
  575. py2docfx/venv/venv1/Lib/site-packages/jwt/warnings.py +2 -0
  576. py2docfx/venv/venv1/Lib/site-packages/msal/__init__.py +48 -0
  577. py2docfx/venv/venv1/Lib/site-packages/msal/__main__.py +343 -0
  578. py2docfx/venv/venv1/Lib/site-packages/msal/application.py +2432 -0
  579. py2docfx/venv/venv1/Lib/site-packages/msal/auth_scheme.py +34 -0
  580. py2docfx/venv/venv1/Lib/site-packages/msal/authority.py +225 -0
  581. py2docfx/venv/venv1/Lib/site-packages/msal/broker.py +265 -0
  582. py2docfx/venv/venv1/Lib/site-packages/msal/cloudshell.py +122 -0
  583. py2docfx/venv/venv1/Lib/site-packages/msal/exceptions.py +38 -0
  584. py2docfx/venv/venv1/Lib/site-packages/msal/individual_cache.py +286 -0
  585. py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +649 -0
  586. py2docfx/venv/venv1/Lib/site-packages/msal/mex.py +137 -0
  587. py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/__init__.py +7 -0
  588. py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/assertion.py +137 -0
  589. py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/authcode.py +379 -0
  590. py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/http.py +74 -0
  591. py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/oauth2.py +865 -0
  592. py2docfx/venv/venv1/Lib/site-packages/msal/oauth2cli/oidc.py +338 -0
  593. py2docfx/venv/venv1/Lib/site-packages/msal/region.py +45 -0
  594. py2docfx/venv/venv1/Lib/site-packages/msal/telemetry.py +78 -0
  595. py2docfx/venv/venv1/Lib/site-packages/msal/throttled_http_client.py +148 -0
  596. py2docfx/venv/venv1/Lib/site-packages/msal/token_cache.py +418 -0
  597. py2docfx/venv/venv1/Lib/site-packages/msal/wstrust_request.py +129 -0
  598. py2docfx/venv/venv1/Lib/site-packages/msal/wstrust_response.py +94 -0
  599. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/__init__.py +13 -0
  600. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/cache_lock.py +71 -0
  601. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/libsecret.py +134 -0
  602. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/osx.py +252 -0
  603. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/persistence.py +344 -0
  604. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/token_cache.py +88 -0
  605. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/windows.py +123 -0
  606. py2docfx/venv/venv1/Lib/site-packages/opencensus/__init__.py +1 -0
  607. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/__init__.py +1 -0
  608. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/backports/__init__.py +79 -0
  609. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/configuration/__init__.py +46 -0
  610. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/http_handler/__init__.py +43 -0
  611. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/monitored_resource/aws_identity_doc_utils.py +95 -0
  612. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/monitored_resource/gcp_metadata_config.py +115 -0
  613. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/monitored_resource/k8s_utils.py +64 -0
  614. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/monitored_resource/monitored_resource.py +68 -0
  615. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/resource/__init__.py +218 -0
  616. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/runtime_context/__init__.py +177 -0
  617. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/runtime_context/version.py +15 -0
  618. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/schedule/__init__.py +149 -0
  619. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/transports/__init__.py +13 -0
  620. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/transports/async_.py +231 -0
  621. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/transports/base.py +31 -0
  622. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/transports/sync.py +28 -0
  623. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/utils/__init__.py +131 -0
  624. py2docfx/venv/venv1/Lib/site-packages/opencensus/common/version/__init__.py +15 -0
  625. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/__init__.py +1 -0
  626. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/__init__.py +1 -0
  627. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/__init__.py +138 -0
  628. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/exporter.py +93 -0
  629. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/processor.py +63 -0
  630. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/protocol.py +206 -0
  631. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/storage.py +205 -0
  632. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/transport.py +358 -0
  633. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/utils.py +79 -0
  634. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/version.py +15 -0
  635. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/log_exporter/__init__.py +314 -0
  636. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/__init__.py +190 -0
  637. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/__init__.py +62 -0
  638. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/cpu.py +50 -0
  639. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/http_requests.py +176 -0
  640. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/memory.py +42 -0
  641. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/process.py +87 -0
  642. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/__init__.py +1 -0
  643. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/state.py +50 -0
  644. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat.py +100 -0
  645. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat_metrics.py +480 -0
  646. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/trace_exporter/__init__.py +236 -0
  647. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/threading/__init__.py +13 -0
  648. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/threading/trace.py +154 -0
  649. py2docfx/venv/venv1/Lib/site-packages/opencensus/log/__init__.py +115 -0
  650. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/cumulative.py +87 -0
  651. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/gauge.py +513 -0
  652. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/metric.py +79 -0
  653. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/metric_descriptor.py +174 -0
  654. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/metric_producer.py +81 -0
  655. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/point.py +47 -0
  656. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/summary.py +144 -0
  657. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/time_series.py +90 -0
  658. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/export/value.py +307 -0
  659. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/label_key.py +51 -0
  660. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/label_value.py +42 -0
  661. py2docfx/venv/venv1/Lib/site-packages/opencensus/metrics/transport.py +145 -0
  662. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/__init__.py +13 -0
  663. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/aggregation.py +144 -0
  664. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/aggregation_data.py +399 -0
  665. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/base_exporter.py +42 -0
  666. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/bucket_boundaries.py +41 -0
  667. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/execution_context.py +32 -0
  668. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/measure.py +60 -0
  669. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/measure_to_view_map.py +163 -0
  670. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/measurement.py +50 -0
  671. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/measurement_map.py +118 -0
  672. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/metric_utils.py +79 -0
  673. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/stats.py +43 -0
  674. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/stats_recorder.py +34 -0
  675. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/view.py +106 -0
  676. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/view_data.py +96 -0
  677. py2docfx/venv/venv1/Lib/site-packages/opencensus/stats/view_manager.py +55 -0
  678. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/__init__.py +23 -0
  679. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/propagation/__init__.py +13 -0
  680. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/propagation/binary_serializer.py +109 -0
  681. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/tag.py +38 -0
  682. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/tag_key.py +35 -0
  683. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/tag_map.py +104 -0
  684. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/tag_value.py +35 -0
  685. py2docfx/venv/venv1/Lib/site-packages/opencensus/tags/validation.py +42 -0
  686. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/__init__.py +17 -0
  687. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/attributes.py +74 -0
  688. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/attributes_helper.py +43 -0
  689. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/base_exporter.py +43 -0
  690. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/base_span.py +109 -0
  691. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/blank_span.py +165 -0
  692. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/config_integration.py +38 -0
  693. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/exceptions_status.py +25 -0
  694. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/execution_context.py +89 -0
  695. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/file_exporter.py +71 -0
  696. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/integrations.py +52 -0
  697. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/link.py +71 -0
  698. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/logging_exporter.py +85 -0
  699. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/print_exporter.py +51 -0
  700. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/__init__.py +13 -0
  701. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/b3_format.py +117 -0
  702. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/binary_format.py +168 -0
  703. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/google_cloud_format.py +128 -0
  704. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/text_format.py +85 -0
  705. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/trace_context_http_header_format.py +115 -0
  706. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/propagation/tracestate_string_format.py +43 -0
  707. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/samplers/__init__.py +94 -0
  708. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/span.py +457 -0
  709. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/span_context.py +168 -0
  710. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/span_data.py +184 -0
  711. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/stack_trace.py +189 -0
  712. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/status.py +84 -0
  713. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/time_event.py +117 -0
  714. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/trace_options.py +78 -0
  715. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracer.py +144 -0
  716. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracers/__init__.py +13 -0
  717. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracers/base.py +82 -0
  718. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracers/context_tracer.py +176 -0
  719. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracers/noop_tracer.py +85 -0
  720. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/tracestate.py +65 -0
  721. py2docfx/venv/venv1/Lib/site-packages/opencensus/trace/utils.py +128 -0
  722. py2docfx/venv/venv1/Lib/site-packages/portalocker/__about__.py +6 -0
  723. py2docfx/venv/venv1/Lib/site-packages/portalocker/__init__.py +79 -0
  724. py2docfx/venv/venv1/Lib/site-packages/portalocker/__main__.py +122 -0
  725. py2docfx/venv/venv1/Lib/site-packages/portalocker/constants.py +59 -0
  726. py2docfx/venv/venv1/Lib/site-packages/portalocker/exceptions.py +27 -0
  727. py2docfx/venv/venv1/Lib/site-packages/portalocker/portalocker.py +154 -0
  728. py2docfx/venv/venv1/Lib/site-packages/portalocker/redis.py +236 -0
  729. py2docfx/venv/venv1/Lib/site-packages/portalocker/utils.py +569 -0
  730. py2docfx/venv/venv1/Lib/site-packages/proto/__init__.py +72 -0
  731. py2docfx/venv/venv1/Lib/site-packages/proto/_file_info.py +196 -0
  732. py2docfx/venv/venv1/Lib/site-packages/proto/_package_info.py +50 -0
  733. py2docfx/venv/venv1/Lib/site-packages/proto/datetime_helpers.py +225 -0
  734. py2docfx/venv/venv1/Lib/site-packages/proto/enums.py +161 -0
  735. py2docfx/venv/venv1/Lib/site-packages/proto/fields.py +165 -0
  736. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/__init__.py +18 -0
  737. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/__init__.py +24 -0
  738. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/maps.py +82 -0
  739. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/repeated.py +184 -0
  740. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/compat.py +67 -0
  741. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/marshal.py +297 -0
  742. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/__init__.py +13 -0
  743. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/bytes.py +44 -0
  744. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/dates.py +85 -0
  745. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/enums.py +59 -0
  746. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/field_mask.py +36 -0
  747. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/message.py +48 -0
  748. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/stringy_numbers.py +71 -0
  749. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/struct.py +143 -0
  750. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/wrappers.py +84 -0
  751. py2docfx/venv/venv1/Lib/site-packages/proto/message.py +998 -0
  752. py2docfx/venv/venv1/Lib/site-packages/proto/modules.py +50 -0
  753. py2docfx/venv/venv1/Lib/site-packages/proto/primitives.py +38 -0
  754. py2docfx/venv/venv1/Lib/site-packages/proto/utils.py +58 -0
  755. py2docfx/venv/venv1/Lib/site-packages/proto/version.py +15 -0
  756. py2docfx/venv/venv1/Lib/site-packages/psutil/__init__.py +2486 -0
  757. py2docfx/venv/venv1/Lib/site-packages/psutil/_common.py +994 -0
  758. py2docfx/venv/venv1/Lib/site-packages/psutil/_compat.py +477 -0
  759. py2docfx/venv/venv1/Lib/site-packages/psutil/_psaix.py +579 -0
  760. py2docfx/venv/venv1/Lib/site-packages/psutil/_psbsd.py +985 -0
  761. py2docfx/venv/venv1/Lib/site-packages/psutil/_pslinux.py +2375 -0
  762. py2docfx/venv/venv1/Lib/site-packages/psutil/_psosx.py +552 -0
  763. py2docfx/venv/venv1/Lib/site-packages/psutil/_psposix.py +243 -0
  764. py2docfx/venv/venv1/Lib/site-packages/psutil/_pssunos.py +753 -0
  765. py2docfx/venv/venv1/Lib/site-packages/psutil/_pswindows.py +1174 -0
  766. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/__init__.py +2113 -0
  767. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/__main__.py +12 -0
  768. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_aix.py +115 -0
  769. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_bsd.py +592 -0
  770. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_connections.py +567 -0
  771. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_contracts.py +339 -0
  772. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_linux.py +2348 -0
  773. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_memleaks.py +493 -0
  774. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_misc.py +1058 -0
  775. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_osx.py +192 -0
  776. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_posix.py +496 -0
  777. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_process.py +1746 -0
  778. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_process_all.py +543 -0
  779. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_sunos.py +39 -0
  780. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_system.py +987 -0
  781. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_testutils.py +587 -0
  782. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_unicode.py +369 -0
  783. py2docfx/venv/venv1/Lib/site-packages/psutil/tests/test_windows.py +934 -0
  784. py2docfx/venv/venv1/Lib/site-packages/pyasn1/__init__.py +2 -0
  785. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/__init__.py +1 -0
  786. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/ber/__init__.py +1 -0
  787. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/ber/decoder.py +2189 -0
  788. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/ber/encoder.py +954 -0
  789. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/ber/eoo.py +28 -0
  790. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/cer/__init__.py +1 -0
  791. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/cer/decoder.py +149 -0
  792. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/cer/encoder.py +331 -0
  793. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/der/__init__.py +1 -0
  794. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/der/decoder.py +120 -0
  795. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/der/encoder.py +126 -0
  796. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/native/__init__.py +1 -0
  797. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/native/decoder.py +244 -0
  798. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/native/encoder.py +285 -0
  799. py2docfx/venv/venv1/Lib/site-packages/pyasn1/codec/streaming.py +234 -0
  800. py2docfx/venv/venv1/Lib/site-packages/pyasn1/compat/__init__.py +4 -0
  801. py2docfx/venv/venv1/Lib/site-packages/pyasn1/compat/integer.py +13 -0
  802. py2docfx/venv/venv1/Lib/site-packages/pyasn1/debug.py +146 -0
  803. py2docfx/venv/venv1/Lib/site-packages/pyasn1/error.py +116 -0
  804. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/__init__.py +1 -0
  805. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/base.py +699 -0
  806. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/char.py +288 -0
  807. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/constraint.py +751 -0
  808. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/error.py +11 -0
  809. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/namedtype.py +550 -0
  810. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/namedval.py +192 -0
  811. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/opentype.py +104 -0
  812. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/tag.py +335 -0
  813. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/tagmap.py +96 -0
  814. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/univ.py +3327 -0
  815. py2docfx/venv/venv1/Lib/site-packages/pyasn1/type/useful.py +189 -0
  816. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/__init__.py +2 -0
  817. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/pem.py +58 -0
  818. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1155.py +96 -0
  819. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1157.py +126 -0
  820. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1901.py +22 -0
  821. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1902.py +129 -0
  822. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc1905.py +135 -0
  823. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2251.py +563 -0
  824. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2314.py +48 -0
  825. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2315.py +294 -0
  826. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2437.py +69 -0
  827. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2459.py +1339 -0
  828. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2511.py +258 -0
  829. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2560.py +225 -0
  830. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2631.py +37 -0
  831. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2634.py +336 -0
  832. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2876.py +56 -0
  833. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2985.py +588 -0
  834. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc2986.py +75 -0
  835. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3058.py +42 -0
  836. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3114.py +77 -0
  837. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3125.py +469 -0
  838. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3161.py +142 -0
  839. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3274.py +59 -0
  840. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3279.py +260 -0
  841. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3280.py +1543 -0
  842. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3281.py +331 -0
  843. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3370.py +146 -0
  844. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3412.py +53 -0
  845. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3414.py +28 -0
  846. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3447.py +45 -0
  847. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3537.py +34 -0
  848. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3560.py +74 -0
  849. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3565.py +57 -0
  850. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3657.py +66 -0
  851. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3709.py +207 -0
  852. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3739.py +203 -0
  853. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3770.py +75 -0
  854. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3779.py +137 -0
  855. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3820.py +65 -0
  856. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc3852.py +706 -0
  857. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4010.py +58 -0
  858. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4043.py +43 -0
  859. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4055.py +258 -0
  860. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4073.py +59 -0
  861. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4108.py +350 -0
  862. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4210.py +803 -0
  863. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4211.py +396 -0
  864. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4334.py +75 -0
  865. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4357.py +477 -0
  866. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4387.py +23 -0
  867. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4476.py +93 -0
  868. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4490.py +113 -0
  869. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4491.py +44 -0
  870. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4683.py +72 -0
  871. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc4985.py +49 -0
  872. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5035.py +199 -0
  873. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5083.py +52 -0
  874. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5084.py +97 -0
  875. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5126.py +577 -0
  876. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5208.py +56 -0
  877. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5275.py +404 -0
  878. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5280.py +1658 -0
  879. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5480.py +190 -0
  880. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5636.py +113 -0
  881. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5639.py +49 -0
  882. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5649.py +33 -0
  883. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5652.py +761 -0
  884. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5697.py +70 -0
  885. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5751.py +124 -0
  886. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5752.py +49 -0
  887. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5753.py +157 -0
  888. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5755.py +398 -0
  889. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5913.py +44 -0
  890. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5914.py +119 -0
  891. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5915.py +32 -0
  892. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5916.py +35 -0
  893. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5917.py +55 -0
  894. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5924.py +19 -0
  895. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5934.py +786 -0
  896. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5940.py +59 -0
  897. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5958.py +98 -0
  898. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc5990.py +237 -0
  899. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6010.py +88 -0
  900. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6019.py +45 -0
  901. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6031.py +469 -0
  902. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6032.py +68 -0
  903. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6120.py +43 -0
  904. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6170.py +17 -0
  905. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6187.py +22 -0
  906. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6210.py +42 -0
  907. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6211.py +72 -0
  908. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6402.py +628 -0
  909. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6482.py +74 -0
  910. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6486.py +68 -0
  911. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6487.py +22 -0
  912. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6664.py +147 -0
  913. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6955.py +108 -0
  914. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc6960.py +223 -0
  915. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7030.py +66 -0
  916. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7191.py +261 -0
  917. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7229.py +29 -0
  918. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7292.py +357 -0
  919. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7296.py +32 -0
  920. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7508.py +90 -0
  921. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7585.py +50 -0
  922. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7633.py +38 -0
  923. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7773.py +52 -0
  924. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7894.py +92 -0
  925. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7906.py +736 -0
  926. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc7914.py +49 -0
  927. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8017.py +153 -0
  928. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8018.py +260 -0
  929. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8103.py +36 -0
  930. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8209.py +20 -0
  931. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8226.py +149 -0
  932. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8358.py +50 -0
  933. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8360.py +44 -0
  934. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8398.py +52 -0
  935. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8410.py +43 -0
  936. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8418.py +36 -0
  937. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8419.py +68 -0
  938. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8479.py +45 -0
  939. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8494.py +80 -0
  940. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8520.py +63 -0
  941. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8619.py +45 -0
  942. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8649.py +40 -0
  943. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8692.py +79 -0
  944. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8696.py +104 -0
  945. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8702.py +105 -0
  946. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8708.py +41 -0
  947. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/rfc8769.py +21 -0
  948. py2docfx/venv/venv1/Lib/site-packages/pycparser/__init__.py +93 -0
  949. py2docfx/venv/venv1/Lib/site-packages/pycparser/_ast_gen.py +336 -0
  950. py2docfx/venv/venv1/Lib/site-packages/pycparser/_build_tables.py +40 -0
  951. py2docfx/venv/venv1/Lib/site-packages/pycparser/ast_transforms.py +164 -0
  952. py2docfx/venv/venv1/Lib/site-packages/pycparser/c_ast.py +1125 -0
  953. py2docfx/venv/venv1/Lib/site-packages/pycparser/c_generator.py +502 -0
  954. py2docfx/venv/venv1/Lib/site-packages/pycparser/c_lexer.py +555 -0
  955. py2docfx/venv/venv1/Lib/site-packages/pycparser/c_parser.py +1950 -0
  956. py2docfx/venv/venv1/Lib/site-packages/pycparser/lextab.py +10 -0
  957. py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/__init__.py +5 -0
  958. py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/cpp.py +905 -0
  959. py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/ctokens.py +133 -0
  960. py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/lex.py +1099 -0
  961. py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/yacc.py +3494 -0
  962. py2docfx/venv/venv1/Lib/site-packages/pycparser/ply/ygen.py +74 -0
  963. py2docfx/venv/venv1/Lib/site-packages/pycparser/plyparser.py +133 -0
  964. py2docfx/venv/venv1/Lib/site-packages/pycparser/yacctab.py +369 -0
  965. py2docfx/venv/venv1/Lib/site-packages/pythoncom.py +4 -0
  966. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +258 -0
  967. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +185 -0
  968. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +65 -0
  969. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dlgappdemo.py +51 -0
  970. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dojobapp.py +71 -0
  971. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/helloapp.py +53 -0
  972. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +116 -0
  973. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/createwin.py +114 -0
  974. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/demoutils.py +65 -0
  975. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dibdemo.py +73 -0
  976. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dlgtest.py +145 -0
  977. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dyndlg.py +104 -0
  978. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/fontdemo.py +85 -0
  979. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +80 -0
  980. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/hiertest.py +138 -0
  981. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/menutest.py +13 -0
  982. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +57 -0
  983. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +65 -0
  984. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +95 -0
  985. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/msoffice.py +159 -0
  986. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +133 -0
  987. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +244 -0
  988. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +72 -0
  989. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +370 -0
  990. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/progressbar.py +105 -0
  991. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/sliderdemo.py +76 -0
  992. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/splittst.py +79 -0
  993. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/threadedgui.py +189 -0
  994. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +106 -0
  995. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/__init__.py +3 -0
  996. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/__init__.py +133 -0
  997. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +34 -0
  998. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +32 -0
  999. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgpyapp.py +48 -0
  1000. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +1098 -0
  1001. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +54 -0
  1002. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +139 -0
  1003. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +143 -0
  1004. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +156 -0
  1005. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/status.py +242 -0
  1006. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +677 -0
  1007. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +414 -0
  1008. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/bitmap.py +168 -0
  1009. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/cmdline.py +54 -0
  1010. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +189 -0
  1011. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dlgappcore.py +76 -0
  1012. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +235 -0
  1013. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +103 -0
  1014. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/coloreditor.py +646 -0
  1015. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/configui.py +299 -0
  1016. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +380 -0
  1017. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +511 -0
  1018. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/frame.py +74 -0
  1019. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/template.py +59 -0
  1020. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +104 -0
  1021. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +172 -0
  1022. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +995 -0
  1023. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +554 -0
  1024. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +60 -0
  1025. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/mdi_pychecker.py +850 -0
  1026. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +686 -0
  1027. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +758 -0
  1028. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +70 -0
  1029. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +171 -0
  1030. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +281 -0
  1031. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/window.py +14 -0
  1032. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/winout.py +589 -0
  1033. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoExpand.py +95 -0
  1034. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +536 -0
  1035. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +218 -0
  1036. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/FormatParagraph.py +166 -0
  1037. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/IdleHistory.py +87 -0
  1038. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/PyParse.py +585 -0
  1039. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/__init__.py +1 -0
  1040. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +80 -0
  1041. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/afxres.py +501 -0
  1042. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +280 -0
  1043. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/docview.py +151 -0
  1044. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/object.py +66 -0
  1045. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/thread.py +25 -0
  1046. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/window.py +50 -0
  1047. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +597 -0
  1048. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/__init__.py +1 -0
  1049. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +178 -0
  1050. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +365 -0
  1051. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +292 -0
  1052. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/control.py +565 -0
  1053. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +312 -0
  1054. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/find.py +511 -0
  1055. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +704 -0
  1056. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +190 -0
  1057. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +1983 -0
  1058. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +845 -0
  1059. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/TraceCollector.py +79 -0
  1060. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browseProjects.py +323 -0
  1061. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +506 -0
  1062. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +353 -0
  1063. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regedit.py +382 -0
  1064. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regpy.py +80 -0
  1065. py2docfx/venv/venv1/Lib/site-packages/requests/__init__.py +184 -0
  1066. py2docfx/venv/venv1/Lib/site-packages/requests/__version__.py +14 -0
  1067. py2docfx/venv/venv1/Lib/site-packages/requests/_internal_utils.py +50 -0
  1068. py2docfx/venv/venv1/Lib/site-packages/requests/adapters.py +719 -0
  1069. py2docfx/venv/venv1/Lib/site-packages/requests/api.py +157 -0
  1070. py2docfx/venv/venv1/Lib/site-packages/requests/auth.py +314 -0
  1071. py2docfx/venv/venv1/Lib/site-packages/requests/certs.py +17 -0
  1072. py2docfx/venv/venv1/Lib/site-packages/requests/compat.py +94 -0
  1073. py2docfx/venv/venv1/Lib/site-packages/requests/cookies.py +561 -0
  1074. py2docfx/venv/venv1/Lib/site-packages/requests/exceptions.py +151 -0
  1075. py2docfx/venv/venv1/Lib/site-packages/requests/help.py +134 -0
  1076. py2docfx/venv/venv1/Lib/site-packages/requests/hooks.py +33 -0
  1077. py2docfx/venv/venv1/Lib/site-packages/requests/models.py +1037 -0
  1078. py2docfx/venv/venv1/Lib/site-packages/requests/packages.py +23 -0
  1079. py2docfx/venv/venv1/Lib/site-packages/requests/sessions.py +831 -0
  1080. py2docfx/venv/venv1/Lib/site-packages/requests/status_codes.py +128 -0
  1081. py2docfx/venv/venv1/Lib/site-packages/requests/structures.py +99 -0
  1082. py2docfx/venv/venv1/Lib/site-packages/requests/utils.py +1096 -0
  1083. py2docfx/venv/venv1/Lib/site-packages/rsa/__init__.py +60 -0
  1084. py2docfx/venv/venv1/Lib/site-packages/rsa/asn1.py +52 -0
  1085. py2docfx/venv/venv1/Lib/site-packages/rsa/cli.py +321 -0
  1086. py2docfx/venv/venv1/Lib/site-packages/rsa/common.py +184 -0
  1087. py2docfx/venv/venv1/Lib/site-packages/rsa/core.py +53 -0
  1088. py2docfx/venv/venv1/Lib/site-packages/rsa/key.py +858 -0
  1089. py2docfx/venv/venv1/Lib/site-packages/rsa/parallel.py +96 -0
  1090. py2docfx/venv/venv1/Lib/site-packages/rsa/pem.py +134 -0
  1091. py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1.py +485 -0
  1092. py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1_v2.py +100 -0
  1093. py2docfx/venv/venv1/Lib/site-packages/rsa/prime.py +198 -0
  1094. py2docfx/venv/venv1/Lib/site-packages/rsa/randnum.py +95 -0
  1095. py2docfx/venv/venv1/Lib/site-packages/rsa/transform.py +72 -0
  1096. py2docfx/venv/venv1/Lib/site-packages/rsa/util.py +97 -0
  1097. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
  1098. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
  1099. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
  1100. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
  1101. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
  1102. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
  1103. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/inflect/compat/__init__.py +0 -0
  1104. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/vendored/__init__.py +0 -0
  1105. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/__init__.py +0 -0
  1106. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/zipp/compat/__init__.py +0 -0
  1107. py2docfx/venv/venv1/Lib/site-packages/setuptools/build_meta.py +554 -0
  1108. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +653 -0
  1109. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +721 -0
  1110. py2docfx/venv/venv1/Lib/site-packages/setuptools/compat/__init__.py +0 -0
  1111. py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +996 -0
  1112. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/compat/__init__.py +0 -0
  1113. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/__init__.py +0 -0
  1114. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/__init__.py +0 -0
  1115. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +646 -0
  1116. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist.py +280 -0
  1117. py2docfx/venv/venv1/Lib/site-packages/six.py +998 -0
  1118. py2docfx/venv/venv1/Lib/site-packages/typing_extensions.py +3641 -0
  1119. py2docfx/venv/venv1/Lib/site-packages/urllib3/__init__.py +211 -0
  1120. py2docfx/venv/venv1/Lib/site-packages/urllib3/_base_connection.py +172 -0
  1121. py2docfx/venv/venv1/Lib/site-packages/urllib3/_collections.py +483 -0
  1122. py2docfx/venv/venv1/Lib/site-packages/urllib3/_request_methods.py +278 -0
  1123. py2docfx/venv/venv1/Lib/site-packages/urllib3/_version.py +16 -0
  1124. py2docfx/venv/venv1/Lib/site-packages/urllib3/connection.py +1033 -0
  1125. py2docfx/venv/venv1/Lib/site-packages/urllib3/connectionpool.py +1182 -0
  1126. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/__init__.py +0 -0
  1127. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/__init__.py +16 -0
  1128. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/connection.py +254 -0
  1129. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +418 -0
  1130. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/request.py +22 -0
  1131. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/response.py +285 -0
  1132. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/pyopenssl.py +552 -0
  1133. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/socks.py +228 -0
  1134. py2docfx/venv/venv1/Lib/site-packages/urllib3/exceptions.py +321 -0
  1135. py2docfx/venv/venv1/Lib/site-packages/urllib3/fields.py +341 -0
  1136. py2docfx/venv/venv1/Lib/site-packages/urllib3/filepost.py +89 -0
  1137. py2docfx/venv/venv1/Lib/site-packages/urllib3/http2/__init__.py +53 -0
  1138. py2docfx/venv/venv1/Lib/site-packages/urllib3/http2/connection.py +356 -0
  1139. py2docfx/venv/venv1/Lib/site-packages/urllib3/http2/probe.py +87 -0
  1140. py2docfx/venv/venv1/Lib/site-packages/urllib3/poolmanager.py +637 -0
  1141. py2docfx/venv/venv1/Lib/site-packages/urllib3/response.py +1265 -0
  1142. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/__init__.py +42 -0
  1143. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/connection.py +137 -0
  1144. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/proxy.py +43 -0
  1145. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/request.py +256 -0
  1146. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/response.py +101 -0
  1147. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/retry.py +533 -0
  1148. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_.py +513 -0
  1149. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_match_hostname.py +159 -0
  1150. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssltransport.py +276 -0
  1151. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/timeout.py +275 -0
  1152. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/url.py +471 -0
  1153. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/util.py +42 -0
  1154. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/wait.py +124 -0
  1155. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/__init__.py +0 -0
  1156. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/__init__.py +0 -0
  1157. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupRead_BackupWrite.py +119 -0
  1158. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupSeek_streamheaders.py +137 -0
  1159. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CopyFileEx.py +57 -0
  1160. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CreateFileTransacted_MiniVersion.py +122 -0
  1161. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +83 -0
  1162. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_pull.py +28 -0
  1163. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +25 -0
  1164. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/FileSecurityTest.py +137 -0
  1165. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +43 -0
  1166. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/NetValidatePasswordPolicy.py +127 -0
  1167. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/OpenEncryptedFileRaw.py +66 -0
  1168. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegCreateKeyTransacted.py +60 -0
  1169. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegRestoreKey.py +71 -0
  1170. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/SystemParametersInfo.py +210 -0
  1171. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +26 -0
  1172. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +18 -0
  1173. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +42 -0
  1174. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/desktopmanager.py +246 -0
  1175. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/eventLogDemo.py +143 -0
  1176. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +33 -0
  1177. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/mmapfile_demo.py +101 -0
  1178. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/cat.py +17 -0
  1179. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +114 -0
  1180. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/print_desktop.py +113 -0
  1181. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +168 -0
  1182. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +110 -0
  1183. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +51 -0
  1184. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +171 -0
  1185. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +42 -0
  1186. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +37 -0
  1187. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +65 -0
  1188. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsaregevent.py +14 -0
  1189. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsastore.py +12 -0
  1190. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +25 -0
  1191. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsave_sa.py +61 -0
  1192. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsecurity.py +36 -0
  1193. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sa_inherit.py +8 -0
  1194. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/security_enums.py +336 -0
  1195. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +107 -0
  1196. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +74 -0
  1197. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +28 -0
  1198. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +135 -0
  1199. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setnamedsecurityinfo.py +131 -0
  1200. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +132 -0
  1201. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +103 -0
  1202. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +158 -0
  1203. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +72 -0
  1204. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +200 -0
  1205. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/validate_password.py +41 -0
  1206. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/nativePipeTestService.py +63 -0
  1207. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +184 -0
  1208. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +155 -0
  1209. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/serviceEvents.py +98 -0
  1210. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/timer_demo.py +72 -0
  1211. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +143 -0
  1212. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboard_bitmapdemo.py +117 -0
  1213. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +144 -0
  1214. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +135 -0
  1215. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32cred_demo.py +82 -0
  1216. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32fileDemo.py +41 -0
  1217. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_demo.py +177 -0
  1218. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +107 -0
  1219. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_dialog.py +445 -0
  1220. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +409 -0
  1221. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +136 -0
  1222. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +275 -0
  1223. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32rcparser_demo.py +86 -0
  1224. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32servicedemo.py +23 -0
  1225. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +25 -0
  1226. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +123 -0
  1227. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/winnetwk.py +100 -0
  1228. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/winprocess.py +230 -0
  1229. py2docfx/venv/venv1/Lib/site-packages/win32/lib/_win32verstamp_pywin32ctypes.py +164 -0
  1230. py2docfx/venv/venv1/Lib/site-packages/win32/lib/afxres.py +8 -0
  1231. py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +1551 -0
  1232. py2docfx/venv/venv1/Lib/site-packages/win32/lib/mmsystem.py +956 -0
  1233. py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +295 -0
  1234. py2docfx/venv/venv1/Lib/site-packages/win32/lib/ntsecuritycon.py +731 -0
  1235. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +29 -0
  1236. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +291 -0
  1237. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +124 -0
  1238. py2docfx/venv/venv1/Lib/site-packages/win32/lib/rasutil.py +40 -0
  1239. py2docfx/venv/venv1/Lib/site-packages/win32/lib/regcheck.py +161 -0
  1240. py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +395 -0
  1241. py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +413 -0
  1242. py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspicon.py +477 -0
  1243. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +7 -0
  1244. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +5083 -0
  1245. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +1925 -0
  1246. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +226 -0
  1247. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +957 -0
  1248. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32inetcon.py +1086 -0
  1249. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32netcon.py +627 -0
  1250. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +571 -0
  1251. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +212 -0
  1252. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +673 -0
  1253. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +1075 -0
  1254. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +1018 -0
  1255. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32traceutil.py +59 -0
  1256. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +235 -0
  1257. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +3040 -0
  1258. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winioctlcon.py +1079 -0
  1259. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winnt.py +1347 -0
  1260. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winperf.py +236 -0
  1261. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +8 -0
  1262. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/ControlService.py +594 -0
  1263. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/BrandProject.py +97 -0
  1264. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/bulkstamp.py +156 -0
  1265. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/vssutil.py +201 -0
  1266. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/backupEventLog.py +46 -0
  1267. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/killProcName.py +62 -0
  1268. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/rasutil.py +98 -0
  1269. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +610 -0
  1270. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +111 -0
  1271. py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +167 -0
  1272. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +126 -0
  1273. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_exceptions.py +213 -0
  1274. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_odbc.py +264 -0
  1275. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_pywintypes.py +111 -0
  1276. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_security.py +166 -0
  1277. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +229 -0
  1278. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +269 -0
  1279. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +60 -0
  1280. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +92 -0
  1281. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +131 -0
  1282. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32event.py +119 -0
  1283. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +1080 -0
  1284. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +228 -0
  1285. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +336 -0
  1286. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +91 -0
  1287. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +24 -0
  1288. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32pipe.py +148 -0
  1289. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32print.py +24 -0
  1290. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32profile.py +19 -0
  1291. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32rcparser.py +70 -0
  1292. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32timezone.py +16 -0
  1293. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32trace.py +366 -0
  1294. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32wnet.py +174 -0
  1295. py2docfx/venv/venv1/Lib/site-packages/win32/test/testall.py +223 -0
  1296. py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +21 -0
  1297. py2docfx/venv/venv1/Lib/site-packages/win32com/__init__.py +134 -0
  1298. py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +58 -0
  1299. py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +685 -0
  1300. py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +771 -0
  1301. py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +620 -0
  1302. py2docfx/venv/venv1/Lib/site-packages/win32com/client/connect.py +48 -0
  1303. py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +699 -0
  1304. py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +807 -0
  1305. py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +1398 -0
  1306. py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +449 -0
  1307. py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +183 -0
  1308. py2docfx/venv/venv1/Lib/site-packages/win32com/client/tlbrowse.py +277 -0
  1309. py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +103 -0
  1310. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/__init__.py +0 -0
  1311. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/connect.py +96 -0
  1312. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +74 -0
  1313. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsApartmentThreaded.py +98 -0
  1314. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsFreeThreaded.py +92 -0
  1315. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +169 -0
  1316. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +434 -0
  1317. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +217 -0
  1318. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +368 -0
  1319. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +137 -0
  1320. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/trybag.py +78 -0
  1321. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/__init__.py +1 -0
  1322. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +626 -0
  1323. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +335 -0
  1324. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +1019 -0
  1325. py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +70 -0
  1326. py2docfx/venv/venv1/Lib/site-packages/win32com/server/__init__.py +1 -0
  1327. py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +85 -0
  1328. py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +243 -0
  1329. py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +99 -0
  1330. py2docfx/venv/venv1/Lib/site-packages/win32com/server/factory.py +26 -0
  1331. py2docfx/venv/venv1/Lib/site-packages/win32com/server/localserver.py +53 -0
  1332. py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +817 -0
  1333. py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +678 -0
  1334. py2docfx/venv/venv1/Lib/site-packages/win32com/server/util.py +229 -0
  1335. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/PythonTools.py +47 -0
  1336. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/__init__.py +0 -0
  1337. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +136 -0
  1338. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +59 -0
  1339. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/perfmon.py +36 -0
  1340. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +182 -0
  1341. py2docfx/venv/venv1/Lib/site-packages/win32com/storagecon.py +142 -0
  1342. py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +97 -0
  1343. py2docfx/venv/venv1/Lib/site-packages/win32com/test/__init__.py +1 -0
  1344. py2docfx/venv/venv1/Lib/site-packages/win32com/test/daodump.py +88 -0
  1345. py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +243 -0
  1346. py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +99 -0
  1347. py2docfx/venv/venv1/Lib/site-packages/win32com/test/policySemantics.py +115 -0
  1348. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +100 -0
  1349. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +45 -0
  1350. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAccess.py +185 -0
  1351. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testArrays.py +99 -0
  1352. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testClipboard.py +169 -0
  1353. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testCollections.py +159 -0
  1354. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testConversionErrors.py +35 -0
  1355. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDCOM.py +50 -0
  1356. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDates.py +74 -0
  1357. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +100 -0
  1358. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +85 -0
  1359. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +126 -0
  1360. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExplorer.py +139 -0
  1361. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGIT.py +142 -0
  1362. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +149 -0
  1363. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +140 -0
  1364. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +201 -0
  1365. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +138 -0
  1366. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMarshal.py +160 -0
  1367. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testNetscape.py +24 -0
  1368. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +227 -0
  1369. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +81 -0
  1370. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +782 -0
  1371. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testROT.py +29 -0
  1372. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +52 -0
  1373. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testShell.py +272 -0
  1374. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStorage.py +88 -0
  1375. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStreams.py +147 -0
  1376. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testWMI.py +18 -0
  1377. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +321 -0
  1378. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +55 -0
  1379. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +579 -0
  1380. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvbscript_regexp.py +40 -0
  1381. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testxslt.py +34 -0
  1382. py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +264 -0
  1383. py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +226 -0
  1384. py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +35 -0
  1385. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/__init__.py +113 -0
  1386. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/adsicon.py +340 -0
  1387. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/objectPicker.py +68 -0
  1388. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +565 -0
  1389. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +152 -0
  1390. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/test.py +274 -0
  1391. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/__init__.py +6 -0
  1392. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +252 -0
  1393. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +239 -0
  1394. py2docfx/venv/venv1/Lib/site-packages/win32comext/axcontrol/__init__.py +4 -0
  1395. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/__init__.py +4 -0
  1396. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +473 -0
  1397. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +275 -0
  1398. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +60 -0
  1399. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +238 -0
  1400. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +136 -0
  1401. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +59 -0
  1402. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +212 -0
  1403. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/gateways.py +583 -0
  1404. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/stackframe.py +178 -0
  1405. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +105 -0
  1406. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/__init__.py +4 -0
  1407. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/asputil.py +13 -0
  1408. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/__init__.py +1 -0
  1409. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +235 -0
  1410. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +263 -0
  1411. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +1291 -0
  1412. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +79 -0
  1413. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +443 -0
  1414. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript_rexec.py +54 -0
  1415. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +104 -0
  1416. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/__init__.py +0 -0
  1417. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +146 -0
  1418. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +186 -0
  1419. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost.py +240 -0
  1420. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +86 -0
  1421. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/__init__.py +6 -0
  1422. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/show_all_jobs.py +48 -0
  1423. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +119 -0
  1424. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/__init__.py +4 -0
  1425. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/__init__.py +1 -0
  1426. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_record.py +60 -0
  1427. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_test.py +402 -0
  1428. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/__init__.py +1 -0
  1429. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +300 -0
  1430. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/ifiltercon.py +110 -0
  1431. py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/__init__.py +4 -0
  1432. py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/inetcon.py +261 -0
  1433. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/__init__.py +21 -0
  1434. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +98 -0
  1435. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +874 -0
  1436. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +1025 -0
  1437. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +211 -0
  1438. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/__init__.py +1 -0
  1439. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/pscon.py +838 -0
  1440. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +5 -0
  1441. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/__init__.py +4 -0
  1442. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IActiveDesktop.py +83 -0
  1443. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +179 -0
  1444. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IShellLinkDataList.py +67 -0
  1445. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +91 -0
  1446. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IUniformResourceLocator.py +56 -0
  1447. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/browse_for_folder.py +45 -0
  1448. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/create_link.py +73 -0
  1449. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/dump_link.py +58 -0
  1450. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/explorer_browser.py +143 -0
  1451. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +126 -0
  1452. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/context_menu.py +122 -0
  1453. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +84 -0
  1454. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +188 -0
  1455. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +866 -0
  1456. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +82 -0
  1457. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +972 -0
  1458. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/shellexecuteex.py +19 -0
  1459. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/viewstate.py +68 -0
  1460. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/walk_shell_folders.py +24 -0
  1461. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/shellcon.py +1615 -0
  1462. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testSHFileOperation.py +75 -0
  1463. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellFolder.py +21 -0
  1464. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellItem.py +69 -0
  1465. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/__init__.py +6 -0
  1466. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask.py +66 -0
  1467. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_1.py +68 -0
  1468. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +50 -0
  1469. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_localsystem.py +3 -0
  1470. py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +778 -0
  1471. py2docfx/venv/venv1/Scripts/pywin32_testall.py +125 -0
  1472. py2docfx-0.1.9.dev1897554.dist-info/METADATA +16 -0
  1473. py2docfx-0.1.9.dev1897554.dist-info/RECORD +4241 -0
  1474. py2docfx/venv/venv0/Lib/site-packages/setuptools/build_meta.py +0 -530
  1475. py2docfx/venv/venv0/Lib/site-packages/setuptools/command/bdist_wheel.py +0 -635
  1476. py2docfx/venv/venv0/Lib/site-packages/setuptools/command/egg_info.py +0 -717
  1477. py2docfx/venv/venv0/Lib/site-packages/setuptools/dist.py +0 -955
  1478. py2docfx/venv/venv0/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +0 -621
  1479. py2docfx/venv/venv0/Lib/site-packages/setuptools/tests/test_dist.py +0 -280
  1480. py2docfx-0.1.9.dev1886355.dist-info/METADATA +0 -16
  1481. py2docfx-0.1.9.dev1886355.dist-info/RECORD +0 -2791
  1482. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/_distutils_hack/__init__.py +0 -0
  1483. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/_distutils_hack/override.py +0 -0
  1484. /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/operations → venv1/Lib/site-packages/azure/core/tracing/ext}/__init__.py +0 -0
  1485. /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/operations/build/__init__.py → venv1/Lib/site-packages/google/auth/crypt/_helpers.py} +0 -0
  1486. /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/resolution → venv1/Lib/site-packages/google/protobuf/compiler}/__init__.py +0 -0
  1487. /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/resolution/legacy → venv1/Lib/site-packages/google/protobuf/pyext}/__init__.py +0 -0
  1488. /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/resolution/resolvelib → venv1/Lib/site-packages/google/protobuf/testdata}/__init__.py +0 -0
  1489. /py2docfx/venv/{venv0/Lib/site-packages/pip/_internal/utils → venv1/Lib/site-packages/google/protobuf/util}/__init__.py +0 -0
  1490. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/chardet/cli → venv1/Lib/site-packages/opencensus/common/monitored_resource}/__init__.py +0 -0
  1491. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/chardet/metadata → venv1/Lib/site-packages/opencensus/metrics}/__init__.py +0 -0
  1492. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/resolvelib/compat → venv1/Lib/site-packages/opencensus/metrics/export}/__init__.py +0 -0
  1493. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/__init__.py +0 -0
  1494. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/__main__.py +0 -0
  1495. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/__pip-runner__.py +0 -0
  1496. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/__init__.py +0 -0
  1497. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/build_env.py +0 -0
  1498. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cache.py +0 -0
  1499. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/__init__.py +0 -0
  1500. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/autocompletion.py +0 -0
  1501. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/base_command.py +0 -0
  1502. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/cmdoptions.py +0 -0
  1503. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/command_context.py +0 -0
  1504. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/main.py +0 -0
  1505. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/main_parser.py +0 -0
  1506. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/parser.py +0 -0
  1507. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/progress_bars.py +0 -0
  1508. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/req_command.py +0 -0
  1509. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/spinners.py +0 -0
  1510. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/cli/status_codes.py +0 -0
  1511. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/__init__.py +0 -0
  1512. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/cache.py +0 -0
  1513. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/check.py +0 -0
  1514. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/completion.py +0 -0
  1515. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/configuration.py +0 -0
  1516. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/debug.py +0 -0
  1517. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/download.py +0 -0
  1518. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/freeze.py +0 -0
  1519. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/hash.py +0 -0
  1520. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/help.py +0 -0
  1521. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/index.py +0 -0
  1522. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/inspect.py +0 -0
  1523. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/install.py +0 -0
  1524. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/list.py +0 -0
  1525. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/search.py +0 -0
  1526. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/show.py +0 -0
  1527. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/uninstall.py +0 -0
  1528. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/commands/wheel.py +0 -0
  1529. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/configuration.py +0 -0
  1530. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/__init__.py +0 -0
  1531. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/base.py +0 -0
  1532. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/installed.py +0 -0
  1533. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/sdist.py +0 -0
  1534. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/distributions/wheel.py +0 -0
  1535. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/exceptions.py +0 -0
  1536. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/index/__init__.py +0 -0
  1537. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/index/collector.py +0 -0
  1538. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/index/package_finder.py +0 -0
  1539. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/index/sources.py +0 -0
  1540. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/locations/__init__.py +0 -0
  1541. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/locations/_distutils.py +0 -0
  1542. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/locations/_sysconfig.py +0 -0
  1543. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/locations/base.py +0 -0
  1544. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/main.py +0 -0
  1545. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/__init__.py +0 -0
  1546. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/_json.py +0 -0
  1547. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/base.py +0 -0
  1548. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -0
  1549. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -0
  1550. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -0
  1551. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -0
  1552. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/metadata/pkg_resources.py +0 -0
  1553. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/__init__.py +0 -0
  1554. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/candidate.py +0 -0
  1555. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/direct_url.py +0 -0
  1556. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/format_control.py +0 -0
  1557. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/index.py +0 -0
  1558. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/installation_report.py +0 -0
  1559. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/link.py +0 -0
  1560. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/scheme.py +0 -0
  1561. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/search_scope.py +0 -0
  1562. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/selection_prefs.py +0 -0
  1563. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/target_python.py +0 -0
  1564. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/models/wheel.py +0 -0
  1565. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/__init__.py +0 -0
  1566. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/auth.py +0 -0
  1567. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/cache.py +0 -0
  1568. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/download.py +0 -0
  1569. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/lazy_wheel.py +0 -0
  1570. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/session.py +0 -0
  1571. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/utils.py +0 -0
  1572. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/network/xmlrpc.py +0 -0
  1573. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/urllib3/contrib → venv1/Lib/site-packages/pip/_internal/operations}/__init__.py +0 -0
  1574. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport → venv1/Lib/site-packages/pip/_internal/operations/build}/__init__.py +0 -0
  1575. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/build_tracker.py +0 -0
  1576. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/metadata.py +0 -0
  1577. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -0
  1578. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -0
  1579. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/wheel.py +0 -0
  1580. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -0
  1581. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -0
  1582. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/check.py +0 -0
  1583. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/freeze.py +0 -0
  1584. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/install/__init__.py +0 -0
  1585. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -0
  1586. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/install/wheel.py +0 -0
  1587. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/operations/prepare.py +0 -0
  1588. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/pyproject.py +0 -0
  1589. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/__init__.py +0 -0
  1590. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/constructors.py +0 -0
  1591. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/req_file.py +0 -0
  1592. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/req_install.py +0 -0
  1593. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/req_set.py +0 -0
  1594. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/req/req_uninstall.py +0 -0
  1595. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/urllib3/packages → venv1/Lib/site-packages/pip/_internal/resolution}/__init__.py +0 -0
  1596. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/base.py +0 -0
  1597. /py2docfx/venv/{venv0/Lib/site-packages/pip/_vendor/urllib3/packages/backports → venv1/Lib/site-packages/pip/_internal/resolution/legacy}/__init__.py +0 -0
  1598. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -0
  1599. /py2docfx/venv/{venv0/Lib/site-packages/pkg_resources/tests → venv1/Lib/site-packages/pip/_internal/resolution/resolvelib}/__init__.py +0 -0
  1600. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -0
  1601. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -0
  1602. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -0
  1603. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -0
  1604. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -0
  1605. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -0
  1606. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -0
  1607. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -0
  1608. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/self_outdated_check.py +0 -0
  1609. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_distutils/tests/compat → venv1/Lib/site-packages/pip/_internal/utils}/__init__.py +0 -0
  1610. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/_jaraco_text.py +0 -0
  1611. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/_log.py +0 -0
  1612. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/appdirs.py +0 -0
  1613. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/compat.py +0 -0
  1614. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +0 -0
  1615. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/datetime.py +0 -0
  1616. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/deprecation.py +0 -0
  1617. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -0
  1618. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/egg_link.py +0 -0
  1619. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/encoding.py +0 -0
  1620. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/entrypoints.py +0 -0
  1621. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/filesystem.py +0 -0
  1622. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/filetypes.py +0 -0
  1623. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/glibc.py +0 -0
  1624. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/hashes.py +0 -0
  1625. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/logging.py +0 -0
  1626. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/misc.py +0 -0
  1627. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/models.py +0 -0
  1628. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/packaging.py +0 -0
  1629. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/setuptools_build.py +0 -0
  1630. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/subprocess.py +0 -0
  1631. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/temp_dir.py +0 -0
  1632. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/unpacking.py +0 -0
  1633. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/urls.py +0 -0
  1634. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/virtualenv.py +0 -0
  1635. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/utils/wheel.py +0 -0
  1636. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/__init__.py +0 -0
  1637. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/bazaar.py +0 -0
  1638. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/git.py +0 -0
  1639. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/mercurial.py +0 -0
  1640. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/subversion.py +0 -0
  1641. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +0 -0
  1642. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_internal/wheel_builder.py +0 -0
  1643. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/__init__.py +0 -0
  1644. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -0
  1645. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -0
  1646. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -0
  1647. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +0 -0
  1648. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -0
  1649. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -0
  1650. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -0
  1651. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +0 -0
  1652. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -0
  1653. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -0
  1654. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -0
  1655. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -0
  1656. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/certifi/__init__.py +0 -0
  1657. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/certifi/__main__.py +0 -0
  1658. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/certifi/core.py +0 -0
  1659. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/__init__.py +0 -0
  1660. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/big5freq.py +0 -0
  1661. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/big5prober.py +0 -0
  1662. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/chardistribution.py +0 -0
  1663. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/charsetgroupprober.py +0 -0
  1664. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/charsetprober.py +0 -0
  1665. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/backports/tarfile/compat → venv1/Lib/site-packages/pip/_vendor/chardet/cli}/__init__.py +0 -0
  1666. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/cli/chardetect.py +0 -0
  1667. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/codingstatemachine.py +0 -0
  1668. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/codingstatemachinedict.py +0 -0
  1669. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/cp949prober.py +0 -0
  1670. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/enums.py +0 -0
  1671. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/escprober.py +0 -0
  1672. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/escsm.py +0 -0
  1673. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/eucjpprober.py +0 -0
  1674. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/euckrfreq.py +0 -0
  1675. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/euckrprober.py +0 -0
  1676. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/euctwfreq.py +0 -0
  1677. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/euctwprober.py +0 -0
  1678. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/gb2312freq.py +0 -0
  1679. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/gb2312prober.py +0 -0
  1680. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/hebrewprober.py +0 -0
  1681. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/jisfreq.py +0 -0
  1682. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/johabfreq.py +0 -0
  1683. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/johabprober.py +0 -0
  1684. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/jpcntx.py +0 -0
  1685. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +0 -0
  1686. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langgreekmodel.py +0 -0
  1687. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langhebrewmodel.py +0 -0
  1688. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langhungarianmodel.py +0 -0
  1689. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langrussianmodel.py +0 -0
  1690. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langthaimodel.py +0 -0
  1691. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/langturkishmodel.py +0 -0
  1692. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/latin1prober.py +0 -0
  1693. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/macromanprober.py +0 -0
  1694. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/mbcharsetprober.py +0 -0
  1695. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +0 -0
  1696. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/mbcssm.py +0 -0
  1697. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat → venv1/Lib/site-packages/pip/_vendor/chardet/metadata}/__init__.py +0 -0
  1698. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/metadata/languages.py +0 -0
  1699. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/resultdict.py +0 -0
  1700. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/sbcharsetprober.py +0 -0
  1701. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +0 -0
  1702. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/sjisprober.py +0 -0
  1703. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/universaldetector.py +0 -0
  1704. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/utf1632prober.py +0 -0
  1705. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/utf8prober.py +0 -0
  1706. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/chardet/version.py +0 -0
  1707. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/__init__.py +0 -0
  1708. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/ansi.py +0 -0
  1709. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/ansitowin32.py +0 -0
  1710. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/initialise.py +0 -0
  1711. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/__init__.py +0 -0
  1712. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/ansi_test.py +0 -0
  1713. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/ansitowin32_test.py +0 -0
  1714. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/initialise_test.py +0 -0
  1715. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/isatty_test.py +0 -0
  1716. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/utils.py +0 -0
  1717. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/tests/winterm_test.py +0 -0
  1718. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/win32.py +0 -0
  1719. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/colorama/winterm.py +0 -0
  1720. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/__init__.py +0 -0
  1721. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/compat.py +0 -0
  1722. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/database.py +0 -0
  1723. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/index.py +0 -0
  1724. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/locators.py +0 -0
  1725. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/manifest.py +0 -0
  1726. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/markers.py +0 -0
  1727. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/metadata.py +0 -0
  1728. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/resources.py +0 -0
  1729. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/scripts.py +0 -0
  1730. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/util.py +0 -0
  1731. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/version.py +0 -0
  1732. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distlib/wheel.py +0 -0
  1733. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distro/__init__.py +0 -0
  1734. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distro/__main__.py +0 -0
  1735. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/distro/distro.py +0 -0
  1736. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/__init__.py +0 -0
  1737. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/codec.py +0 -0
  1738. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/compat.py +0 -0
  1739. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/core.py +0 -0
  1740. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/idnadata.py +0 -0
  1741. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/intranges.py +0 -0
  1742. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/package_data.py +0 -0
  1743. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/idna/uts46data.py +0 -0
  1744. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/msgpack/__init__.py +0 -0
  1745. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +0 -0
  1746. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/msgpack/ext.py +0 -0
  1747. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/msgpack/fallback.py +0 -0
  1748. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/__about__.py +0 -0
  1749. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/__init__.py +0 -0
  1750. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/_manylinux.py +0 -0
  1751. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/_musllinux.py +0 -0
  1752. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/_structures.py +0 -0
  1753. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/markers.py +0 -0
  1754. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/requirements.py +0 -0
  1755. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/specifiers.py +0 -0
  1756. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/tags.py +0 -0
  1757. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/utils.py +0 -0
  1758. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/packaging/version.py +0 -0
  1759. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -0
  1760. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +0 -0
  1761. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +0 -0
  1762. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/android.py +0 -0
  1763. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/api.py +0 -0
  1764. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/macos.py +0 -0
  1765. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/unix.py +0 -0
  1766. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/version.py +0 -0
  1767. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/platformdirs/windows.py +0 -0
  1768. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/__init__.py +0 -0
  1769. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/__main__.py +0 -0
  1770. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/cmdline.py +0 -0
  1771. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/console.py +0 -0
  1772. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/filter.py +0 -0
  1773. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -0
  1774. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatter.py +0 -0
  1775. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -0
  1776. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -0
  1777. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/bbcode.py +0 -0
  1778. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/groff.py +0 -0
  1779. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/html.py +0 -0
  1780. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/img.py +0 -0
  1781. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/irc.py +0 -0
  1782. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/latex.py +0 -0
  1783. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/other.py +0 -0
  1784. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +0 -0
  1785. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/rtf.py +0 -0
  1786. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/svg.py +0 -0
  1787. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/terminal.py +0 -0
  1788. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/formatters/terminal256.py +0 -0
  1789. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/lexer.py +0 -0
  1790. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -0
  1791. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -0
  1792. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +0 -0
  1793. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/modeline.py +0 -0
  1794. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/plugin.py +0 -0
  1795. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/regexopt.py +0 -0
  1796. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/scanner.py +0 -0
  1797. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +0 -0
  1798. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/style.py +0 -0
  1799. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -0
  1800. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/token.py +0 -0
  1801. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/unistring.py +0 -0
  1802. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pygments/util.py +0 -0
  1803. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/__init__.py +0 -0
  1804. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/actions.py +0 -0
  1805. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/common.py +0 -0
  1806. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/core.py +0 -0
  1807. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/diagram/__init__.py +0 -0
  1808. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/exceptions.py +0 -0
  1809. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/helpers.py +0 -0
  1810. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/results.py +0 -0
  1811. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/testing.py +0 -0
  1812. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/unicode.py +0 -0
  1813. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyparsing/util.py +0 -0
  1814. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/__init__.py +0 -0
  1815. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/_compat.py +0 -0
  1816. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/_impl.py +0 -0
  1817. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -0
  1818. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -0
  1819. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/__init__.py +0 -0
  1820. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/__version__.py +0 -0
  1821. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +0 -0
  1822. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/adapters.py +0 -0
  1823. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/api.py +0 -0
  1824. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/auth.py +0 -0
  1825. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/certs.py +0 -0
  1826. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/compat.py +0 -0
  1827. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/cookies.py +0 -0
  1828. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/exceptions.py +0 -0
  1829. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/help.py +0 -0
  1830. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/hooks.py +0 -0
  1831. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/models.py +0 -0
  1832. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/packages.py +0 -0
  1833. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/sessions.py +0 -0
  1834. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/status_codes.py +0 -0
  1835. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/structures.py +0 -0
  1836. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/requests/utils.py +0 -0
  1837. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +0 -0
  1838. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources → venv1/Lib/site-packages/pip/_vendor/resolvelib}/compat/__init__.py +0 -0
  1839. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -0
  1840. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/providers.py +0 -0
  1841. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +0 -0
  1842. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -0
  1843. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/resolvelib/structs.py +0 -0
  1844. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/__init__.py +0 -0
  1845. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/__main__.py +0 -0
  1846. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_cell_widths.py +0 -0
  1847. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -0
  1848. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -0
  1849. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_export_format.py +0 -0
  1850. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_extension.py +0 -0
  1851. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_fileno.py +0 -0
  1852. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_inspect.py +0 -0
  1853. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_log_render.py +0 -0
  1854. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_loop.py +0 -0
  1855. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_null_file.py +0 -0
  1856. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_palettes.py +0 -0
  1857. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_pick.py +0 -0
  1858. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_ratio.py +0 -0
  1859. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_spinners.py +0 -0
  1860. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_stack.py +0 -0
  1861. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_timer.py +0 -0
  1862. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_win32_console.py +0 -0
  1863. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_windows.py +0 -0
  1864. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -0
  1865. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/_wrap.py +0 -0
  1866. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/abc.py +0 -0
  1867. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/align.py +0 -0
  1868. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/ansi.py +0 -0
  1869. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/bar.py +0 -0
  1870. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/box.py +0 -0
  1871. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/cells.py +0 -0
  1872. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/color.py +0 -0
  1873. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/color_triplet.py +0 -0
  1874. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/columns.py +0 -0
  1875. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/console.py +0 -0
  1876. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/constrain.py +0 -0
  1877. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/containers.py +0 -0
  1878. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/control.py +0 -0
  1879. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/default_styles.py +0 -0
  1880. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/diagnose.py +0 -0
  1881. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/emoji.py +0 -0
  1882. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/errors.py +0 -0
  1883. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/file_proxy.py +0 -0
  1884. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/filesize.py +0 -0
  1885. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/highlighter.py +0 -0
  1886. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/json.py +0 -0
  1887. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/jupyter.py +0 -0
  1888. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/layout.py +0 -0
  1889. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/live.py +0 -0
  1890. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/live_render.py +0 -0
  1891. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/logging.py +0 -0
  1892. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/markup.py +0 -0
  1893. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/measure.py +0 -0
  1894. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/padding.py +0 -0
  1895. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/pager.py +0 -0
  1896. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/palette.py +0 -0
  1897. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/panel.py +0 -0
  1898. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/pretty.py +0 -0
  1899. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/progress.py +0 -0
  1900. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/progress_bar.py +0 -0
  1901. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/prompt.py +0 -0
  1902. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/protocol.py +0 -0
  1903. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/region.py +0 -0
  1904. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/repr.py +0 -0
  1905. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/rule.py +0 -0
  1906. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/scope.py +0 -0
  1907. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/screen.py +0 -0
  1908. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/segment.py +0 -0
  1909. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/spinner.py +0 -0
  1910. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/status.py +0 -0
  1911. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/style.py +0 -0
  1912. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/styled.py +0 -0
  1913. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/syntax.py +0 -0
  1914. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/table.py +0 -0
  1915. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/terminal_theme.py +0 -0
  1916. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/text.py +0 -0
  1917. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/theme.py +0 -0
  1918. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/themes.py +0 -0
  1919. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/traceback.py +0 -0
  1920. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/rich/tree.py +0 -0
  1921. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/six.py +0 -0
  1922. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/__init__.py +0 -0
  1923. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/_asyncio.py +0 -0
  1924. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/_utils.py +0 -0
  1925. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/after.py +0 -0
  1926. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/before.py +0 -0
  1927. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/before_sleep.py +0 -0
  1928. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/nap.py +0 -0
  1929. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/retry.py +0 -0
  1930. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/stop.py +0 -0
  1931. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/tornadoweb.py +0 -0
  1932. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tenacity/wait.py +0 -0
  1933. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tomli/__init__.py +0 -0
  1934. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tomli/_parser.py +0 -0
  1935. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tomli/_re.py +0 -0
  1936. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/tomli/_types.py +0 -0
  1937. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/__init__.py +0 -0
  1938. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_api.py +0 -0
  1939. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_macos.py +0 -0
  1940. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_openssl.py +0 -0
  1941. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_ssl_constants.py +0 -0
  1942. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/truststore/_windows.py +0 -0
  1943. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/typing_extensions.py +0 -0
  1944. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/__init__.py +0 -0
  1945. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/_collections.py +0 -0
  1946. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/_version.py +0 -0
  1947. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/connection.py +0 -0
  1948. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -0
  1949. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/future → venv1/Lib/site-packages/pip/_vendor/urllib3/contrib}/__init__.py +0 -0
  1950. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -0
  1951. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests → venv1/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport}/__init__.py +0 -0
  1952. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -0
  1953. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -0
  1954. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -0
  1955. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -0
  1956. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -0
  1957. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -0
  1958. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -0
  1959. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +0 -0
  1960. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/fields.py +0 -0
  1961. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/filepost.py +0 -0
  1962. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat → venv1/Lib/site-packages/pip/_vendor/urllib3/packages}/__init__.py +0 -0
  1963. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01 → venv1/Lib/site-packages/pip/_vendor/urllib3/packages/backports}/__init__.py +0 -0
  1964. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -0
  1965. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -0
  1966. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +0 -0
  1967. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -0
  1968. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/request.py +0 -0
  1969. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/response.py +0 -0
  1970. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -0
  1971. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +0 -0
  1972. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -0
  1973. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +0 -0
  1974. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/request.py +0 -0
  1975. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/response.py +0 -0
  1976. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +0 -0
  1977. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -0
  1978. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -0
  1979. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -0
  1980. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -0
  1981. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/url.py +0 -0
  1982. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +0 -0
  1983. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/__init__.py +0 -0
  1984. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/labels.py +0 -0
  1985. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/mklabels.py +0 -0
  1986. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/tests.py +0 -0
  1987. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pip/_vendor/webencodings/x_user_defined.py +0 -0
  1988. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/__init__.py +0 -0
  1989. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory → venv1/Lib/site-packages/pkg_resources/tests}/__init__.py +0 -0
  1990. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +0 -0
  1991. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_find_distributions.py +0 -0
  1992. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_integration_zope_interface.py +0 -0
  1993. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_markers.py +0 -0
  1994. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +0 -0
  1995. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_resources.py +0 -0
  1996. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/pkg_resources/tests/test_working_set.py +0 -0
  1997. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02 → venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx}/__init__.py +0 -0
  1998. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one → venv1/Lib/site-packages/pythonwin/pywin/dialogs}/__init__.py +0 -0
  1999. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two → venv1/Lib/site-packages/pythonwin/pywin/docking}/__init__.py +0 -0
  2000. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/inflect/compat → venv1/Lib/site-packages/pythonwin/pywin/framework}/__init__.py +0 -0
  2001. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/wheel/vendored → venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color}/__init__.py +0 -0
  2002. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging → venv1/Lib/site-packages/pythonwin/pywin/mfc}/__init__.py +0 -0
  2003. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/_vendor/zipp/compat → venv1/Lib/site-packages/pythonwin/pywin/tools}/__init__.py +0 -0
  2004. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/__init__.py +0 -0
  2005. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_core_metadata.py +0 -0
  2006. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/__init__.py +0 -0
  2007. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/_log.py +0 -0
  2008. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/_macos_compat.py +0 -0
  2009. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/_modified.py +0 -0
  2010. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +0 -0
  2011. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/archive_util.py +0 -0
  2012. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/ccompiler.py +0 -0
  2013. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/cmd.py +0 -0
  2014. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/__init__.py +0 -0
  2015. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/_framework_compat.py +0 -0
  2016. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/bdist.py +0 -0
  2017. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +0 -0
  2018. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +0 -0
  2019. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build.py +0 -0
  2020. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build_clib.py +0 -0
  2021. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build_ext.py +0 -0
  2022. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build_py.py +0 -0
  2023. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +0 -0
  2024. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/check.py +0 -0
  2025. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/clean.py +0 -0
  2026. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/config.py +0 -0
  2027. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install.py +0 -0
  2028. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_data.py +0 -0
  2029. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_egg_info.py +0 -0
  2030. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_headers.py +0 -0
  2031. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_lib.py +0 -0
  2032. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +0 -0
  2033. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/command/sdist.py +0 -0
  2034. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/compat/__init__.py +0 -0
  2035. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/compat/py38.py +0 -0
  2036. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/compat/py39.py +0 -0
  2037. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/core.py +0 -0
  2038. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +0 -0
  2039. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/debug.py +0 -0
  2040. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/dep_util.py +0 -0
  2041. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/dir_util.py +0 -0
  2042. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/dist.py +0 -0
  2043. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/errors.py +0 -0
  2044. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/extension.py +0 -0
  2045. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/fancy_getopt.py +0 -0
  2046. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/file_util.py +0 -0
  2047. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/filelist.py +0 -0
  2048. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/log.py +0 -0
  2049. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/spawn.py +0 -0
  2050. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -0
  2051. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/__init__.py +0 -0
  2052. /py2docfx/venv/{venv0/Lib/site-packages/setuptools → venv1/Lib/site-packages/setuptools/_distutils/tests}/compat/__init__.py +0 -0
  2053. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/compat/py38.py +0 -0
  2054. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/support.py +0 -0
  2055. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_archive_util.py +0 -0
  2056. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_bdist.py +0 -0
  2057. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_bdist_dumb.py +0 -0
  2058. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_bdist_rpm.py +0 -0
  2059. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build.py +0 -0
  2060. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build_clib.py +0 -0
  2061. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +0 -0
  2062. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build_py.py +0 -0
  2063. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_build_scripts.py +0 -0
  2064. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_ccompiler.py +0 -0
  2065. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_check.py +0 -0
  2066. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_clean.py +0 -0
  2067. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_cmd.py +0 -0
  2068. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_config_cmd.py +0 -0
  2069. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_core.py +0 -0
  2070. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py +0 -0
  2071. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +0 -0
  2072. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_dist.py +0 -0
  2073. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_extension.py +0 -0
  2074. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_file_util.py +0 -0
  2075. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_filelist.py +0 -0
  2076. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install.py +0 -0
  2077. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install_data.py +0 -0
  2078. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install_headers.py +0 -0
  2079. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install_lib.py +0 -0
  2080. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_install_scripts.py +0 -0
  2081. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_log.py +0 -0
  2082. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_mingwccompiler.py +0 -0
  2083. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_modified.py +0 -0
  2084. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_msvccompiler.py +0 -0
  2085. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +0 -0
  2086. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_spawn.py +0 -0
  2087. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_sysconfig.py +0 -0
  2088. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_text_file.py +0 -0
  2089. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_unixccompiler.py +0 -0
  2090. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_util.py +0 -0
  2091. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_version.py +0 -0
  2092. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/test_versionpredicate.py +0 -0
  2093. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/tests/unix_compat.py +0 -0
  2094. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/text_file.py +0 -0
  2095. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/unixccompiler.py +0 -0
  2096. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/util.py +0 -0
  2097. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/version.py +0 -0
  2098. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/versionpredicate.py +0 -0
  2099. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_distutils/zosccompiler.py +0 -0
  2100. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_entry_points.py +0 -0
  2101. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_imp.py +0 -0
  2102. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_importlib.py +0 -0
  2103. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_itertools.py +0 -0
  2104. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_normalization.py +0 -0
  2105. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_path.py +0 -0
  2106. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_reqs.py +0 -0
  2107. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/__init__.py +0 -0
  2108. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/autoasync.py +0 -0
  2109. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/autocommand.py +0 -0
  2110. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/automain.py +0 -0
  2111. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/autoparse.py +0 -0
  2112. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/autocommand/errors.py +0 -0
  2113. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/backports/__init__.py +0 -0
  2114. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/backports/tarfile/__init__.py +0 -0
  2115. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/backports/tarfile/__main__.py +0 -0
  2116. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/tests → venv1/Lib/site-packages/setuptools/_vendor/backports/tarfile}/compat/__init__.py +0 -0
  2117. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/backports/tarfile/compat/py38.py +0 -0
  2118. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/__init__.py +0 -0
  2119. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_adapters.py +0 -0
  2120. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_collections.py +0 -0
  2121. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_compat.py +0 -0
  2122. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_functools.py +0 -0
  2123. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_itertools.py +0 -0
  2124. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_meta.py +0 -0
  2125. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/_text.py +0 -0
  2126. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/tests/config → venv1/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat}/__init__.py +0 -0
  2127. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/py311.py +0 -0
  2128. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/py39.py +0 -0
  2129. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_metadata/diagnose.py +0 -0
  2130. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -0
  2131. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -0
  2132. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -0
  2133. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -0
  2134. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -0
  2135. /py2docfx/venv/{venv0/Lib/site-packages/setuptools/tests/integration → venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat}/__init__.py +0 -0
  2136. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -0
  2137. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -0
  2138. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -0
  2139. /py2docfx/venv/{venv0/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future}/__init__.py +0 -0
  2140. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -0
  2141. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -0
  2142. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -0
  2143. /py2docfx/venv/{venv0/Lib/site-packages/wheel/vendored/packaging → venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests}/__init__.py +0 -0
  2144. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -0
  2145. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -0
  2146. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -0
  2147. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -0
  2148. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -0
  2149. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -0
  2150. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -0
  2151. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -0
  2152. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -0
  2153. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -0
  2154. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -0
  2155. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -0
  2156. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -0
  2157. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -0
  2158. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -0
  2159. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/inflect/__init__.py +0 -0
  2160. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/inflect/compat/py38.py +0 -0
  2161. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/collections/__init__.py +0 -0
  2162. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/context.py +0 -0
  2163. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.py +0 -0
  2164. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/__init__.py +0 -0
  2165. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/layouts.py +0 -0
  2166. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/show-newlines.py +0 -0
  2167. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/strip-prefix.py +0 -0
  2168. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/to-dvorak.py +0 -0
  2169. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/jaraco/text/to-qwerty.py +0 -0
  2170. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.py +0 -0
  2171. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/more_itertools/more.py +0 -0
  2172. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.py +0 -0
  2173. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +0 -0
  2174. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +0 -0
  2175. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +0 -0
  2176. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_musllinux.py +0 -0
  2177. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_parser.py +0 -0
  2178. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_structures.py +0 -0
  2179. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/_tokenizer.py +0 -0
  2180. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/markers.py +0 -0
  2181. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +0 -0
  2182. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/requirements.py +0 -0
  2183. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +0 -0
  2184. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/tags.py +0 -0
  2185. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/utils.py +0 -0
  2186. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/packaging/version.py +0 -0
  2187. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/__init__.py +0 -0
  2188. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/__main__.py +0 -0
  2189. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/android.py +0 -0
  2190. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/api.py +0 -0
  2191. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/macos.py +0 -0
  2192. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/unix.py +0 -0
  2193. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/version.py +0 -0
  2194. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/platformdirs/windows.py +0 -0
  2195. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/tomli/__init__.py +0 -0
  2196. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/tomli/_parser.py +0 -0
  2197. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/tomli/_re.py +0 -0
  2198. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/tomli/_types.py +0 -0
  2199. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/__init__.py +0 -0
  2200. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_checkers.py +0 -0
  2201. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_config.py +0 -0
  2202. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_decorators.py +0 -0
  2203. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_exceptions.py +0 -0
  2204. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_functions.py +0 -0
  2205. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_importhook.py +0 -0
  2206. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_memo.py +0 -0
  2207. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_pytest_plugin.py +0 -0
  2208. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_suppression.py +0 -0
  2209. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_transformer.py +0 -0
  2210. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_union_transformer.py +0 -0
  2211. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typeguard/_utils.py +0 -0
  2212. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/typing_extensions.py +0 -0
  2213. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +0 -0
  2214. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/__main__.py +0 -0
  2215. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +0 -0
  2216. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +0 -0
  2217. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +0 -0
  2218. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +0 -0
  2219. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/pack.py +0 -0
  2220. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/tags.py +0 -0
  2221. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/cli/unpack.py +0 -0
  2222. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +0 -0
  2223. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +0 -0
  2224. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -0
  2225. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_elffile.py +0 -0
  2226. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_manylinux.py +0 -0
  2227. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_musllinux.py +0 -0
  2228. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_parser.py +0 -0
  2229. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_structures.py +0 -0
  2230. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_tokenizer.py +0 -0
  2231. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/markers.py +0 -0
  2232. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/requirements.py +0 -0
  2233. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/specifiers.py +0 -0
  2234. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/tags.py +0 -0
  2235. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/utils.py +0 -0
  2236. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/version.py +0 -0
  2237. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +0 -0
  2238. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/zipp/__init__.py +0 -0
  2239. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/zipp/compat/py310.py +0 -0
  2240. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/_vendor/zipp/glob.py +0 -0
  2241. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/archive_util.py +0 -0
  2242. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/__init__.py +0 -0
  2243. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/_requirestxt.py +0 -0
  2244. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/alias.py +0 -0
  2245. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/bdist_egg.py +0 -0
  2246. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/bdist_rpm.py +0 -0
  2247. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/build.py +0 -0
  2248. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/build_clib.py +0 -0
  2249. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/build_ext.py +0 -0
  2250. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/build_py.py +0 -0
  2251. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/develop.py +0 -0
  2252. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/dist_info.py +0 -0
  2253. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/easy_install.py +0 -0
  2254. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/editable_wheel.py +0 -0
  2255. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/install.py +0 -0
  2256. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/install_egg_info.py +0 -0
  2257. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/install_lib.py +0 -0
  2258. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/install_scripts.py +0 -0
  2259. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/rotate.py +0 -0
  2260. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/saveopts.py +0 -0
  2261. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/sdist.py +0 -0
  2262. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/setopt.py +0 -0
  2263. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/command/test.py +0 -0
  2264. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/compat/py310.py +0 -0
  2265. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/compat/py311.py +0 -0
  2266. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/compat/py312.py +0 -0
  2267. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/compat/py39.py +0 -0
  2268. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/__init__.py +0 -0
  2269. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +0 -0
  2270. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/__init__.py +0 -0
  2271. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/error_reporting.py +0 -0
  2272. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +0 -0
  2273. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py +0 -0
  2274. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +0 -0
  2275. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +0 -0
  2276. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/expand.py +0 -0
  2277. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/pyprojecttoml.py +0 -0
  2278. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/config/setupcfg.py +0 -0
  2279. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/depends.py +0 -0
  2280. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/discovery.py +0 -0
  2281. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/errors.py +0 -0
  2282. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/extension.py +0 -0
  2283. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/glob.py +0 -0
  2284. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/installer.py +0 -0
  2285. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/launch.py +0 -0
  2286. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/logging.py +0 -0
  2287. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/modified.py +0 -0
  2288. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/monkey.py +0 -0
  2289. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/msvc.py +0 -0
  2290. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/namespaces.py +0 -0
  2291. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/package_index.py +0 -0
  2292. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/sandbox.py +0 -0
  2293. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/__init__.py +0 -0
  2294. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/compat/py39.py +0 -0
  2295. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +0 -0
  2296. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/downloads/preload.py +0 -0
  2297. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +0 -0
  2298. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_expand.py +0 -0
  2299. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +0 -0
  2300. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +0 -0
  2301. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +0 -0
  2302. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/contexts.py +0 -0
  2303. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/environment.py +0 -0
  2304. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/fixtures.py +0 -0
  2305. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/integration/helpers.py +0 -0
  2306. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +0 -0
  2307. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/mod_with_constant.py +0 -0
  2308. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/namespaces.py +0 -0
  2309. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/script-with-bom.py +0 -0
  2310. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/server.py +0 -0
  2311. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_archive_util.py +0 -0
  2312. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_bdist_deprecations.py +0 -0
  2313. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_bdist_egg.py +0 -0
  2314. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build.py +0 -0
  2315. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build_clib.py +0 -0
  2316. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build_ext.py +0 -0
  2317. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build_meta.py +0 -0
  2318. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_build_py.py +0 -0
  2319. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_config_discovery.py +0 -0
  2320. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_core_metadata.py +0 -0
  2321. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_depends.py +0 -0
  2322. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_develop.py +0 -0
  2323. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_dist_info.py +0 -0
  2324. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +0 -0
  2325. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_easy_install.py +0 -0
  2326. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_editable_install.py +0 -0
  2327. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_egg_info.py +0 -0
  2328. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_extern.py +0 -0
  2329. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_find_packages.py +0 -0
  2330. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_find_py_modules.py +0 -0
  2331. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_glob.py +0 -0
  2332. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_install_scripts.py +0 -0
  2333. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_logging.py +0 -0
  2334. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_manifest.py +0 -0
  2335. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_namespaces.py +0 -0
  2336. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_packageindex.py +0 -0
  2337. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_sandbox.py +0 -0
  2338. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_sdist.py +0 -0
  2339. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_setopt.py +0 -0
  2340. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_setuptools.py +0 -0
  2341. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_unicode_utils.py +0 -0
  2342. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_virtualenv.py +0 -0
  2343. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_warnings.py +0 -0
  2344. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_wheel.py +0 -0
  2345. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +0 -0
  2346. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/text.py +0 -0
  2347. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/tests/textwrap.py +0 -0
  2348. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/unicode_utils.py +0 -0
  2349. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/version.py +0 -0
  2350. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/warnings.py +0 -0
  2351. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/wheel.py +0 -0
  2352. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/setuptools/windows_support.py +0 -0
  2353. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/__init__.py +0 -0
  2354. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/__main__.py +0 -0
  2355. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/_bdist_wheel.py +0 -0
  2356. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/_setuptools_logging.py +0 -0
  2357. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/bdist_wheel.py +0 -0
  2358. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/__init__.py +0 -0
  2359. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/convert.py +0 -0
  2360. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/pack.py +0 -0
  2361. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/tags.py +0 -0
  2362. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/cli/unpack.py +0 -0
  2363. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/macosx_libfile.py +0 -0
  2364. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/metadata.py +0 -0
  2365. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/util.py +0 -0
  2366. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_elffile.py +0 -0
  2367. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_manylinux.py +0 -0
  2368. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_musllinux.py +0 -0
  2369. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_parser.py +0 -0
  2370. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_structures.py +0 -0
  2371. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/_tokenizer.py +0 -0
  2372. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/markers.py +0 -0
  2373. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/requirements.py +0 -0
  2374. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/specifiers.py +0 -0
  2375. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/tags.py +0 -0
  2376. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/utils.py +0 -0
  2377. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/vendored/packaging/version.py +0 -0
  2378. /py2docfx/venv/{venv0 → venv1}/Lib/site-packages/wheel/wheelfile.py +0 -0
  2379. {py2docfx-0.1.9.dev1886355.dist-info → py2docfx-0.1.9.dev1897554.dist-info}/WHEEL +0 -0
  2380. {py2docfx-0.1.9.dev1886355.dist-info → py2docfx-0.1.9.dev1897554.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2113 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ # Copyright (c) 2009, Giampaolo Rodola'. All rights reserved.
4
+ # Use of this source code is governed by a BSD-style license that can be
5
+ # found in the LICENSE file.
6
+
7
+ """Test utilities."""
8
+
9
+ from __future__ import print_function
10
+
11
+ import atexit
12
+ import contextlib
13
+ import ctypes
14
+ import errno
15
+ import functools
16
+ import gc
17
+ import os
18
+ import platform
19
+ import random
20
+ import re
21
+ import select
22
+ import shlex
23
+ import shutil
24
+ import signal
25
+ import socket
26
+ import stat
27
+ import subprocess
28
+ import sys
29
+ import tempfile
30
+ import textwrap
31
+ import threading
32
+ import time
33
+ import unittest
34
+ import warnings
35
+ from socket import AF_INET
36
+ from socket import AF_INET6
37
+ from socket import SOCK_STREAM
38
+
39
+
40
+ try:
41
+ import pytest
42
+ except ImportError:
43
+ pytest = None
44
+
45
+ import psutil
46
+ from psutil import AIX
47
+ from psutil import LINUX
48
+ from psutil import MACOS
49
+ from psutil import NETBSD
50
+ from psutil import OPENBSD
51
+ from psutil import POSIX
52
+ from psutil import SUNOS
53
+ from psutil import WINDOWS
54
+ from psutil._common import bytes2human
55
+ from psutil._common import debug
56
+ from psutil._common import memoize
57
+ from psutil._common import print_color
58
+ from psutil._common import supports_ipv6
59
+ from psutil._compat import PY3
60
+ from psutil._compat import FileExistsError
61
+ from psutil._compat import FileNotFoundError
62
+ from psutil._compat import range
63
+ from psutil._compat import super
64
+ from psutil._compat import unicode
65
+ from psutil._compat import which
66
+
67
+
68
+ try:
69
+ from unittest import mock # py3
70
+ except ImportError:
71
+ with warnings.catch_warnings():
72
+ warnings.simplefilter("ignore")
73
+ import mock # NOQA - requires "pip install mock"
74
+
75
+ if PY3:
76
+ import enum
77
+ else:
78
+ import unittest2 as unittest
79
+
80
+ enum = None
81
+
82
+ if POSIX:
83
+ from psutil._psposix import wait_pid
84
+
85
+
86
+ # fmt: off
87
+ __all__ = [
88
+ # constants
89
+ 'APPVEYOR', 'DEVNULL', 'GLOBAL_TIMEOUT', 'TOLERANCE_SYS_MEM', 'NO_RETRIES',
90
+ 'PYPY', 'PYTHON_EXE', 'PYTHON_EXE_ENV', 'ROOT_DIR', 'SCRIPTS_DIR',
91
+ 'TESTFN_PREFIX', 'UNICODE_SUFFIX', 'INVALID_UNICODE_SUFFIX',
92
+ 'CI_TESTING', 'VALID_PROC_STATUSES', 'TOLERANCE_DISK_USAGE', 'IS_64BIT',
93
+ "HAS_CPU_AFFINITY", "HAS_CPU_FREQ", "HAS_ENVIRON", "HAS_PROC_IO_COUNTERS",
94
+ "HAS_IONICE", "HAS_MEMORY_MAPS", "HAS_PROC_CPU_NUM", "HAS_RLIMIT",
95
+ "HAS_SENSORS_BATTERY", "HAS_BATTERY", "HAS_SENSORS_FANS",
96
+ "HAS_SENSORS_TEMPERATURES", "HAS_NET_CONNECTIONS_UNIX", "MACOS_11PLUS",
97
+ "MACOS_12PLUS", "COVERAGE", 'AARCH64', "QEMU_USER", "PYTEST_PARALLEL",
98
+ # subprocesses
99
+ 'pyrun', 'terminate', 'reap_children', 'spawn_testproc', 'spawn_zombie',
100
+ 'spawn_children_pair',
101
+ # threads
102
+ 'ThreadTask',
103
+ # test utils
104
+ 'unittest', 'skip_on_access_denied', 'skip_on_not_implemented',
105
+ 'retry_on_failure', 'TestMemoryLeak', 'PsutilTestCase',
106
+ 'process_namespace', 'system_namespace', 'print_sysinfo',
107
+ 'is_win_secure_system_proc', 'fake_pytest',
108
+ # fs utils
109
+ 'chdir', 'safe_rmpath', 'create_py_exe', 'create_c_exe', 'get_testfn',
110
+ # os
111
+ 'get_winver', 'kernel_version',
112
+ # sync primitives
113
+ 'call_until', 'wait_for_pid', 'wait_for_file',
114
+ # network
115
+ 'check_net_address', 'filter_proc_net_connections',
116
+ 'get_free_port', 'bind_socket', 'bind_unix_socket', 'tcp_socketpair',
117
+ 'unix_socketpair', 'create_sockets',
118
+ # compat
119
+ 'reload_module', 'import_module_by_path',
120
+ # others
121
+ 'warn', 'copyload_shared_lib', 'is_namedtuple',
122
+ ]
123
+ # fmt: on
124
+
125
+
126
+ # ===================================================================
127
+ # --- constants
128
+ # ===================================================================
129
+
130
+ # --- platforms
131
+
132
+ PYPY = '__pypy__' in sys.builtin_module_names
133
+ # whether we're running this test suite on a Continuous Integration service
134
+ APPVEYOR = 'APPVEYOR' in os.environ
135
+ GITHUB_ACTIONS = 'GITHUB_ACTIONS' in os.environ or 'CIBUILDWHEEL' in os.environ
136
+ CI_TESTING = APPVEYOR or GITHUB_ACTIONS
137
+ COVERAGE = 'COVERAGE_RUN' in os.environ
138
+ PYTEST_PARALLEL = "PYTEST_XDIST_WORKER" in os.environ # `make test-parallel`
139
+ if LINUX and GITHUB_ACTIONS:
140
+ with open('/proc/1/cmdline') as f:
141
+ QEMU_USER = "/bin/qemu-" in f.read()
142
+ else:
143
+ QEMU_USER = False
144
+ # are we a 64 bit process?
145
+ IS_64BIT = sys.maxsize > 2**32
146
+ AARCH64 = platform.machine() == "aarch64"
147
+
148
+
149
+ @memoize
150
+ def macos_version():
151
+ version_str = platform.mac_ver()[0]
152
+ version = tuple(map(int, version_str.split(".")[:2]))
153
+ if version == (10, 16):
154
+ # When built against an older macOS SDK, Python will report
155
+ # macOS 10.16 instead of the real version.
156
+ version_str = subprocess.check_output(
157
+ [
158
+ sys.executable,
159
+ "-sS",
160
+ "-c",
161
+ "import platform; print(platform.mac_ver()[0])",
162
+ ],
163
+ env={"SYSTEM_VERSION_COMPAT": "0"},
164
+ universal_newlines=True,
165
+ )
166
+ version = tuple(map(int, version_str.split(".")[:2]))
167
+ return version
168
+
169
+
170
+ if MACOS:
171
+ MACOS_11PLUS = macos_version() > (10, 15)
172
+ MACOS_12PLUS = macos_version() >= (12, 0)
173
+ else:
174
+ MACOS_11PLUS = False
175
+ MACOS_12PLUS = False
176
+
177
+
178
+ # --- configurable defaults
179
+
180
+ # how many times retry_on_failure() decorator will retry
181
+ NO_RETRIES = 10
182
+ # bytes tolerance for system-wide related tests
183
+ TOLERANCE_SYS_MEM = 5 * 1024 * 1024 # 5MB
184
+ TOLERANCE_DISK_USAGE = 10 * 1024 * 1024 # 10MB
185
+ # the timeout used in functions which have to wait
186
+ GLOBAL_TIMEOUT = 5
187
+ # be more tolerant if we're on CI in order to avoid false positives
188
+ if CI_TESTING:
189
+ NO_RETRIES *= 3
190
+ GLOBAL_TIMEOUT *= 3
191
+ TOLERANCE_SYS_MEM *= 4
192
+ TOLERANCE_DISK_USAGE *= 3
193
+
194
+ # --- file names
195
+
196
+ # Disambiguate TESTFN for parallel testing.
197
+ if os.name == 'java':
198
+ # Jython disallows @ in module names
199
+ TESTFN_PREFIX = '$psutil-%s-' % os.getpid()
200
+ else:
201
+ TESTFN_PREFIX = '@psutil-%s-' % os.getpid()
202
+ UNICODE_SUFFIX = u"-ƒőő"
203
+ # An invalid unicode string.
204
+ if PY3:
205
+ INVALID_UNICODE_SUFFIX = b"f\xc0\x80".decode('utf8', 'surrogateescape')
206
+ else:
207
+ INVALID_UNICODE_SUFFIX = "f\xc0\x80"
208
+ ASCII_FS = sys.getfilesystemencoding().lower() in ('ascii', 'us-ascii')
209
+
210
+ # --- paths
211
+
212
+ ROOT_DIR = os.path.realpath(
213
+ os.path.join(os.path.dirname(__file__), '..', '..')
214
+ )
215
+ SCRIPTS_DIR = os.environ.get(
216
+ "PSUTIL_SCRIPTS_DIR", os.path.join(ROOT_DIR, 'scripts')
217
+ )
218
+ HERE = os.path.realpath(os.path.dirname(__file__))
219
+
220
+ # --- support
221
+
222
+ HAS_CPU_AFFINITY = hasattr(psutil.Process, "cpu_affinity")
223
+ HAS_CPU_FREQ = hasattr(psutil, "cpu_freq")
224
+ HAS_ENVIRON = hasattr(psutil.Process, "environ")
225
+ HAS_GETLOADAVG = hasattr(psutil, "getloadavg")
226
+ HAS_IONICE = hasattr(psutil.Process, "ionice")
227
+ HAS_MEMORY_MAPS = hasattr(psutil.Process, "memory_maps")
228
+ HAS_NET_CONNECTIONS_UNIX = POSIX and not SUNOS
229
+ HAS_NET_IO_COUNTERS = hasattr(psutil, "net_io_counters")
230
+ HAS_PROC_CPU_NUM = hasattr(psutil.Process, "cpu_num")
231
+ HAS_PROC_IO_COUNTERS = hasattr(psutil.Process, "io_counters")
232
+ HAS_RLIMIT = hasattr(psutil.Process, "rlimit")
233
+ HAS_SENSORS_BATTERY = hasattr(psutil, "sensors_battery")
234
+ try:
235
+ HAS_BATTERY = HAS_SENSORS_BATTERY and bool(psutil.sensors_battery())
236
+ except Exception: # noqa: BLE001
237
+ HAS_BATTERY = False
238
+ HAS_SENSORS_FANS = hasattr(psutil, "sensors_fans")
239
+ HAS_SENSORS_TEMPERATURES = hasattr(psutil, "sensors_temperatures")
240
+ HAS_THREADS = hasattr(psutil.Process, "threads")
241
+ SKIP_SYSCONS = (MACOS or AIX) and os.getuid() != 0
242
+
243
+ # --- misc
244
+
245
+
246
+ def _get_py_exe():
247
+ def attempt(exe):
248
+ try:
249
+ subprocess.check_call(
250
+ [exe, "-V"], stdout=subprocess.PIPE, stderr=subprocess.PIPE
251
+ )
252
+ except subprocess.CalledProcessError:
253
+ return None
254
+ else:
255
+ return exe
256
+
257
+ env = os.environ.copy()
258
+
259
+ # On Windows, starting with python 3.7, virtual environments use a
260
+ # venv launcher startup process. This does not play well when
261
+ # counting spawned processes, or when relying on the PID of the
262
+ # spawned process to do some checks, e.g. connections check per PID.
263
+ # Let's use the base python in this case.
264
+ base = getattr(sys, "_base_executable", None)
265
+ if WINDOWS and sys.version_info >= (3, 7) and base is not None:
266
+ # We need to set __PYVENV_LAUNCHER__ to sys.executable for the
267
+ # base python executable to know about the environment.
268
+ env["__PYVENV_LAUNCHER__"] = sys.executable
269
+ return base, env
270
+ elif GITHUB_ACTIONS:
271
+ return sys.executable, env
272
+ elif MACOS:
273
+ exe = (
274
+ attempt(sys.executable)
275
+ or attempt(os.path.realpath(sys.executable))
276
+ or attempt(which("python%s.%s" % sys.version_info[:2]))
277
+ or attempt(psutil.Process().exe())
278
+ )
279
+ if not exe:
280
+ raise ValueError("can't find python exe real abspath")
281
+ return exe, env
282
+ else:
283
+ exe = os.path.realpath(sys.executable)
284
+ assert os.path.exists(exe), exe
285
+ return exe, env
286
+
287
+
288
+ PYTHON_EXE, PYTHON_EXE_ENV = _get_py_exe()
289
+ DEVNULL = open(os.devnull, 'r+')
290
+ atexit.register(DEVNULL.close)
291
+
292
+ VALID_PROC_STATUSES = [
293
+ getattr(psutil, x) for x in dir(psutil) if x.startswith('STATUS_')
294
+ ]
295
+ AF_UNIX = getattr(socket, "AF_UNIX", object())
296
+
297
+ _subprocesses_started = set()
298
+ _pids_started = set()
299
+
300
+
301
+ # ===================================================================
302
+ # --- threads
303
+ # ===================================================================
304
+
305
+
306
+ class ThreadTask(threading.Thread):
307
+ """A thread task which does nothing expect staying alive."""
308
+
309
+ def __init__(self):
310
+ super().__init__()
311
+ self._running = False
312
+ self._interval = 0.001
313
+ self._flag = threading.Event()
314
+
315
+ def __repr__(self):
316
+ name = self.__class__.__name__
317
+ return '<%s running=%s at %#x>' % (name, self._running, id(self))
318
+
319
+ def __enter__(self):
320
+ self.start()
321
+ return self
322
+
323
+ def __exit__(self, *args, **kwargs):
324
+ self.stop()
325
+
326
+ def start(self):
327
+ """Start thread and keep it running until an explicit
328
+ stop() request. Polls for shutdown every 'timeout' seconds.
329
+ """
330
+ if self._running:
331
+ raise ValueError("already started")
332
+ threading.Thread.start(self)
333
+ self._flag.wait()
334
+
335
+ def run(self):
336
+ self._running = True
337
+ self._flag.set()
338
+ while self._running:
339
+ time.sleep(self._interval)
340
+
341
+ def stop(self):
342
+ """Stop thread execution and and waits until it is stopped."""
343
+ if not self._running:
344
+ raise ValueError("already stopped")
345
+ self._running = False
346
+ self.join()
347
+
348
+
349
+ # ===================================================================
350
+ # --- subprocesses
351
+ # ===================================================================
352
+
353
+
354
+ def _reap_children_on_err(fun):
355
+ @functools.wraps(fun)
356
+ def wrapper(*args, **kwargs):
357
+ try:
358
+ return fun(*args, **kwargs)
359
+ except Exception:
360
+ reap_children()
361
+ raise
362
+
363
+ return wrapper
364
+
365
+
366
+ @_reap_children_on_err
367
+ def spawn_testproc(cmd=None, **kwds):
368
+ """Create a python subprocess which does nothing for some secs and
369
+ return it as a subprocess.Popen instance.
370
+ If "cmd" is specified that is used instead of python.
371
+ By default stdin and stdout are redirected to /dev/null.
372
+ It also attempts to make sure the process is in a reasonably
373
+ initialized state.
374
+ The process is registered for cleanup on reap_children().
375
+ """
376
+ kwds.setdefault("stdin", DEVNULL)
377
+ kwds.setdefault("stdout", DEVNULL)
378
+ kwds.setdefault("cwd", os.getcwd())
379
+ kwds.setdefault("env", PYTHON_EXE_ENV)
380
+ if WINDOWS:
381
+ # Prevents the subprocess to open error dialogs. This will also
382
+ # cause stderr to be suppressed, which is suboptimal in order
383
+ # to debug broken tests.
384
+ CREATE_NO_WINDOW = 0x8000000
385
+ kwds.setdefault("creationflags", CREATE_NO_WINDOW)
386
+ if cmd is None:
387
+ testfn = get_testfn(dir=os.getcwd())
388
+ try:
389
+ safe_rmpath(testfn)
390
+ pyline = (
391
+ "import time;"
392
+ + "open(r'%s', 'w').close();" % testfn
393
+ + "[time.sleep(0.1) for x in range(100)];" # 10 secs
394
+ )
395
+ cmd = [PYTHON_EXE, "-c", pyline]
396
+ sproc = subprocess.Popen(cmd, **kwds)
397
+ _subprocesses_started.add(sproc)
398
+ wait_for_file(testfn, delete=True, empty=True)
399
+ finally:
400
+ safe_rmpath(testfn)
401
+ else:
402
+ sproc = subprocess.Popen(cmd, **kwds)
403
+ _subprocesses_started.add(sproc)
404
+ wait_for_pid(sproc.pid)
405
+ return sproc
406
+
407
+
408
+ @_reap_children_on_err
409
+ def spawn_children_pair():
410
+ """Create a subprocess which creates another one as in:
411
+ A (us) -> B (child) -> C (grandchild).
412
+ Return a (child, grandchild) tuple.
413
+ The 2 processes are fully initialized and will live for 60 secs
414
+ and are registered for cleanup on reap_children().
415
+ """
416
+ tfile = None
417
+ testfn = get_testfn(dir=os.getcwd())
418
+ try:
419
+ s = textwrap.dedent("""\
420
+ import subprocess, os, sys, time
421
+ s = "import os, time;"
422
+ s += "f = open('%s', 'w');"
423
+ s += "f.write(str(os.getpid()));"
424
+ s += "f.close();"
425
+ s += "[time.sleep(0.1) for x in range(100 * 6)];"
426
+ p = subprocess.Popen([r'%s', '-c', s])
427
+ p.wait()
428
+ """ % (os.path.basename(testfn), PYTHON_EXE))
429
+ # On Windows if we create a subprocess with CREATE_NO_WINDOW flag
430
+ # set (which is the default) a "conhost.exe" extra process will be
431
+ # spawned as a child. We don't want that.
432
+ if WINDOWS:
433
+ subp, tfile = pyrun(s, creationflags=0)
434
+ else:
435
+ subp, tfile = pyrun(s)
436
+ child = psutil.Process(subp.pid)
437
+ grandchild_pid = int(wait_for_file(testfn, delete=True, empty=False))
438
+ _pids_started.add(grandchild_pid)
439
+ grandchild = psutil.Process(grandchild_pid)
440
+ return (child, grandchild)
441
+ finally:
442
+ safe_rmpath(testfn)
443
+ if tfile is not None:
444
+ safe_rmpath(tfile)
445
+
446
+
447
+ def spawn_zombie():
448
+ """Create a zombie process and return a (parent, zombie) process tuple.
449
+ In order to kill the zombie parent must be terminate()d first, then
450
+ zombie must be wait()ed on.
451
+ """
452
+ assert psutil.POSIX
453
+ unix_file = get_testfn()
454
+ src = textwrap.dedent("""\
455
+ import os, sys, time, socket, contextlib
456
+ child_pid = os.fork()
457
+ if child_pid > 0:
458
+ time.sleep(3000)
459
+ else:
460
+ # this is the zombie process
461
+ s = socket.socket(socket.AF_UNIX)
462
+ with contextlib.closing(s):
463
+ s.connect('%s')
464
+ if sys.version_info < (3, ):
465
+ pid = str(os.getpid())
466
+ else:
467
+ pid = bytes(str(os.getpid()), 'ascii')
468
+ s.sendall(pid)
469
+ """ % unix_file)
470
+ tfile = None
471
+ sock = bind_unix_socket(unix_file)
472
+ try:
473
+ sock.settimeout(GLOBAL_TIMEOUT)
474
+ parent, tfile = pyrun(src)
475
+ conn, _ = sock.accept()
476
+ try:
477
+ select.select([conn.fileno()], [], [], GLOBAL_TIMEOUT)
478
+ zpid = int(conn.recv(1024))
479
+ _pids_started.add(zpid)
480
+ zombie = psutil.Process(zpid)
481
+ call_until(lambda: zombie.status() == psutil.STATUS_ZOMBIE)
482
+ return (parent, zombie)
483
+ finally:
484
+ conn.close()
485
+ finally:
486
+ sock.close()
487
+ safe_rmpath(unix_file)
488
+ if tfile is not None:
489
+ safe_rmpath(tfile)
490
+
491
+
492
+ @_reap_children_on_err
493
+ def pyrun(src, **kwds):
494
+ """Run python 'src' code string in a separate interpreter.
495
+ Returns a subprocess.Popen instance and the test file where the source
496
+ code was written.
497
+ """
498
+ kwds.setdefault("stdout", None)
499
+ kwds.setdefault("stderr", None)
500
+ srcfile = get_testfn()
501
+ try:
502
+ with open(srcfile, "w") as f:
503
+ f.write(src)
504
+ subp = spawn_testproc([PYTHON_EXE, f.name], **kwds)
505
+ wait_for_pid(subp.pid)
506
+ return (subp, srcfile)
507
+ except Exception:
508
+ safe_rmpath(srcfile)
509
+ raise
510
+
511
+
512
+ @_reap_children_on_err
513
+ def sh(cmd, **kwds):
514
+ """Run cmd in a subprocess and return its output.
515
+ raises RuntimeError on error.
516
+ """
517
+ # Prevents subprocess to open error dialogs in case of error.
518
+ flags = 0x8000000 if WINDOWS else 0
519
+ kwds.setdefault("stdout", subprocess.PIPE)
520
+ kwds.setdefault("stderr", subprocess.PIPE)
521
+ kwds.setdefault("universal_newlines", True)
522
+ kwds.setdefault("creationflags", flags)
523
+ if isinstance(cmd, str):
524
+ cmd = shlex.split(cmd)
525
+ p = subprocess.Popen(cmd, **kwds)
526
+ _subprocesses_started.add(p)
527
+ if PY3:
528
+ stdout, stderr = p.communicate(timeout=GLOBAL_TIMEOUT)
529
+ else:
530
+ stdout, stderr = p.communicate()
531
+ if p.returncode != 0:
532
+ raise RuntimeError(stdout + stderr)
533
+ if stderr:
534
+ warn(stderr)
535
+ if stdout.endswith('\n'):
536
+ stdout = stdout[:-1]
537
+ return stdout
538
+
539
+
540
+ def terminate(proc_or_pid, sig=signal.SIGTERM, wait_timeout=GLOBAL_TIMEOUT):
541
+ """Terminate a process and wait() for it.
542
+ Process can be a PID or an instance of psutil.Process(),
543
+ subprocess.Popen() or psutil.Popen().
544
+ If it's a subprocess.Popen() or psutil.Popen() instance also closes
545
+ its stdin / stdout / stderr fds.
546
+ PID is wait()ed even if the process is already gone (kills zombies).
547
+ Does nothing if the process does not exist.
548
+ Return process exit status.
549
+ """
550
+
551
+ def wait(proc, timeout):
552
+ if isinstance(proc, subprocess.Popen) and not PY3:
553
+ proc.wait()
554
+ else:
555
+ proc.wait(timeout)
556
+ if WINDOWS and isinstance(proc, subprocess.Popen):
557
+ # Otherwise PID may still hang around.
558
+ try:
559
+ return psutil.Process(proc.pid).wait(timeout)
560
+ except psutil.NoSuchProcess:
561
+ pass
562
+
563
+ def sendsig(proc, sig):
564
+ # XXX: otherwise the build hangs for some reason.
565
+ if MACOS and GITHUB_ACTIONS:
566
+ sig = signal.SIGKILL
567
+ # If the process received SIGSTOP, SIGCONT is necessary first,
568
+ # otherwise SIGTERM won't work.
569
+ if POSIX and sig != signal.SIGKILL:
570
+ proc.send_signal(signal.SIGCONT)
571
+ proc.send_signal(sig)
572
+
573
+ def term_subprocess_proc(proc, timeout):
574
+ try:
575
+ sendsig(proc, sig)
576
+ except OSError as err:
577
+ if WINDOWS and err.winerror == 6: # "invalid handle"
578
+ pass
579
+ elif err.errno != errno.ESRCH:
580
+ raise
581
+ return wait(proc, timeout)
582
+
583
+ def term_psutil_proc(proc, timeout):
584
+ try:
585
+ sendsig(proc, sig)
586
+ except psutil.NoSuchProcess:
587
+ pass
588
+ return wait(proc, timeout)
589
+
590
+ def term_pid(pid, timeout):
591
+ try:
592
+ proc = psutil.Process(pid)
593
+ except psutil.NoSuchProcess:
594
+ # Needed to kill zombies.
595
+ if POSIX:
596
+ return wait_pid(pid, timeout)
597
+ else:
598
+ return term_psutil_proc(proc, timeout)
599
+
600
+ def flush_popen(proc):
601
+ if proc.stdout:
602
+ proc.stdout.close()
603
+ if proc.stderr:
604
+ proc.stderr.close()
605
+ # Flushing a BufferedWriter may raise an error.
606
+ if proc.stdin:
607
+ proc.stdin.close()
608
+
609
+ p = proc_or_pid
610
+ try:
611
+ if isinstance(p, int):
612
+ return term_pid(p, wait_timeout)
613
+ elif isinstance(p, (psutil.Process, psutil.Popen)):
614
+ return term_psutil_proc(p, wait_timeout)
615
+ elif isinstance(p, subprocess.Popen):
616
+ return term_subprocess_proc(p, wait_timeout)
617
+ else:
618
+ raise TypeError("wrong type %r" % p)
619
+ finally:
620
+ if isinstance(p, (subprocess.Popen, psutil.Popen)):
621
+ flush_popen(p)
622
+ pid = p if isinstance(p, int) else p.pid
623
+ assert not psutil.pid_exists(pid), pid
624
+
625
+
626
+ def reap_children(recursive=False):
627
+ """Terminate and wait() any subprocess started by this test suite
628
+ and any children currently running, ensuring that no processes stick
629
+ around to hog resources.
630
+ If recursive is True it also tries to terminate and wait()
631
+ all grandchildren started by this process.
632
+ """
633
+ # Get the children here before terminating them, as in case of
634
+ # recursive=True we don't want to lose the intermediate reference
635
+ # pointing to the grandchildren.
636
+ children = psutil.Process().children(recursive=recursive)
637
+
638
+ # Terminate subprocess.Popen.
639
+ while _subprocesses_started:
640
+ subp = _subprocesses_started.pop()
641
+ terminate(subp)
642
+
643
+ # Collect started pids.
644
+ while _pids_started:
645
+ pid = _pids_started.pop()
646
+ terminate(pid)
647
+
648
+ # Terminate children.
649
+ if children:
650
+ for p in children:
651
+ terminate(p, wait_timeout=None)
652
+ _, alive = psutil.wait_procs(children, timeout=GLOBAL_TIMEOUT)
653
+ for p in alive:
654
+ warn("couldn't terminate process %r; attempting kill()" % p)
655
+ terminate(p, sig=signal.SIGKILL)
656
+
657
+
658
+ # ===================================================================
659
+ # --- OS
660
+ # ===================================================================
661
+
662
+
663
+ def kernel_version():
664
+ """Return a tuple such as (2, 6, 36)."""
665
+ if not POSIX:
666
+ raise NotImplementedError("not POSIX")
667
+ s = ""
668
+ uname = os.uname()[2]
669
+ for c in uname:
670
+ if c.isdigit() or c == '.':
671
+ s += c
672
+ else:
673
+ break
674
+ if not s:
675
+ raise ValueError("can't parse %r" % uname)
676
+ minor = 0
677
+ micro = 0
678
+ nums = s.split('.')
679
+ major = int(nums[0])
680
+ if len(nums) >= 2:
681
+ minor = int(nums[1])
682
+ if len(nums) >= 3:
683
+ micro = int(nums[2])
684
+ return (major, minor, micro)
685
+
686
+
687
+ def get_winver():
688
+ if not WINDOWS:
689
+ raise NotImplementedError("not WINDOWS")
690
+ wv = sys.getwindowsversion()
691
+ if hasattr(wv, 'service_pack_major'): # python >= 2.7
692
+ sp = wv.service_pack_major or 0
693
+ else:
694
+ r = re.search(r"\s\d$", wv[4])
695
+ sp = int(r.group(0)) if r else 0
696
+ return (wv[0], wv[1], sp)
697
+
698
+
699
+ # ===================================================================
700
+ # --- sync primitives
701
+ # ===================================================================
702
+
703
+
704
+ class retry:
705
+ """A retry decorator."""
706
+
707
+ def __init__(
708
+ self,
709
+ exception=Exception,
710
+ timeout=None,
711
+ retries=None,
712
+ interval=0.001,
713
+ logfun=None,
714
+ ):
715
+ if timeout and retries:
716
+ raise ValueError("timeout and retries args are mutually exclusive")
717
+ self.exception = exception
718
+ self.timeout = timeout
719
+ self.retries = retries
720
+ self.interval = interval
721
+ self.logfun = logfun
722
+
723
+ def __iter__(self):
724
+ if self.timeout:
725
+ stop_at = time.time() + self.timeout
726
+ while time.time() < stop_at:
727
+ yield
728
+ elif self.retries:
729
+ for _ in range(self.retries):
730
+ yield
731
+ else:
732
+ while True:
733
+ yield
734
+
735
+ def sleep(self):
736
+ if self.interval is not None:
737
+ time.sleep(self.interval)
738
+
739
+ def __call__(self, fun):
740
+ @functools.wraps(fun)
741
+ def wrapper(*args, **kwargs):
742
+ exc = None
743
+ for _ in self:
744
+ try:
745
+ return fun(*args, **kwargs)
746
+ except self.exception as _: # NOQA
747
+ exc = _
748
+ if self.logfun is not None:
749
+ self.logfun(exc)
750
+ self.sleep()
751
+ continue
752
+ if PY3:
753
+ raise exc # noqa: PLE0704
754
+ else:
755
+ raise # noqa: PLE0704
756
+
757
+ # This way the user of the decorated function can change config
758
+ # parameters.
759
+ wrapper.decorator = self
760
+ return wrapper
761
+
762
+
763
+ @retry(
764
+ exception=psutil.NoSuchProcess,
765
+ logfun=None,
766
+ timeout=GLOBAL_TIMEOUT,
767
+ interval=0.001,
768
+ )
769
+ def wait_for_pid(pid):
770
+ """Wait for pid to show up in the process list then return.
771
+ Used in the test suite to give time the sub process to initialize.
772
+ """
773
+ if pid not in psutil.pids():
774
+ raise psutil.NoSuchProcess(pid)
775
+ psutil.Process(pid)
776
+
777
+
778
+ @retry(
779
+ exception=(FileNotFoundError, AssertionError),
780
+ logfun=None,
781
+ timeout=GLOBAL_TIMEOUT,
782
+ interval=0.001,
783
+ )
784
+ def wait_for_file(fname, delete=True, empty=False):
785
+ """Wait for a file to be written on disk with some content."""
786
+ with open(fname, "rb") as f:
787
+ data = f.read()
788
+ if not empty:
789
+ assert data
790
+ if delete:
791
+ safe_rmpath(fname)
792
+ return data
793
+
794
+
795
+ @retry(
796
+ exception=AssertionError,
797
+ logfun=None,
798
+ timeout=GLOBAL_TIMEOUT,
799
+ interval=0.001,
800
+ )
801
+ def call_until(fun):
802
+ """Keep calling function until it evaluates to True."""
803
+ ret = fun()
804
+ assert ret
805
+ return ret
806
+
807
+
808
+ # ===================================================================
809
+ # --- fs
810
+ # ===================================================================
811
+
812
+
813
+ def safe_rmpath(path):
814
+ """Convenience function for removing temporary test files or dirs."""
815
+
816
+ def retry_fun(fun):
817
+ # On Windows it could happen that the file or directory has
818
+ # open handles or references preventing the delete operation
819
+ # to succeed immediately, so we retry for a while. See:
820
+ # https://bugs.python.org/issue33240
821
+ stop_at = time.time() + GLOBAL_TIMEOUT
822
+ while time.time() < stop_at:
823
+ try:
824
+ return fun()
825
+ except FileNotFoundError:
826
+ pass
827
+ except WindowsError as _:
828
+ err = _
829
+ warn("ignoring %s" % (str(err)))
830
+ time.sleep(0.01)
831
+ raise err
832
+
833
+ try:
834
+ st = os.stat(path)
835
+ if stat.S_ISDIR(st.st_mode):
836
+ fun = functools.partial(shutil.rmtree, path)
837
+ else:
838
+ fun = functools.partial(os.remove, path)
839
+ if POSIX:
840
+ fun()
841
+ else:
842
+ retry_fun(fun)
843
+ except FileNotFoundError:
844
+ pass
845
+
846
+
847
+ def safe_mkdir(dir):
848
+ """Convenience function for creating a directory."""
849
+ try:
850
+ os.mkdir(dir)
851
+ except FileExistsError:
852
+ pass
853
+
854
+
855
+ @contextlib.contextmanager
856
+ def chdir(dirname):
857
+ """Context manager which temporarily changes the current directory."""
858
+ curdir = os.getcwd()
859
+ try:
860
+ os.chdir(dirname)
861
+ yield
862
+ finally:
863
+ os.chdir(curdir)
864
+
865
+
866
+ def create_py_exe(path):
867
+ """Create a Python executable file in the given location."""
868
+ assert not os.path.exists(path), path
869
+ atexit.register(safe_rmpath, path)
870
+ shutil.copyfile(PYTHON_EXE, path)
871
+ if POSIX:
872
+ st = os.stat(path)
873
+ os.chmod(path, st.st_mode | stat.S_IEXEC)
874
+ return path
875
+
876
+
877
+ def create_c_exe(path, c_code=None):
878
+ """Create a compiled C executable in the given location."""
879
+ assert not os.path.exists(path), path
880
+ if not which("gcc"):
881
+ raise pytest.skip("gcc is not installed")
882
+ if c_code is None:
883
+ c_code = textwrap.dedent("""
884
+ #include <unistd.h>
885
+ int main() {
886
+ pause();
887
+ return 1;
888
+ }
889
+ """)
890
+ else:
891
+ assert isinstance(c_code, str), c_code
892
+
893
+ atexit.register(safe_rmpath, path)
894
+ with open(get_testfn(suffix='.c'), "w") as f:
895
+ f.write(c_code)
896
+ try:
897
+ subprocess.check_call(["gcc", f.name, "-o", path])
898
+ finally:
899
+ safe_rmpath(f.name)
900
+ return path
901
+
902
+
903
+ def get_testfn(suffix="", dir=None):
904
+ """Return an absolute pathname of a file or dir that did not
905
+ exist at the time this call is made. Also schedule it for safe
906
+ deletion at interpreter exit. It's technically racy but probably
907
+ not really due to the time variant.
908
+ """
909
+ while True:
910
+ name = tempfile.mktemp(prefix=TESTFN_PREFIX, suffix=suffix, dir=dir)
911
+ if not os.path.exists(name): # also include dirs
912
+ path = os.path.realpath(name) # needed for OSX
913
+ atexit.register(safe_rmpath, path)
914
+ return path
915
+
916
+
917
+ # ===================================================================
918
+ # --- testing
919
+ # ===================================================================
920
+
921
+
922
+ class fake_pytest:
923
+ """A class that mimics some basic pytest APIs. This is meant for
924
+ when unit tests are run in production, where pytest may not be
925
+ installed. Still, the user can test psutil installation via:
926
+
927
+ $ python3 -m psutil.tests
928
+ """
929
+
930
+ @staticmethod
931
+ def main(*args, **kw): # noqa ARG004
932
+ """Mimics pytest.main(). It has the same effect as running
933
+ `python3 -m unittest -v` from the project root directory.
934
+ """
935
+ suite = unittest.TestLoader().discover(HERE)
936
+ unittest.TextTestRunner(verbosity=2).run(suite)
937
+ warnings.warn(
938
+ "Fake pytest module was used. Test results may be inaccurate.",
939
+ UserWarning,
940
+ stacklevel=1,
941
+ )
942
+ return suite
943
+
944
+ @staticmethod
945
+ def raises(exc, match=None):
946
+ """Mimics `pytest.raises`."""
947
+
948
+ class ExceptionInfo:
949
+ _exc = None
950
+
951
+ @property
952
+ def value(self):
953
+ return self._exc
954
+
955
+ @contextlib.contextmanager
956
+ def context(exc, match=None):
957
+ einfo = ExceptionInfo()
958
+ try:
959
+ yield einfo
960
+ except exc as err:
961
+ if match and not re.search(match, str(err)):
962
+ msg = '"{}" does not match "{}"'.format(match, str(err))
963
+ raise AssertionError(msg)
964
+ einfo._exc = err
965
+ else:
966
+ raise AssertionError("%r not raised" % exc)
967
+
968
+ return context(exc, match=match)
969
+
970
+ @staticmethod
971
+ def warns(warning, match=None):
972
+ """Mimics `pytest.warns`."""
973
+ if match:
974
+ return unittest.TestCase().assertWarnsRegex(warning, match)
975
+ return unittest.TestCase().assertWarns(warning)
976
+
977
+ @staticmethod
978
+ def skip(reason=""):
979
+ """Mimics `unittest.SkipTest`."""
980
+ raise unittest.SkipTest(reason)
981
+
982
+ class mark:
983
+
984
+ @staticmethod
985
+ def skipif(condition, reason=""):
986
+ """Mimics `@pytest.mark.skipif` decorator."""
987
+ return unittest.skipIf(condition, reason)
988
+
989
+ class xdist_group:
990
+ """Mimics `@pytest.mark.xdist_group` decorator (no-op)."""
991
+
992
+ def __init__(self, name=None):
993
+ pass
994
+
995
+ def __call__(self, cls_or_meth):
996
+ return cls_or_meth
997
+
998
+
999
+ if pytest is None:
1000
+ pytest = fake_pytest
1001
+
1002
+
1003
+ class TestCase(unittest.TestCase):
1004
+ # ...otherwise multiprocessing.Pool complains
1005
+ if not PY3:
1006
+
1007
+ def runTest(self):
1008
+ pass
1009
+
1010
+ @contextlib.contextmanager
1011
+ def subTest(self, *args, **kw):
1012
+ # fake it for python 2.7
1013
+ yield
1014
+
1015
+
1016
+ # monkey patch default unittest.TestCase
1017
+ unittest.TestCase = TestCase
1018
+
1019
+
1020
+ class PsutilTestCase(TestCase):
1021
+ """Test class providing auto-cleanup wrappers on top of process
1022
+ test utilities. All test classes should derive from this one, even
1023
+ if we use pytest.
1024
+ """
1025
+
1026
+ def get_testfn(self, suffix="", dir=None):
1027
+ fname = get_testfn(suffix=suffix, dir=dir)
1028
+ self.addCleanup(safe_rmpath, fname)
1029
+ return fname
1030
+
1031
+ def spawn_testproc(self, *args, **kwds):
1032
+ sproc = spawn_testproc(*args, **kwds)
1033
+ self.addCleanup(terminate, sproc)
1034
+ return sproc
1035
+
1036
+ def spawn_children_pair(self):
1037
+ child1, child2 = spawn_children_pair()
1038
+ self.addCleanup(terminate, child2)
1039
+ self.addCleanup(terminate, child1) # executed first
1040
+ return (child1, child2)
1041
+
1042
+ def spawn_zombie(self):
1043
+ parent, zombie = spawn_zombie()
1044
+ self.addCleanup(terminate, zombie)
1045
+ self.addCleanup(terminate, parent) # executed first
1046
+ return (parent, zombie)
1047
+
1048
+ def pyrun(self, *args, **kwds):
1049
+ sproc, srcfile = pyrun(*args, **kwds)
1050
+ self.addCleanup(safe_rmpath, srcfile)
1051
+ self.addCleanup(terminate, sproc) # executed first
1052
+ return sproc
1053
+
1054
+ def _check_proc_exc(self, proc, exc):
1055
+ assert isinstance(exc, psutil.Error)
1056
+ assert exc.pid == proc.pid
1057
+ assert exc.name == proc._name
1058
+ if exc.name:
1059
+ assert exc.name
1060
+ if isinstance(exc, psutil.ZombieProcess):
1061
+ assert exc.ppid == proc._ppid
1062
+ if exc.ppid is not None:
1063
+ assert exc.ppid >= 0
1064
+ str(exc)
1065
+ repr(exc)
1066
+
1067
+ def assertPidGone(self, pid):
1068
+ with pytest.raises(psutil.NoSuchProcess) as cm:
1069
+ try:
1070
+ psutil.Process(pid)
1071
+ except psutil.ZombieProcess:
1072
+ raise AssertionError("wasn't supposed to raise ZombieProcess")
1073
+ assert cm.value.pid == pid
1074
+ assert cm.value.name is None
1075
+ assert not psutil.pid_exists(pid), pid
1076
+ assert pid not in psutil.pids()
1077
+ assert pid not in [x.pid for x in psutil.process_iter()]
1078
+
1079
+ def assertProcessGone(self, proc):
1080
+ self.assertPidGone(proc.pid)
1081
+ ns = process_namespace(proc)
1082
+ for fun, name in ns.iter(ns.all, clear_cache=True):
1083
+ with self.subTest(proc=proc, name=name):
1084
+ try:
1085
+ ret = fun()
1086
+ except psutil.ZombieProcess:
1087
+ raise
1088
+ except psutil.NoSuchProcess as exc:
1089
+ self._check_proc_exc(proc, exc)
1090
+ else:
1091
+ msg = "Process.%s() didn't raise NSP and returned %r" % (
1092
+ name,
1093
+ ret,
1094
+ )
1095
+ raise AssertionError(msg)
1096
+ proc.wait(timeout=0) # assert not raise TimeoutExpired
1097
+
1098
+ def assertProcessZombie(self, proc):
1099
+ # A zombie process should always be instantiable.
1100
+ clone = psutil.Process(proc.pid)
1101
+ # Cloned zombie on Open/NetBSD has null creation time, see:
1102
+ # https://github.com/giampaolo/psutil/issues/2287
1103
+ assert proc == clone
1104
+ if not (OPENBSD or NETBSD):
1105
+ assert hash(proc) == hash(clone)
1106
+ # Its status always be querable.
1107
+ assert proc.status() == psutil.STATUS_ZOMBIE
1108
+ # It should be considered 'running'.
1109
+ assert proc.is_running()
1110
+ assert psutil.pid_exists(proc.pid)
1111
+ # as_dict() shouldn't crash.
1112
+ proc.as_dict()
1113
+ # It should show up in pids() and process_iter().
1114
+ assert proc.pid in psutil.pids()
1115
+ assert proc.pid in [x.pid for x in psutil.process_iter()]
1116
+ psutil._pmap = {}
1117
+ assert proc.pid in [x.pid for x in psutil.process_iter()]
1118
+ # Call all methods.
1119
+ ns = process_namespace(proc)
1120
+ for fun, name in ns.iter(ns.all, clear_cache=True):
1121
+ with self.subTest(proc=proc, name=name):
1122
+ try:
1123
+ fun()
1124
+ except (psutil.ZombieProcess, psutil.AccessDenied) as exc:
1125
+ self._check_proc_exc(proc, exc)
1126
+ if LINUX:
1127
+ # https://github.com/giampaolo/psutil/pull/2288
1128
+ with pytest.raises(psutil.ZombieProcess) as cm:
1129
+ proc.cmdline()
1130
+ self._check_proc_exc(proc, cm.value)
1131
+ with pytest.raises(psutil.ZombieProcess) as cm:
1132
+ proc.exe()
1133
+ self._check_proc_exc(proc, cm.value)
1134
+ with pytest.raises(psutil.ZombieProcess) as cm:
1135
+ proc.memory_maps()
1136
+ self._check_proc_exc(proc, cm.value)
1137
+ # Zombie cannot be signaled or terminated.
1138
+ proc.suspend()
1139
+ proc.resume()
1140
+ proc.terminate()
1141
+ proc.kill()
1142
+ assert proc.is_running()
1143
+ assert psutil.pid_exists(proc.pid)
1144
+ assert proc.pid in psutil.pids()
1145
+ assert proc.pid in [x.pid for x in psutil.process_iter()]
1146
+ psutil._pmap = {}
1147
+ assert proc.pid in [x.pid for x in psutil.process_iter()]
1148
+
1149
+ # Its parent should 'see' it (edit: not true on BSD and MACOS).
1150
+ # descendants = [x.pid for x in psutil.Process().children(
1151
+ # recursive=True)]
1152
+ # self.assertIn(proc.pid, descendants)
1153
+
1154
+ # __eq__ can't be relied upon because creation time may not be
1155
+ # querable.
1156
+ # self.assertEqual(proc, psutil.Process(proc.pid))
1157
+
1158
+ # XXX should we also assume ppid() to be usable? Note: this
1159
+ # would be an important use case as the only way to get
1160
+ # rid of a zombie is to kill its parent.
1161
+ # self.assertEqual(proc.ppid(), os.getpid())
1162
+
1163
+
1164
+ @pytest.mark.skipif(PYPY, reason="unreliable on PYPY")
1165
+ class TestMemoryLeak(PsutilTestCase):
1166
+ """Test framework class for detecting function memory leaks,
1167
+ typically functions implemented in C which forgot to free() memory
1168
+ from the heap. It does so by checking whether the process memory
1169
+ usage increased before and after calling the function many times.
1170
+
1171
+ Note that this is hard (probably impossible) to do reliably, due
1172
+ to how the OS handles memory, the GC and so on (memory can even
1173
+ decrease!). In order to avoid false positives, in case of failure
1174
+ (mem > 0) we retry the test for up to 5 times, increasing call
1175
+ repetitions each time. If the memory keeps increasing then it's a
1176
+ failure.
1177
+
1178
+ If available (Linux, OSX, Windows), USS memory is used for comparison,
1179
+ since it's supposed to be more precise, see:
1180
+ https://gmpy.dev/blog/2016/real-process-memory-and-environ-in-python
1181
+ If not, RSS memory is used. mallinfo() on Linux and _heapwalk() on
1182
+ Windows may give even more precision, but at the moment are not
1183
+ implemented.
1184
+
1185
+ PyPy appears to be completely unstable for this framework, probably
1186
+ because of its JIT, so tests on PYPY are skipped.
1187
+
1188
+ Usage:
1189
+
1190
+ class TestLeaks(psutil.tests.TestMemoryLeak):
1191
+
1192
+ def test_fun(self):
1193
+ self.execute(some_function)
1194
+ """
1195
+
1196
+ # Configurable class attrs.
1197
+ times = 200
1198
+ warmup_times = 10
1199
+ tolerance = 0 # memory
1200
+ retries = 10 if CI_TESTING else 5
1201
+ verbose = True
1202
+ _thisproc = psutil.Process()
1203
+ _psutil_debug_orig = bool(os.getenv('PSUTIL_DEBUG'))
1204
+
1205
+ @classmethod
1206
+ def setUpClass(cls):
1207
+ psutil._set_debug(False) # avoid spamming to stderr
1208
+
1209
+ @classmethod
1210
+ def tearDownClass(cls):
1211
+ psutil._set_debug(cls._psutil_debug_orig)
1212
+
1213
+ def _get_mem(self):
1214
+ # USS is the closest thing we have to "real" memory usage and it
1215
+ # should be less likely to produce false positives.
1216
+ mem = self._thisproc.memory_full_info()
1217
+ return getattr(mem, "uss", mem.rss)
1218
+
1219
+ def _get_num_fds(self):
1220
+ if POSIX:
1221
+ return self._thisproc.num_fds()
1222
+ else:
1223
+ return self._thisproc.num_handles()
1224
+
1225
+ def _log(self, msg):
1226
+ if self.verbose:
1227
+ print_color(msg, color="yellow", file=sys.stderr)
1228
+
1229
+ def _check_fds(self, fun):
1230
+ """Makes sure num_fds() (POSIX) or num_handles() (Windows) does
1231
+ not increase after calling a function. Used to discover forgotten
1232
+ close(2) and CloseHandle syscalls.
1233
+ """
1234
+ before = self._get_num_fds()
1235
+ self.call(fun)
1236
+ after = self._get_num_fds()
1237
+ diff = after - before
1238
+ if diff < 0:
1239
+ raise self.fail(
1240
+ "negative diff %r (gc probably collected a "
1241
+ "resource from a previous test)" % diff
1242
+ )
1243
+ if diff > 0:
1244
+ type_ = "fd" if POSIX else "handle"
1245
+ if diff > 1:
1246
+ type_ += "s"
1247
+ msg = "%s unclosed %s after calling %r" % (diff, type_, fun)
1248
+ raise self.fail(msg)
1249
+
1250
+ def _call_ntimes(self, fun, times):
1251
+ """Get 2 distinct memory samples, before and after having
1252
+ called fun repeatedly, and return the memory difference.
1253
+ """
1254
+ gc.collect(generation=1)
1255
+ mem1 = self._get_mem()
1256
+ for x in range(times):
1257
+ ret = self.call(fun)
1258
+ del x, ret
1259
+ gc.collect(generation=1)
1260
+ mem2 = self._get_mem()
1261
+ assert gc.garbage == []
1262
+ diff = mem2 - mem1 # can also be negative
1263
+ return diff
1264
+
1265
+ def _check_mem(self, fun, times, retries, tolerance):
1266
+ messages = []
1267
+ prev_mem = 0
1268
+ increase = times
1269
+ for idx in range(1, retries + 1):
1270
+ mem = self._call_ntimes(fun, times)
1271
+ msg = "Run #%s: extra-mem=%s, per-call=%s, calls=%s" % (
1272
+ idx,
1273
+ bytes2human(mem),
1274
+ bytes2human(mem / times),
1275
+ times,
1276
+ )
1277
+ messages.append(msg)
1278
+ success = mem <= tolerance or mem <= prev_mem
1279
+ if success:
1280
+ if idx > 1:
1281
+ self._log(msg)
1282
+ return
1283
+ else:
1284
+ if idx == 1:
1285
+ print() # NOQA
1286
+ self._log(msg)
1287
+ times += increase
1288
+ prev_mem = mem
1289
+ raise self.fail(". ".join(messages))
1290
+
1291
+ # ---
1292
+
1293
+ def call(self, fun):
1294
+ return fun()
1295
+
1296
+ def execute(
1297
+ self, fun, times=None, warmup_times=None, retries=None, tolerance=None
1298
+ ):
1299
+ """Test a callable."""
1300
+ times = times if times is not None else self.times
1301
+ warmup_times = (
1302
+ warmup_times if warmup_times is not None else self.warmup_times
1303
+ )
1304
+ retries = retries if retries is not None else self.retries
1305
+ tolerance = tolerance if tolerance is not None else self.tolerance
1306
+ try:
1307
+ assert times >= 1, "times must be >= 1"
1308
+ assert warmup_times >= 0, "warmup_times must be >= 0"
1309
+ assert retries >= 0, "retries must be >= 0"
1310
+ assert tolerance >= 0, "tolerance must be >= 0"
1311
+ except AssertionError as err:
1312
+ raise ValueError(str(err))
1313
+
1314
+ self._call_ntimes(fun, warmup_times) # warm up
1315
+ self._check_fds(fun)
1316
+ self._check_mem(fun, times=times, retries=retries, tolerance=tolerance)
1317
+
1318
+ def execute_w_exc(self, exc, fun, **kwargs):
1319
+ """Convenience method to test a callable while making sure it
1320
+ raises an exception on every call.
1321
+ """
1322
+
1323
+ def call():
1324
+ self.assertRaises(exc, fun)
1325
+
1326
+ self.execute(call, **kwargs)
1327
+
1328
+
1329
+ def print_sysinfo():
1330
+ import collections
1331
+ import datetime
1332
+ import getpass
1333
+ import locale
1334
+ import pprint
1335
+
1336
+ try:
1337
+ import pip
1338
+ except ImportError:
1339
+ pip = None
1340
+ try:
1341
+ import wheel
1342
+ except ImportError:
1343
+ wheel = None
1344
+
1345
+ info = collections.OrderedDict()
1346
+
1347
+ # OS
1348
+ if psutil.LINUX and which('lsb_release'):
1349
+ info['OS'] = sh('lsb_release -d -s')
1350
+ elif psutil.OSX:
1351
+ info['OS'] = 'Darwin %s' % platform.mac_ver()[0]
1352
+ elif psutil.WINDOWS:
1353
+ info['OS'] = "Windows " + ' '.join(map(str, platform.win32_ver()))
1354
+ if hasattr(platform, 'win32_edition'):
1355
+ info['OS'] += ", " + platform.win32_edition()
1356
+ else:
1357
+ info['OS'] = "%s %s" % (platform.system(), platform.version())
1358
+ info['arch'] = ', '.join(
1359
+ list(platform.architecture()) + [platform.machine()]
1360
+ )
1361
+ if psutil.POSIX:
1362
+ info['kernel'] = platform.uname()[2]
1363
+
1364
+ # python
1365
+ info['python'] = ', '.join([
1366
+ platform.python_implementation(),
1367
+ platform.python_version(),
1368
+ platform.python_compiler(),
1369
+ ])
1370
+ info['pip'] = getattr(pip, '__version__', 'not installed')
1371
+ if wheel is not None:
1372
+ info['pip'] += " (wheel=%s)" % wheel.__version__
1373
+
1374
+ # UNIX
1375
+ if psutil.POSIX:
1376
+ if which('gcc'):
1377
+ out = sh(['gcc', '--version'])
1378
+ info['gcc'] = str(out).split('\n')[0]
1379
+ else:
1380
+ info['gcc'] = 'not installed'
1381
+ s = platform.libc_ver()[1]
1382
+ if s:
1383
+ info['glibc'] = s
1384
+
1385
+ # system
1386
+ info['fs-encoding'] = sys.getfilesystemencoding()
1387
+ lang = locale.getlocale()
1388
+ info['lang'] = '%s, %s' % (lang[0], lang[1])
1389
+ info['boot-time'] = datetime.datetime.fromtimestamp(
1390
+ psutil.boot_time()
1391
+ ).strftime("%Y-%m-%d %H:%M:%S")
1392
+ info['time'] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1393
+ info['user'] = getpass.getuser()
1394
+ info['home'] = os.path.expanduser("~")
1395
+ info['cwd'] = os.getcwd()
1396
+ info['pyexe'] = PYTHON_EXE
1397
+ info['hostname'] = platform.node()
1398
+ info['PID'] = os.getpid()
1399
+
1400
+ # metrics
1401
+ info['cpus'] = psutil.cpu_count()
1402
+ info['loadavg'] = "%.1f%%, %.1f%%, %.1f%%" % (
1403
+ tuple([x / psutil.cpu_count() * 100 for x in psutil.getloadavg()])
1404
+ )
1405
+ mem = psutil.virtual_memory()
1406
+ info['memory'] = "%s%%, used=%s, total=%s" % (
1407
+ int(mem.percent),
1408
+ bytes2human(mem.used),
1409
+ bytes2human(mem.total),
1410
+ )
1411
+ swap = psutil.swap_memory()
1412
+ info['swap'] = "%s%%, used=%s, total=%s" % (
1413
+ int(swap.percent),
1414
+ bytes2human(swap.used),
1415
+ bytes2human(swap.total),
1416
+ )
1417
+ info['pids'] = len(psutil.pids())
1418
+ pinfo = psutil.Process().as_dict()
1419
+ pinfo.pop('memory_maps', None)
1420
+ info['proc'] = pprint.pformat(pinfo)
1421
+
1422
+ print("=" * 70, file=sys.stderr) # NOQA
1423
+ for k, v in info.items():
1424
+ print("%-17s %s" % (k + ':', v), file=sys.stderr) # NOQA
1425
+ print("=" * 70, file=sys.stderr) # NOQA
1426
+ sys.stdout.flush()
1427
+
1428
+ # if WINDOWS:
1429
+ # os.system("tasklist")
1430
+ # elif which("ps"):
1431
+ # os.system("ps aux")
1432
+ # print("=" * 70, file=sys.stderr) # NOQA
1433
+
1434
+ sys.stdout.flush()
1435
+
1436
+
1437
+ def is_win_secure_system_proc(pid):
1438
+ # see: https://github.com/giampaolo/psutil/issues/2338
1439
+ @memoize
1440
+ def get_procs():
1441
+ ret = {}
1442
+ out = sh("tasklist.exe /NH /FO csv")
1443
+ for line in out.splitlines()[1:]:
1444
+ bits = [x.replace('"', "") for x in line.split(",")]
1445
+ name, pid = bits[0], int(bits[1])
1446
+ ret[pid] = name
1447
+ return ret
1448
+
1449
+ try:
1450
+ return get_procs()[pid] == "Secure System"
1451
+ except KeyError:
1452
+ return False
1453
+
1454
+
1455
+ def _get_eligible_cpu():
1456
+ p = psutil.Process()
1457
+ if hasattr(p, "cpu_num"):
1458
+ return p.cpu_num()
1459
+ elif hasattr(p, "cpu_affinity"):
1460
+ return random.choice(p.cpu_affinity())
1461
+ return 0
1462
+
1463
+
1464
+ class process_namespace:
1465
+ """A container that lists all Process class method names + some
1466
+ reasonable parameters to be called with. Utility methods (parent(),
1467
+ children(), ...) are excluded.
1468
+
1469
+ >>> ns = process_namespace(psutil.Process())
1470
+ >>> for fun, name in ns.iter(ns.getters):
1471
+ ... fun()
1472
+ """
1473
+
1474
+ utils = [('cpu_percent', (), {}), ('memory_percent', (), {})]
1475
+
1476
+ ignored = [
1477
+ ('as_dict', (), {}),
1478
+ ('children', (), {'recursive': True}),
1479
+ ('connections', (), {}), # deprecated
1480
+ ('is_running', (), {}),
1481
+ ('memory_info_ex', (), {}), # deprecated
1482
+ ('oneshot', (), {}),
1483
+ ('parent', (), {}),
1484
+ ('parents', (), {}),
1485
+ ('pid', (), {}),
1486
+ ('wait', (0,), {}),
1487
+ ]
1488
+
1489
+ getters = [
1490
+ ('cmdline', (), {}),
1491
+ ('cpu_times', (), {}),
1492
+ ('create_time', (), {}),
1493
+ ('cwd', (), {}),
1494
+ ('exe', (), {}),
1495
+ ('memory_full_info', (), {}),
1496
+ ('memory_info', (), {}),
1497
+ ('name', (), {}),
1498
+ ('net_connections', (), {'kind': 'all'}),
1499
+ ('nice', (), {}),
1500
+ ('num_ctx_switches', (), {}),
1501
+ ('num_threads', (), {}),
1502
+ ('open_files', (), {}),
1503
+ ('ppid', (), {}),
1504
+ ('status', (), {}),
1505
+ ('threads', (), {}),
1506
+ ('username', (), {}),
1507
+ ]
1508
+ if POSIX:
1509
+ getters += [('uids', (), {})]
1510
+ getters += [('gids', (), {})]
1511
+ getters += [('terminal', (), {})]
1512
+ getters += [('num_fds', (), {})]
1513
+ if HAS_PROC_IO_COUNTERS:
1514
+ getters += [('io_counters', (), {})]
1515
+ if HAS_IONICE:
1516
+ getters += [('ionice', (), {})]
1517
+ if HAS_RLIMIT:
1518
+ getters += [('rlimit', (psutil.RLIMIT_NOFILE,), {})]
1519
+ if HAS_CPU_AFFINITY:
1520
+ getters += [('cpu_affinity', (), {})]
1521
+ if HAS_PROC_CPU_NUM:
1522
+ getters += [('cpu_num', (), {})]
1523
+ if HAS_ENVIRON:
1524
+ getters += [('environ', (), {})]
1525
+ if WINDOWS:
1526
+ getters += [('num_handles', (), {})]
1527
+ if HAS_MEMORY_MAPS:
1528
+ getters += [('memory_maps', (), {'grouped': False})]
1529
+
1530
+ setters = []
1531
+ if POSIX:
1532
+ setters += [('nice', (0,), {})]
1533
+ else:
1534
+ setters += [('nice', (psutil.NORMAL_PRIORITY_CLASS,), {})]
1535
+ if HAS_RLIMIT:
1536
+ setters += [('rlimit', (psutil.RLIMIT_NOFILE, (1024, 4096)), {})]
1537
+ if HAS_IONICE:
1538
+ if LINUX:
1539
+ setters += [('ionice', (psutil.IOPRIO_CLASS_NONE, 0), {})]
1540
+ else:
1541
+ setters += [('ionice', (psutil.IOPRIO_NORMAL,), {})]
1542
+ if HAS_CPU_AFFINITY:
1543
+ setters += [('cpu_affinity', ([_get_eligible_cpu()],), {})]
1544
+
1545
+ killers = [
1546
+ ('send_signal', (signal.SIGTERM,), {}),
1547
+ ('suspend', (), {}),
1548
+ ('resume', (), {}),
1549
+ ('terminate', (), {}),
1550
+ ('kill', (), {}),
1551
+ ]
1552
+ if WINDOWS:
1553
+ killers += [('send_signal', (signal.CTRL_C_EVENT,), {})]
1554
+ killers += [('send_signal', (signal.CTRL_BREAK_EVENT,), {})]
1555
+
1556
+ all = utils + getters + setters + killers
1557
+
1558
+ def __init__(self, proc):
1559
+ self._proc = proc
1560
+
1561
+ def iter(self, ls, clear_cache=True):
1562
+ """Given a list of tuples yields a set of (fun, fun_name) tuples
1563
+ in random order.
1564
+ """
1565
+ ls = list(ls)
1566
+ random.shuffle(ls)
1567
+ for fun_name, args, kwds in ls:
1568
+ if clear_cache:
1569
+ self.clear_cache()
1570
+ fun = getattr(self._proc, fun_name)
1571
+ fun = functools.partial(fun, *args, **kwds)
1572
+ yield (fun, fun_name)
1573
+
1574
+ def clear_cache(self):
1575
+ """Clear the cache of a Process instance."""
1576
+ self._proc._init(self._proc.pid, _ignore_nsp=True)
1577
+
1578
+ @classmethod
1579
+ def test_class_coverage(cls, test_class, ls):
1580
+ """Given a TestCase instance and a list of tuples checks that
1581
+ the class defines the required test method names.
1582
+ """
1583
+ for fun_name, _, _ in ls:
1584
+ meth_name = 'test_' + fun_name
1585
+ if not hasattr(test_class, meth_name):
1586
+ msg = "%r class should define a '%s' method" % (
1587
+ test_class.__class__.__name__,
1588
+ meth_name,
1589
+ )
1590
+ raise AttributeError(msg)
1591
+
1592
+ @classmethod
1593
+ def test(cls):
1594
+ this = set([x[0] for x in cls.all])
1595
+ ignored = set([x[0] for x in cls.ignored])
1596
+ klass = set([x for x in dir(psutil.Process) if x[0] != '_'])
1597
+ leftout = (this | ignored) ^ klass
1598
+ if leftout:
1599
+ raise ValueError("uncovered Process class names: %r" % leftout)
1600
+
1601
+
1602
+ class system_namespace:
1603
+ """A container that lists all the module-level, system-related APIs.
1604
+ Utilities such as cpu_percent() are excluded. Usage:
1605
+
1606
+ >>> ns = system_namespace
1607
+ >>> for fun, name in ns.iter(ns.getters):
1608
+ ... fun()
1609
+ """
1610
+
1611
+ getters = [
1612
+ ('boot_time', (), {}),
1613
+ ('cpu_count', (), {'logical': False}),
1614
+ ('cpu_count', (), {'logical': True}),
1615
+ ('cpu_stats', (), {}),
1616
+ ('cpu_times', (), {'percpu': False}),
1617
+ ('cpu_times', (), {'percpu': True}),
1618
+ ('disk_io_counters', (), {'perdisk': True}),
1619
+ ('disk_partitions', (), {'all': True}),
1620
+ ('disk_usage', (os.getcwd(),), {}),
1621
+ ('net_connections', (), {'kind': 'all'}),
1622
+ ('net_if_addrs', (), {}),
1623
+ ('net_if_stats', (), {}),
1624
+ ('net_io_counters', (), {'pernic': True}),
1625
+ ('pid_exists', (os.getpid(),), {}),
1626
+ ('pids', (), {}),
1627
+ ('swap_memory', (), {}),
1628
+ ('users', (), {}),
1629
+ ('virtual_memory', (), {}),
1630
+ ]
1631
+ if HAS_CPU_FREQ:
1632
+ if MACOS and platform.machine() == 'arm64': # skipped due to #1892
1633
+ pass
1634
+ else:
1635
+ getters += [('cpu_freq', (), {'percpu': True})]
1636
+ if HAS_GETLOADAVG:
1637
+ getters += [('getloadavg', (), {})]
1638
+ if HAS_SENSORS_TEMPERATURES:
1639
+ getters += [('sensors_temperatures', (), {})]
1640
+ if HAS_SENSORS_FANS:
1641
+ getters += [('sensors_fans', (), {})]
1642
+ if HAS_SENSORS_BATTERY:
1643
+ getters += [('sensors_battery', (), {})]
1644
+ if WINDOWS:
1645
+ getters += [('win_service_iter', (), {})]
1646
+ getters += [('win_service_get', ('alg',), {})]
1647
+
1648
+ ignored = [
1649
+ ('process_iter', (), {}),
1650
+ ('wait_procs', ([psutil.Process()],), {}),
1651
+ ('cpu_percent', (), {}),
1652
+ ('cpu_times_percent', (), {}),
1653
+ ]
1654
+
1655
+ all = getters
1656
+
1657
+ @staticmethod
1658
+ def iter(ls):
1659
+ """Given a list of tuples yields a set of (fun, fun_name) tuples
1660
+ in random order.
1661
+ """
1662
+ ls = list(ls)
1663
+ random.shuffle(ls)
1664
+ for fun_name, args, kwds in ls:
1665
+ fun = getattr(psutil, fun_name)
1666
+ fun = functools.partial(fun, *args, **kwds)
1667
+ yield (fun, fun_name)
1668
+
1669
+ test_class_coverage = process_namespace.test_class_coverage
1670
+
1671
+
1672
+ def retry_on_failure(retries=NO_RETRIES):
1673
+ """Decorator which runs a test function and retries N times before
1674
+ actually failing.
1675
+ """
1676
+
1677
+ def logfun(exc):
1678
+ print("%r, retrying" % exc, file=sys.stderr) # NOQA
1679
+
1680
+ return retry(
1681
+ exception=AssertionError, timeout=None, retries=retries, logfun=logfun
1682
+ )
1683
+
1684
+
1685
+ def skip_on_access_denied(only_if=None):
1686
+ """Decorator to Ignore AccessDenied exceptions."""
1687
+
1688
+ def decorator(fun):
1689
+ @functools.wraps(fun)
1690
+ def wrapper(*args, **kwargs):
1691
+ try:
1692
+ return fun(*args, **kwargs)
1693
+ except psutil.AccessDenied:
1694
+ if only_if is not None:
1695
+ if not only_if:
1696
+ raise
1697
+ raise pytest.skip("raises AccessDenied")
1698
+
1699
+ return wrapper
1700
+
1701
+ return decorator
1702
+
1703
+
1704
+ def skip_on_not_implemented(only_if=None):
1705
+ """Decorator to Ignore NotImplementedError exceptions."""
1706
+
1707
+ def decorator(fun):
1708
+ @functools.wraps(fun)
1709
+ def wrapper(*args, **kwargs):
1710
+ try:
1711
+ return fun(*args, **kwargs)
1712
+ except NotImplementedError:
1713
+ if only_if is not None:
1714
+ if not only_if:
1715
+ raise
1716
+ msg = (
1717
+ "%r was skipped because it raised NotImplementedError"
1718
+ % fun.__name__
1719
+ )
1720
+ raise pytest.skip(msg)
1721
+
1722
+ return wrapper
1723
+
1724
+ return decorator
1725
+
1726
+
1727
+ # ===================================================================
1728
+ # --- network
1729
+ # ===================================================================
1730
+
1731
+
1732
+ # XXX: no longer used
1733
+ def get_free_port(host='127.0.0.1'):
1734
+ """Return an unused TCP port. Subject to race conditions."""
1735
+ with contextlib.closing(socket.socket()) as sock:
1736
+ sock.bind((host, 0))
1737
+ return sock.getsockname()[1]
1738
+
1739
+
1740
+ def bind_socket(family=AF_INET, type=SOCK_STREAM, addr=None):
1741
+ """Binds a generic socket."""
1742
+ if addr is None and family in (AF_INET, AF_INET6):
1743
+ addr = ("", 0)
1744
+ sock = socket.socket(family, type)
1745
+ try:
1746
+ if os.name not in ('nt', 'cygwin'):
1747
+ sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
1748
+ sock.bind(addr)
1749
+ if type == socket.SOCK_STREAM:
1750
+ sock.listen(5)
1751
+ return sock
1752
+ except Exception:
1753
+ sock.close()
1754
+ raise
1755
+
1756
+
1757
+ def bind_unix_socket(name, type=socket.SOCK_STREAM):
1758
+ """Bind a UNIX socket."""
1759
+ assert psutil.POSIX
1760
+ assert not os.path.exists(name), name
1761
+ sock = socket.socket(socket.AF_UNIX, type)
1762
+ try:
1763
+ sock.bind(name)
1764
+ if type == socket.SOCK_STREAM:
1765
+ sock.listen(5)
1766
+ except Exception:
1767
+ sock.close()
1768
+ raise
1769
+ return sock
1770
+
1771
+
1772
+ def tcp_socketpair(family, addr=("", 0)):
1773
+ """Build a pair of TCP sockets connected to each other.
1774
+ Return a (server, client) tuple.
1775
+ """
1776
+ with contextlib.closing(socket.socket(family, SOCK_STREAM)) as ll:
1777
+ ll.bind(addr)
1778
+ ll.listen(5)
1779
+ addr = ll.getsockname()
1780
+ c = socket.socket(family, SOCK_STREAM)
1781
+ try:
1782
+ c.connect(addr)
1783
+ caddr = c.getsockname()
1784
+ while True:
1785
+ a, addr = ll.accept()
1786
+ # check that we've got the correct client
1787
+ if addr == caddr:
1788
+ return (a, c)
1789
+ a.close()
1790
+ except OSError:
1791
+ c.close()
1792
+ raise
1793
+
1794
+
1795
+ def unix_socketpair(name):
1796
+ """Build a pair of UNIX sockets connected to each other through
1797
+ the same UNIX file name.
1798
+ Return a (server, client) tuple.
1799
+ """
1800
+ assert psutil.POSIX
1801
+ server = client = None
1802
+ try:
1803
+ server = bind_unix_socket(name, type=socket.SOCK_STREAM)
1804
+ server.setblocking(0)
1805
+ client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
1806
+ client.setblocking(0)
1807
+ client.connect(name)
1808
+ # new = server.accept()
1809
+ except Exception:
1810
+ if server is not None:
1811
+ server.close()
1812
+ if client is not None:
1813
+ client.close()
1814
+ raise
1815
+ return (server, client)
1816
+
1817
+
1818
+ @contextlib.contextmanager
1819
+ def create_sockets():
1820
+ """Open as many socket families / types as possible."""
1821
+ socks = []
1822
+ fname1 = fname2 = None
1823
+ try:
1824
+ socks.append(bind_socket(socket.AF_INET, socket.SOCK_STREAM))
1825
+ socks.append(bind_socket(socket.AF_INET, socket.SOCK_DGRAM))
1826
+ if supports_ipv6():
1827
+ socks.append(bind_socket(socket.AF_INET6, socket.SOCK_STREAM))
1828
+ socks.append(bind_socket(socket.AF_INET6, socket.SOCK_DGRAM))
1829
+ if POSIX and HAS_NET_CONNECTIONS_UNIX:
1830
+ fname1 = get_testfn()
1831
+ fname2 = get_testfn()
1832
+ s1, s2 = unix_socketpair(fname1)
1833
+ s3 = bind_unix_socket(fname2, type=socket.SOCK_DGRAM)
1834
+ for s in (s1, s2, s3):
1835
+ socks.append(s)
1836
+ yield socks
1837
+ finally:
1838
+ for s in socks:
1839
+ s.close()
1840
+ for fname in (fname1, fname2):
1841
+ if fname is not None:
1842
+ safe_rmpath(fname)
1843
+
1844
+
1845
+ def check_net_address(addr, family):
1846
+ """Check a net address validity. Supported families are IPv4,
1847
+ IPv6 and MAC addresses.
1848
+ """
1849
+ import ipaddress # python >= 3.3 / requires "pip install ipaddress"
1850
+
1851
+ if enum and PY3 and not PYPY:
1852
+ assert isinstance(family, enum.IntEnum), family
1853
+ if family == socket.AF_INET:
1854
+ octs = [int(x) for x in addr.split('.')]
1855
+ assert len(octs) == 4, addr
1856
+ for num in octs:
1857
+ assert 0 <= num <= 255, addr
1858
+ if not PY3:
1859
+ addr = unicode(addr)
1860
+ ipaddress.IPv4Address(addr)
1861
+ elif family == socket.AF_INET6:
1862
+ assert isinstance(addr, str), addr
1863
+ if not PY3:
1864
+ addr = unicode(addr)
1865
+ ipaddress.IPv6Address(addr)
1866
+ elif family == psutil.AF_LINK:
1867
+ assert re.match(r'([a-fA-F0-9]{2}[:|\-]?){6}', addr) is not None, addr
1868
+ else:
1869
+ raise ValueError("unknown family %r" % family)
1870
+
1871
+
1872
+ def check_connection_ntuple(conn):
1873
+ """Check validity of a connection namedtuple."""
1874
+
1875
+ def check_ntuple(conn):
1876
+ has_pid = len(conn) == 7
1877
+ assert len(conn) in (6, 7), len(conn)
1878
+ assert conn[0] == conn.fd, conn.fd
1879
+ assert conn[1] == conn.family, conn.family
1880
+ assert conn[2] == conn.type, conn.type
1881
+ assert conn[3] == conn.laddr, conn.laddr
1882
+ assert conn[4] == conn.raddr, conn.raddr
1883
+ assert conn[5] == conn.status, conn.status
1884
+ if has_pid:
1885
+ assert conn[6] == conn.pid, conn.pid
1886
+
1887
+ def check_family(conn):
1888
+ assert conn.family in (AF_INET, AF_INET6, AF_UNIX), conn.family
1889
+ if enum is not None:
1890
+ assert isinstance(conn.family, enum.IntEnum), conn
1891
+ else:
1892
+ assert isinstance(conn.family, int), conn
1893
+ if conn.family == AF_INET:
1894
+ # actually try to bind the local socket; ignore IPv6
1895
+ # sockets as their address might be represented as
1896
+ # an IPv4-mapped-address (e.g. "::127.0.0.1")
1897
+ # and that's rejected by bind()
1898
+ s = socket.socket(conn.family, conn.type)
1899
+ with contextlib.closing(s):
1900
+ try:
1901
+ s.bind((conn.laddr[0], 0))
1902
+ except socket.error as err:
1903
+ if err.errno != errno.EADDRNOTAVAIL:
1904
+ raise
1905
+ elif conn.family == AF_UNIX:
1906
+ assert conn.status == psutil.CONN_NONE, conn.status
1907
+
1908
+ def check_type(conn):
1909
+ # SOCK_SEQPACKET may happen in case of AF_UNIX socks
1910
+ SOCK_SEQPACKET = getattr(socket, "SOCK_SEQPACKET", object())
1911
+ assert conn.type in (
1912
+ socket.SOCK_STREAM,
1913
+ socket.SOCK_DGRAM,
1914
+ SOCK_SEQPACKET,
1915
+ ), conn.type
1916
+ if enum is not None:
1917
+ assert isinstance(conn.type, enum.IntEnum), conn
1918
+ else:
1919
+ assert isinstance(conn.type, int), conn
1920
+ if conn.type == socket.SOCK_DGRAM:
1921
+ assert conn.status == psutil.CONN_NONE, conn.status
1922
+
1923
+ def check_addrs(conn):
1924
+ # check IP address and port sanity
1925
+ for addr in (conn.laddr, conn.raddr):
1926
+ if conn.family in (AF_INET, AF_INET6):
1927
+ assert isinstance(addr, tuple), type(addr)
1928
+ if not addr:
1929
+ continue
1930
+ assert isinstance(addr.port, int), type(addr.port)
1931
+ assert 0 <= addr.port <= 65535, addr.port
1932
+ check_net_address(addr.ip, conn.family)
1933
+ elif conn.family == AF_UNIX:
1934
+ assert isinstance(addr, str), type(addr)
1935
+
1936
+ def check_status(conn):
1937
+ assert isinstance(conn.status, str), conn.status
1938
+ valids = [
1939
+ getattr(psutil, x) for x in dir(psutil) if x.startswith('CONN_')
1940
+ ]
1941
+ assert conn.status in valids, conn.status
1942
+ if conn.family in (AF_INET, AF_INET6) and conn.type == SOCK_STREAM:
1943
+ assert conn.status != psutil.CONN_NONE, conn.status
1944
+ else:
1945
+ assert conn.status == psutil.CONN_NONE, conn.status
1946
+
1947
+ check_ntuple(conn)
1948
+ check_family(conn)
1949
+ check_type(conn)
1950
+ check_addrs(conn)
1951
+ check_status(conn)
1952
+
1953
+
1954
+ def filter_proc_net_connections(cons):
1955
+ """Our process may start with some open UNIX sockets which are not
1956
+ initialized by us, invalidating unit tests.
1957
+ """
1958
+ new = []
1959
+ for conn in cons:
1960
+ if POSIX and conn.family == socket.AF_UNIX:
1961
+ if MACOS and "/syslog" in conn.raddr:
1962
+ debug("skipping %s" % str(conn))
1963
+ continue
1964
+ new.append(conn)
1965
+ return new
1966
+
1967
+
1968
+ # ===================================================================
1969
+ # --- compatibility
1970
+ # ===================================================================
1971
+
1972
+
1973
+ def reload_module(module):
1974
+ """Backport of importlib.reload of Python 3.3+."""
1975
+ try:
1976
+ import importlib
1977
+
1978
+ if not hasattr(importlib, 'reload'): # python <=3.3
1979
+ raise ImportError
1980
+ except ImportError:
1981
+ import imp
1982
+
1983
+ return imp.reload(module)
1984
+ else:
1985
+ return importlib.reload(module)
1986
+
1987
+
1988
+ def import_module_by_path(path):
1989
+ name = os.path.splitext(os.path.basename(path))[0]
1990
+ if sys.version_info[0] < 3:
1991
+ import imp
1992
+
1993
+ return imp.load_source(name, path)
1994
+ else:
1995
+ import importlib.util
1996
+
1997
+ spec = importlib.util.spec_from_file_location(name, path)
1998
+ mod = importlib.util.module_from_spec(spec)
1999
+ spec.loader.exec_module(mod)
2000
+ return mod
2001
+
2002
+
2003
+ # ===================================================================
2004
+ # --- others
2005
+ # ===================================================================
2006
+
2007
+
2008
+ def warn(msg):
2009
+ """Raise a warning msg."""
2010
+ warnings.warn(msg, UserWarning, stacklevel=2)
2011
+
2012
+
2013
+ def is_namedtuple(x):
2014
+ """Check if object is an instance of namedtuple."""
2015
+ t = type(x)
2016
+ b = t.__bases__
2017
+ if len(b) != 1 or b[0] is not tuple:
2018
+ return False
2019
+ f = getattr(t, '_fields', None)
2020
+ if not isinstance(f, tuple):
2021
+ return False
2022
+ return all(isinstance(n, str) for n in f)
2023
+
2024
+
2025
+ if POSIX:
2026
+
2027
+ @contextlib.contextmanager
2028
+ def copyload_shared_lib(suffix=""):
2029
+ """Ctx manager which picks up a random shared CO lib used
2030
+ by this process, copies it in another location and loads it
2031
+ in memory via ctypes. Return the new absolutized path.
2032
+ """
2033
+ exe = 'pypy' if PYPY else 'python'
2034
+ ext = ".so"
2035
+ dst = get_testfn(suffix=suffix + ext)
2036
+ libs = [
2037
+ x.path
2038
+ for x in psutil.Process().memory_maps()
2039
+ if os.path.splitext(x.path)[1] == ext and exe in x.path.lower()
2040
+ ]
2041
+ src = random.choice(libs)
2042
+ shutil.copyfile(src, dst)
2043
+ try:
2044
+ ctypes.CDLL(dst)
2045
+ yield dst
2046
+ finally:
2047
+ safe_rmpath(dst)
2048
+
2049
+ else:
2050
+
2051
+ @contextlib.contextmanager
2052
+ def copyload_shared_lib(suffix=""):
2053
+ """Ctx manager which picks up a random shared DLL lib used
2054
+ by this process, copies it in another location and loads it
2055
+ in memory via ctypes.
2056
+ Return the new absolutized, normcased path.
2057
+ """
2058
+ from ctypes import WinError
2059
+ from ctypes import wintypes
2060
+
2061
+ ext = ".dll"
2062
+ dst = get_testfn(suffix=suffix + ext)
2063
+ libs = [
2064
+ x.path
2065
+ for x in psutil.Process().memory_maps()
2066
+ if x.path.lower().endswith(ext)
2067
+ and 'python' in os.path.basename(x.path).lower()
2068
+ and 'wow64' not in x.path.lower()
2069
+ ]
2070
+ if PYPY and not libs:
2071
+ libs = [
2072
+ x.path
2073
+ for x in psutil.Process().memory_maps()
2074
+ if 'pypy' in os.path.basename(x.path).lower()
2075
+ ]
2076
+ src = random.choice(libs)
2077
+ shutil.copyfile(src, dst)
2078
+ cfile = None
2079
+ try:
2080
+ cfile = ctypes.WinDLL(dst)
2081
+ yield dst
2082
+ finally:
2083
+ # Work around OverflowError:
2084
+ # - https://ci.appveyor.com/project/giampaolo/psutil/build/1207/
2085
+ # job/o53330pbnri9bcw7
2086
+ # - http://bugs.python.org/issue30286
2087
+ # - http://stackoverflow.com/questions/23522055
2088
+ if cfile is not None:
2089
+ FreeLibrary = ctypes.windll.kernel32.FreeLibrary
2090
+ FreeLibrary.argtypes = [wintypes.HMODULE]
2091
+ ret = FreeLibrary(cfile._handle)
2092
+ if ret == 0:
2093
+ WinError()
2094
+ safe_rmpath(dst)
2095
+
2096
+
2097
+ # ===================================================================
2098
+ # --- Exit funs (first is executed last)
2099
+ # ===================================================================
2100
+
2101
+
2102
+ # this is executed first
2103
+ @atexit.register
2104
+ def cleanup_test_procs():
2105
+ reap_children(recursive=True)
2106
+
2107
+
2108
+ # atexit module does not execute exit functions in case of SIGTERM, which
2109
+ # gets sent to test subprocesses, which is a problem if they import this
2110
+ # module. With this it will. See:
2111
+ # https://gmpy.dev/blog/2016/how-to-always-execute-exit-functions-in-python
2112
+ if POSIX:
2113
+ signal.signal(signal.SIGTERM, lambda sig, _: sys.exit(sig))