@agent-webui/ai-desk-python-win32-x64 1.0.29-beta1

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 (3340) hide show
  1. package/README.md +3 -0
  2. package/package.json +20 -0
  3. package/python/DLLs/_asyncio.pdb +0 -0
  4. package/python/DLLs/_asyncio.pyd +0 -0
  5. package/python/DLLs/_bz2.pdb +0 -0
  6. package/python/DLLs/_bz2.pyd +0 -0
  7. package/python/DLLs/_ctypes.pdb +0 -0
  8. package/python/DLLs/_ctypes.pyd +0 -0
  9. package/python/DLLs/_ctypes_test.pdb +0 -0
  10. package/python/DLLs/_ctypes_test.pyd +0 -0
  11. package/python/DLLs/_decimal.pdb +0 -0
  12. package/python/DLLs/_decimal.pyd +0 -0
  13. package/python/DLLs/_elementtree.pdb +0 -0
  14. package/python/DLLs/_elementtree.pyd +0 -0
  15. package/python/DLLs/_hashlib.pdb +0 -0
  16. package/python/DLLs/_hashlib.pyd +0 -0
  17. package/python/DLLs/_lzma.pdb +0 -0
  18. package/python/DLLs/_lzma.pyd +0 -0
  19. package/python/DLLs/_multiprocessing.pdb +0 -0
  20. package/python/DLLs/_multiprocessing.pyd +0 -0
  21. package/python/DLLs/_overlapped.pdb +0 -0
  22. package/python/DLLs/_overlapped.pyd +0 -0
  23. package/python/DLLs/_queue.pdb +0 -0
  24. package/python/DLLs/_queue.pyd +0 -0
  25. package/python/DLLs/_socket.pdb +0 -0
  26. package/python/DLLs/_socket.pyd +0 -0
  27. package/python/DLLs/_sqlite3.pdb +0 -0
  28. package/python/DLLs/_sqlite3.pyd +0 -0
  29. package/python/DLLs/_ssl.pdb +0 -0
  30. package/python/DLLs/_ssl.pyd +0 -0
  31. package/python/DLLs/_testbuffer.pdb +0 -0
  32. package/python/DLLs/_testbuffer.pyd +0 -0
  33. package/python/DLLs/_testcapi.pdb +0 -0
  34. package/python/DLLs/_testcapi.pyd +0 -0
  35. package/python/DLLs/_testclinic.pdb +0 -0
  36. package/python/DLLs/_testclinic.pyd +0 -0
  37. package/python/DLLs/_testclinic_limited.pdb +0 -0
  38. package/python/DLLs/_testclinic_limited.pyd +0 -0
  39. package/python/DLLs/_testconsole.pdb +0 -0
  40. package/python/DLLs/_testconsole.pyd +0 -0
  41. package/python/DLLs/_testimportmultiple.pdb +0 -0
  42. package/python/DLLs/_testimportmultiple.pyd +0 -0
  43. package/python/DLLs/_testinternalcapi.pdb +0 -0
  44. package/python/DLLs/_testinternalcapi.pyd +0 -0
  45. package/python/DLLs/_testlimitedcapi.pdb +0 -0
  46. package/python/DLLs/_testlimitedcapi.pyd +0 -0
  47. package/python/DLLs/_testmultiphase.pdb +0 -0
  48. package/python/DLLs/_testmultiphase.pyd +0 -0
  49. package/python/DLLs/_testsinglephase.pdb +0 -0
  50. package/python/DLLs/_testsinglephase.pyd +0 -0
  51. package/python/DLLs/_tkinter.pdb +0 -0
  52. package/python/DLLs/_tkinter.pyd +0 -0
  53. package/python/DLLs/_uuid.pdb +0 -0
  54. package/python/DLLs/_uuid.pyd +0 -0
  55. package/python/DLLs/_wmi.pdb +0 -0
  56. package/python/DLLs/_wmi.pyd +0 -0
  57. package/python/DLLs/_zoneinfo.pdb +0 -0
  58. package/python/DLLs/_zoneinfo.pyd +0 -0
  59. package/python/DLLs/libcrypto-3-x64.dll +0 -0
  60. package/python/DLLs/libcrypto-3-x64.pdb +0 -0
  61. package/python/DLLs/libffi-8.dll +0 -0
  62. package/python/DLLs/libssl-3-x64.dll +0 -0
  63. package/python/DLLs/libssl-3-x64.pdb +0 -0
  64. package/python/DLLs/pyexpat.pdb +0 -0
  65. package/python/DLLs/pyexpat.pyd +0 -0
  66. package/python/DLLs/select.pdb +0 -0
  67. package/python/DLLs/select.pyd +0 -0
  68. package/python/DLLs/sqlite3.dll +0 -0
  69. package/python/DLLs/sqlite3.pdb +0 -0
  70. package/python/DLLs/tcl86t.dll +0 -0
  71. package/python/DLLs/tk86t.dll +0 -0
  72. package/python/DLLs/unicodedata.pdb +0 -0
  73. package/python/DLLs/unicodedata.pyd +0 -0
  74. package/python/DLLs/winsound.pdb +0 -0
  75. package/python/DLLs/winsound.pyd +0 -0
  76. package/python/LICENSE.txt +445 -0
  77. package/python/Lib/__future__.py +147 -0
  78. package/python/Lib/__hello__.py +16 -0
  79. package/python/Lib/__phello__/__init__.py +7 -0
  80. package/python/Lib/__phello__/ham/__init__.py +0 -0
  81. package/python/Lib/__phello__/ham/eggs.py +0 -0
  82. package/python/Lib/__phello__/spam.py +7 -0
  83. package/python/Lib/__pycache__/__future__.cpython-313.pyc +0 -0
  84. package/python/Lib/__pycache__/_colorize.cpython-313.pyc +0 -0
  85. package/python/Lib/__pycache__/_compat_pickle.cpython-313.pyc +0 -0
  86. package/python/Lib/__pycache__/_compression.cpython-313.pyc +0 -0
  87. package/python/Lib/__pycache__/_markupbase.cpython-313.pyc +0 -0
  88. package/python/Lib/__pycache__/_opcode_metadata.cpython-313.pyc +0 -0
  89. package/python/Lib/__pycache__/_weakrefset.cpython-313.pyc +0 -0
  90. package/python/Lib/__pycache__/ast.cpython-313.pyc +0 -0
  91. package/python/Lib/__pycache__/base64.cpython-313.pyc +0 -0
  92. package/python/Lib/__pycache__/bisect.cpython-313.pyc +0 -0
  93. package/python/Lib/__pycache__/bz2.cpython-313.pyc +0 -0
  94. package/python/Lib/__pycache__/calendar.cpython-313.pyc +0 -0
  95. package/python/Lib/__pycache__/colorsys.cpython-313.pyc +0 -0
  96. package/python/Lib/__pycache__/compileall.cpython-313.pyc +0 -0
  97. package/python/Lib/__pycache__/configparser.cpython-313.pyc +0 -0
  98. package/python/Lib/__pycache__/contextlib.cpython-313.pyc +0 -0
  99. package/python/Lib/__pycache__/copy.cpython-313.pyc +0 -0
  100. package/python/Lib/__pycache__/copyreg.cpython-313.pyc +0 -0
  101. package/python/Lib/__pycache__/csv.cpython-313.pyc +0 -0
  102. package/python/Lib/__pycache__/dataclasses.cpython-313.pyc +0 -0
  103. package/python/Lib/__pycache__/datetime.cpython-313.pyc +0 -0
  104. package/python/Lib/__pycache__/decimal.cpython-313.pyc +0 -0
  105. package/python/Lib/__pycache__/dis.cpython-313.pyc +0 -0
  106. package/python/Lib/__pycache__/enum.cpython-313.pyc +0 -0
  107. package/python/Lib/__pycache__/filecmp.cpython-313.pyc +0 -0
  108. package/python/Lib/__pycache__/fnmatch.cpython-313.pyc +0 -0
  109. package/python/Lib/__pycache__/fractions.cpython-313.pyc +0 -0
  110. package/python/Lib/__pycache__/functools.cpython-313.pyc +0 -0
  111. package/python/Lib/__pycache__/getpass.cpython-313.pyc +0 -0
  112. package/python/Lib/__pycache__/gettext.cpython-313.pyc +0 -0
  113. package/python/Lib/__pycache__/glob.cpython-313.pyc +0 -0
  114. package/python/Lib/__pycache__/gzip.cpython-313.pyc +0 -0
  115. package/python/Lib/__pycache__/hashlib.cpython-313.pyc +0 -0
  116. package/python/Lib/__pycache__/heapq.cpython-313.pyc +0 -0
  117. package/python/Lib/__pycache__/hmac.cpython-313.pyc +0 -0
  118. package/python/Lib/__pycache__/inspect.cpython-313.pyc +0 -0
  119. package/python/Lib/__pycache__/ipaddress.cpython-313.pyc +0 -0
  120. package/python/Lib/__pycache__/keyword.cpython-313.pyc +0 -0
  121. package/python/Lib/__pycache__/linecache.cpython-313.pyc +0 -0
  122. package/python/Lib/__pycache__/locale.cpython-313.pyc +0 -0
  123. package/python/Lib/__pycache__/lzma.cpython-313.pyc +0 -0
  124. package/python/Lib/__pycache__/mimetypes.cpython-313.pyc +0 -0
  125. package/python/Lib/__pycache__/nturl2path.cpython-313.pyc +0 -0
  126. package/python/Lib/__pycache__/numbers.cpython-313.pyc +0 -0
  127. package/python/Lib/__pycache__/opcode.cpython-313.pyc +0 -0
  128. package/python/Lib/__pycache__/operator.cpython-313.pyc +0 -0
  129. package/python/Lib/__pycache__/optparse.cpython-313.pyc +0 -0
  130. package/python/Lib/__pycache__/pickle.cpython-313.pyc +0 -0
  131. package/python/Lib/__pycache__/pkgutil.cpython-313.pyc +0 -0
  132. package/python/Lib/__pycache__/platform.cpython-313.pyc +0 -0
  133. package/python/Lib/__pycache__/py_compile.cpython-313.pyc +0 -0
  134. package/python/Lib/__pycache__/queue.cpython-313.pyc +0 -0
  135. package/python/Lib/__pycache__/quopri.cpython-313.pyc +0 -0
  136. package/python/Lib/__pycache__/random.cpython-313.pyc +0 -0
  137. package/python/Lib/__pycache__/reprlib.cpython-313.pyc +0 -0
  138. package/python/Lib/__pycache__/selectors.cpython-313.pyc +0 -0
  139. package/python/Lib/__pycache__/shlex.cpython-313.pyc +0 -0
  140. package/python/Lib/__pycache__/shutil.cpython-313.pyc +0 -0
  141. package/python/Lib/__pycache__/signal.cpython-313.pyc +0 -0
  142. package/python/Lib/__pycache__/socket.cpython-313.pyc +0 -0
  143. package/python/Lib/__pycache__/socketserver.cpython-313.pyc +0 -0
  144. package/python/Lib/__pycache__/ssl.cpython-313.pyc +0 -0
  145. package/python/Lib/__pycache__/string.cpython-313.pyc +0 -0
  146. package/python/Lib/__pycache__/stringprep.cpython-313.pyc +0 -0
  147. package/python/Lib/__pycache__/struct.cpython-313.pyc +0 -0
  148. package/python/Lib/__pycache__/subprocess.cpython-313.pyc +0 -0
  149. package/python/Lib/__pycache__/tarfile.cpython-313.pyc +0 -0
  150. package/python/Lib/__pycache__/tempfile.cpython-313.pyc +0 -0
  151. package/python/Lib/__pycache__/textwrap.cpython-313.pyc +0 -0
  152. package/python/Lib/__pycache__/threading.cpython-313.pyc +0 -0
  153. package/python/Lib/__pycache__/token.cpython-313.pyc +0 -0
  154. package/python/Lib/__pycache__/tokenize.cpython-313.pyc +0 -0
  155. package/python/Lib/__pycache__/traceback.cpython-313.pyc +0 -0
  156. package/python/Lib/__pycache__/types.cpython-313.pyc +0 -0
  157. package/python/Lib/__pycache__/typing.cpython-313.pyc +0 -0
  158. package/python/Lib/__pycache__/uuid.cpython-313.pyc +0 -0
  159. package/python/Lib/__pycache__/warnings.cpython-313.pyc +0 -0
  160. package/python/Lib/__pycache__/weakref.cpython-313.pyc +0 -0
  161. package/python/Lib/_aix_support.py +108 -0
  162. package/python/Lib/_android_support.py +192 -0
  163. package/python/Lib/_apple_support.py +66 -0
  164. package/python/Lib/_collections_abc.py +1182 -0
  165. package/python/Lib/_colorize.py +119 -0
  166. package/python/Lib/_compat_pickle.py +251 -0
  167. package/python/Lib/_compression.py +162 -0
  168. package/python/Lib/_ios_support.py +71 -0
  169. package/python/Lib/_markupbase.py +396 -0
  170. package/python/Lib/_opcode_metadata.py +343 -0
  171. package/python/Lib/_osx_support.py +579 -0
  172. package/python/Lib/_py_abc.py +147 -0
  173. package/python/Lib/_pydatetime.py +2639 -0
  174. package/python/Lib/_pydecimal.py +6351 -0
  175. package/python/Lib/_pyio.py +2704 -0
  176. package/python/Lib/_pylong.py +363 -0
  177. package/python/Lib/_pyrepl/__init__.py +19 -0
  178. package/python/Lib/_pyrepl/__main__.py +10 -0
  179. package/python/Lib/_pyrepl/_minimal_curses.py +68 -0
  180. package/python/Lib/_pyrepl/_threading_handler.py +74 -0
  181. package/python/Lib/_pyrepl/base_eventqueue.py +110 -0
  182. package/python/Lib/_pyrepl/commands.py +492 -0
  183. package/python/Lib/_pyrepl/completing_reader.py +295 -0
  184. package/python/Lib/_pyrepl/console.py +229 -0
  185. package/python/Lib/_pyrepl/curses.py +33 -0
  186. package/python/Lib/_pyrepl/fancy_termios.py +82 -0
  187. package/python/Lib/_pyrepl/historical_reader.py +419 -0
  188. package/python/Lib/_pyrepl/input.py +114 -0
  189. package/python/Lib/_pyrepl/keymap.py +213 -0
  190. package/python/Lib/_pyrepl/main.py +59 -0
  191. package/python/Lib/_pyrepl/mypy.ini +29 -0
  192. package/python/Lib/_pyrepl/pager.py +175 -0
  193. package/python/Lib/_pyrepl/reader.py +764 -0
  194. package/python/Lib/_pyrepl/readline.py +599 -0
  195. package/python/Lib/_pyrepl/simple_interact.py +180 -0
  196. package/python/Lib/_pyrepl/trace.py +21 -0
  197. package/python/Lib/_pyrepl/types.py +10 -0
  198. package/python/Lib/_pyrepl/unix_console.py +852 -0
  199. package/python/Lib/_pyrepl/unix_eventqueue.py +76 -0
  200. package/python/Lib/_pyrepl/utils.py +83 -0
  201. package/python/Lib/_pyrepl/windows_console.py +692 -0
  202. package/python/Lib/_pyrepl/windows_eventqueue.py +42 -0
  203. package/python/Lib/_sitebuiltins.py +91 -0
  204. package/python/Lib/_strptime.py +800 -0
  205. package/python/Lib/_threading_local.py +120 -0
  206. package/python/Lib/_weakrefset.py +205 -0
  207. package/python/Lib/abc.py +188 -0
  208. package/python/Lib/antigravity.py +17 -0
  209. package/python/Lib/argparse.py +2690 -0
  210. package/python/Lib/ast.py +1865 -0
  211. package/python/Lib/asyncio/__init__.py +47 -0
  212. package/python/Lib/asyncio/__main__.py +207 -0
  213. package/python/Lib/asyncio/base_events.py +2075 -0
  214. package/python/Lib/asyncio/base_futures.py +67 -0
  215. package/python/Lib/asyncio/base_subprocess.py +319 -0
  216. package/python/Lib/asyncio/base_tasks.py +94 -0
  217. package/python/Lib/asyncio/constants.py +41 -0
  218. package/python/Lib/asyncio/coroutines.py +109 -0
  219. package/python/Lib/asyncio/events.py +882 -0
  220. package/python/Lib/asyncio/exceptions.py +62 -0
  221. package/python/Lib/asyncio/format_helpers.py +84 -0
  222. package/python/Lib/asyncio/futures.py +425 -0
  223. package/python/Lib/asyncio/locks.py +617 -0
  224. package/python/Lib/asyncio/log.py +7 -0
  225. package/python/Lib/asyncio/mixins.py +21 -0
  226. package/python/Lib/asyncio/proactor_events.py +896 -0
  227. package/python/Lib/asyncio/protocols.py +216 -0
  228. package/python/Lib/asyncio/queues.py +307 -0
  229. package/python/Lib/asyncio/runners.py +216 -0
  230. package/python/Lib/asyncio/selector_events.py +1326 -0
  231. package/python/Lib/asyncio/sslproto.py +929 -0
  232. package/python/Lib/asyncio/staggered.py +174 -0
  233. package/python/Lib/asyncio/streams.py +787 -0
  234. package/python/Lib/asyncio/subprocess.py +229 -0
  235. package/python/Lib/asyncio/taskgroups.py +278 -0
  236. package/python/Lib/asyncio/tasks.py +1118 -0
  237. package/python/Lib/asyncio/threads.py +25 -0
  238. package/python/Lib/asyncio/timeouts.py +184 -0
  239. package/python/Lib/asyncio/transports.py +337 -0
  240. package/python/Lib/asyncio/trsock.py +98 -0
  241. package/python/Lib/asyncio/unix_events.py +1536 -0
  242. package/python/Lib/asyncio/windows_events.py +903 -0
  243. package/python/Lib/asyncio/windows_utils.py +173 -0
  244. package/python/Lib/base64.py +621 -0
  245. package/python/Lib/bdb.py +973 -0
  246. package/python/Lib/bisect.py +118 -0
  247. package/python/Lib/bz2.py +352 -0
  248. package/python/Lib/cProfile.py +197 -0
  249. package/python/Lib/calendar.py +813 -0
  250. package/python/Lib/cmd.py +409 -0
  251. package/python/Lib/code.py +386 -0
  252. package/python/Lib/codecs.py +1132 -0
  253. package/python/Lib/codeop.py +155 -0
  254. package/python/Lib/collections/__init__.py +1600 -0
  255. package/python/Lib/collections/__pycache__/__init__.cpython-313.pyc +0 -0
  256. package/python/Lib/colorsys.py +166 -0
  257. package/python/Lib/compileall.py +470 -0
  258. package/python/Lib/concurrent/__init__.py +1 -0
  259. package/python/Lib/concurrent/futures/__init__.py +54 -0
  260. package/python/Lib/concurrent/futures/_base.py +654 -0
  261. package/python/Lib/concurrent/futures/process.py +862 -0
  262. package/python/Lib/concurrent/futures/thread.py +240 -0
  263. package/python/Lib/configparser.py +1387 -0
  264. package/python/Lib/contextlib.py +814 -0
  265. package/python/Lib/contextvars.py +4 -0
  266. package/python/Lib/copy.py +306 -0
  267. package/python/Lib/copyreg.py +217 -0
  268. package/python/Lib/csv.py +513 -0
  269. package/python/Lib/ctypes/__init__.py +600 -0
  270. package/python/Lib/ctypes/__pycache__/__init__.cpython-313.pyc +0 -0
  271. package/python/Lib/ctypes/__pycache__/_endian.cpython-313.pyc +0 -0
  272. package/python/Lib/ctypes/__pycache__/wintypes.cpython-313.pyc +0 -0
  273. package/python/Lib/ctypes/_aix.py +327 -0
  274. package/python/Lib/ctypes/_endian.py +78 -0
  275. package/python/Lib/ctypes/macholib/README.ctypes +7 -0
  276. package/python/Lib/ctypes/macholib/__init__.py +9 -0
  277. package/python/Lib/ctypes/macholib/dyld.py +165 -0
  278. package/python/Lib/ctypes/macholib/dylib.py +42 -0
  279. package/python/Lib/ctypes/macholib/fetch_macholib +2 -0
  280. package/python/Lib/ctypes/macholib/fetch_macholib.bat +1 -0
  281. package/python/Lib/ctypes/macholib/framework.py +42 -0
  282. package/python/Lib/ctypes/util.py +388 -0
  283. package/python/Lib/ctypes/wintypes.py +202 -0
  284. package/python/Lib/curses/__init__.py +101 -0
  285. package/python/Lib/curses/ascii.py +99 -0
  286. package/python/Lib/curses/has_key.py +192 -0
  287. package/python/Lib/curses/panel.py +6 -0
  288. package/python/Lib/curses/textpad.py +204 -0
  289. package/python/Lib/dataclasses.py +1630 -0
  290. package/python/Lib/datetime.py +9 -0
  291. package/python/Lib/dbm/__init__.py +194 -0
  292. package/python/Lib/dbm/dumb.py +319 -0
  293. package/python/Lib/dbm/gnu.py +3 -0
  294. package/python/Lib/dbm/ndbm.py +3 -0
  295. package/python/Lib/dbm/sqlite3.py +144 -0
  296. package/python/Lib/decimal.py +109 -0
  297. package/python/Lib/difflib.py +2056 -0
  298. package/python/Lib/dis.py +1075 -0
  299. package/python/Lib/doctest.py +2919 -0
  300. package/python/Lib/email/__init__.py +61 -0
  301. package/python/Lib/email/__pycache__/__init__.cpython-313.pyc +0 -0
  302. package/python/Lib/email/__pycache__/_encoded_words.cpython-313.pyc +0 -0
  303. package/python/Lib/email/__pycache__/_parseaddr.cpython-313.pyc +0 -0
  304. package/python/Lib/email/__pycache__/_policybase.cpython-313.pyc +0 -0
  305. package/python/Lib/email/__pycache__/base64mime.cpython-313.pyc +0 -0
  306. package/python/Lib/email/__pycache__/charset.cpython-313.pyc +0 -0
  307. package/python/Lib/email/__pycache__/encoders.cpython-313.pyc +0 -0
  308. package/python/Lib/email/__pycache__/errors.cpython-313.pyc +0 -0
  309. package/python/Lib/email/__pycache__/feedparser.cpython-313.pyc +0 -0
  310. package/python/Lib/email/__pycache__/header.cpython-313.pyc +0 -0
  311. package/python/Lib/email/__pycache__/iterators.cpython-313.pyc +0 -0
  312. package/python/Lib/email/__pycache__/message.cpython-313.pyc +0 -0
  313. package/python/Lib/email/__pycache__/parser.cpython-313.pyc +0 -0
  314. package/python/Lib/email/__pycache__/quoprimime.cpython-313.pyc +0 -0
  315. package/python/Lib/email/__pycache__/utils.cpython-313.pyc +0 -0
  316. package/python/Lib/email/_encoded_words.py +233 -0
  317. package/python/Lib/email/_header_value_parser.py +3145 -0
  318. package/python/Lib/email/_parseaddr.py +563 -0
  319. package/python/Lib/email/_policybase.py +382 -0
  320. package/python/Lib/email/architecture.rst +216 -0
  321. package/python/Lib/email/base64mime.py +115 -0
  322. package/python/Lib/email/charset.py +398 -0
  323. package/python/Lib/email/contentmanager.py +253 -0
  324. package/python/Lib/email/encoders.py +65 -0
  325. package/python/Lib/email/errors.py +117 -0
  326. package/python/Lib/email/feedparser.py +536 -0
  327. package/python/Lib/email/generator.py +530 -0
  328. package/python/Lib/email/header.py +582 -0
  329. package/python/Lib/email/headerregistry.py +618 -0
  330. package/python/Lib/email/iterators.py +68 -0
  331. package/python/Lib/email/message.py +1217 -0
  332. package/python/Lib/email/mime/__init__.py +0 -0
  333. package/python/Lib/email/mime/application.py +37 -0
  334. package/python/Lib/email/mime/audio.py +97 -0
  335. package/python/Lib/email/mime/base.py +29 -0
  336. package/python/Lib/email/mime/image.py +152 -0
  337. package/python/Lib/email/mime/message.py +33 -0
  338. package/python/Lib/email/mime/multipart.py +47 -0
  339. package/python/Lib/email/mime/nonmultipart.py +21 -0
  340. package/python/Lib/email/mime/text.py +40 -0
  341. package/python/Lib/email/parser.py +127 -0
  342. package/python/Lib/email/policy.py +232 -0
  343. package/python/Lib/email/quoprimime.py +300 -0
  344. package/python/Lib/email/utils.py +494 -0
  345. package/python/Lib/encodings/__init__.py +174 -0
  346. package/python/Lib/encodings/__pycache__/__init__.cpython-313.pyc +0 -0
  347. package/python/Lib/encodings/__pycache__/aliases.cpython-313.pyc +0 -0
  348. package/python/Lib/encodings/__pycache__/cp1252.cpython-313.pyc +0 -0
  349. package/python/Lib/encodings/__pycache__/cp437.cpython-313.pyc +0 -0
  350. package/python/Lib/encodings/__pycache__/hex_codec.cpython-313.pyc +0 -0
  351. package/python/Lib/encodings/__pycache__/idna.cpython-313.pyc +0 -0
  352. package/python/Lib/encodings/__pycache__/utf_8.cpython-313.pyc +0 -0
  353. package/python/Lib/encodings/aliases.py +552 -0
  354. package/python/Lib/encodings/ascii.py +50 -0
  355. package/python/Lib/encodings/base64_codec.py +55 -0
  356. package/python/Lib/encodings/big5.py +39 -0
  357. package/python/Lib/encodings/big5hkscs.py +39 -0
  358. package/python/Lib/encodings/bz2_codec.py +78 -0
  359. package/python/Lib/encodings/charmap.py +69 -0
  360. package/python/Lib/encodings/cp037.py +307 -0
  361. package/python/Lib/encodings/cp1006.py +307 -0
  362. package/python/Lib/encodings/cp1026.py +307 -0
  363. package/python/Lib/encodings/cp1125.py +698 -0
  364. package/python/Lib/encodings/cp1140.py +307 -0
  365. package/python/Lib/encodings/cp1250.py +307 -0
  366. package/python/Lib/encodings/cp1251.py +307 -0
  367. package/python/Lib/encodings/cp1252.py +307 -0
  368. package/python/Lib/encodings/cp1253.py +307 -0
  369. package/python/Lib/encodings/cp1254.py +307 -0
  370. package/python/Lib/encodings/cp1255.py +307 -0
  371. package/python/Lib/encodings/cp1256.py +307 -0
  372. package/python/Lib/encodings/cp1257.py +307 -0
  373. package/python/Lib/encodings/cp1258.py +307 -0
  374. package/python/Lib/encodings/cp273.py +307 -0
  375. package/python/Lib/encodings/cp424.py +307 -0
  376. package/python/Lib/encodings/cp437.py +698 -0
  377. package/python/Lib/encodings/cp500.py +307 -0
  378. package/python/Lib/encodings/cp720.py +309 -0
  379. package/python/Lib/encodings/cp737.py +698 -0
  380. package/python/Lib/encodings/cp775.py +697 -0
  381. package/python/Lib/encodings/cp850.py +698 -0
  382. package/python/Lib/encodings/cp852.py +698 -0
  383. package/python/Lib/encodings/cp855.py +698 -0
  384. package/python/Lib/encodings/cp856.py +307 -0
  385. package/python/Lib/encodings/cp857.py +694 -0
  386. package/python/Lib/encodings/cp858.py +698 -0
  387. package/python/Lib/encodings/cp860.py +698 -0
  388. package/python/Lib/encodings/cp861.py +698 -0
  389. package/python/Lib/encodings/cp862.py +698 -0
  390. package/python/Lib/encodings/cp863.py +698 -0
  391. package/python/Lib/encodings/cp864.py +690 -0
  392. package/python/Lib/encodings/cp865.py +698 -0
  393. package/python/Lib/encodings/cp866.py +698 -0
  394. package/python/Lib/encodings/cp869.py +689 -0
  395. package/python/Lib/encodings/cp874.py +307 -0
  396. package/python/Lib/encodings/cp875.py +307 -0
  397. package/python/Lib/encodings/cp932.py +39 -0
  398. package/python/Lib/encodings/cp949.py +39 -0
  399. package/python/Lib/encodings/cp950.py +39 -0
  400. package/python/Lib/encodings/euc_jis_2004.py +39 -0
  401. package/python/Lib/encodings/euc_jisx0213.py +39 -0
  402. package/python/Lib/encodings/euc_jp.py +39 -0
  403. package/python/Lib/encodings/euc_kr.py +39 -0
  404. package/python/Lib/encodings/gb18030.py +39 -0
  405. package/python/Lib/encodings/gb2312.py +39 -0
  406. package/python/Lib/encodings/gbk.py +39 -0
  407. package/python/Lib/encodings/hex_codec.py +55 -0
  408. package/python/Lib/encodings/hp_roman8.py +314 -0
  409. package/python/Lib/encodings/hz.py +39 -0
  410. package/python/Lib/encodings/idna.py +387 -0
  411. package/python/Lib/encodings/iso2022_jp.py +39 -0
  412. package/python/Lib/encodings/iso2022_jp_1.py +39 -0
  413. package/python/Lib/encodings/iso2022_jp_2.py +39 -0
  414. package/python/Lib/encodings/iso2022_jp_2004.py +39 -0
  415. package/python/Lib/encodings/iso2022_jp_3.py +39 -0
  416. package/python/Lib/encodings/iso2022_jp_ext.py +39 -0
  417. package/python/Lib/encodings/iso2022_kr.py +39 -0
  418. package/python/Lib/encodings/iso8859_1.py +307 -0
  419. package/python/Lib/encodings/iso8859_10.py +307 -0
  420. package/python/Lib/encodings/iso8859_11.py +307 -0
  421. package/python/Lib/encodings/iso8859_13.py +307 -0
  422. package/python/Lib/encodings/iso8859_14.py +307 -0
  423. package/python/Lib/encodings/iso8859_15.py +307 -0
  424. package/python/Lib/encodings/iso8859_16.py +307 -0
  425. package/python/Lib/encodings/iso8859_2.py +307 -0
  426. package/python/Lib/encodings/iso8859_3.py +307 -0
  427. package/python/Lib/encodings/iso8859_4.py +307 -0
  428. package/python/Lib/encodings/iso8859_5.py +307 -0
  429. package/python/Lib/encodings/iso8859_6.py +307 -0
  430. package/python/Lib/encodings/iso8859_7.py +307 -0
  431. package/python/Lib/encodings/iso8859_8.py +307 -0
  432. package/python/Lib/encodings/iso8859_9.py +307 -0
  433. package/python/Lib/encodings/johab.py +39 -0
  434. package/python/Lib/encodings/koi8_r.py +307 -0
  435. package/python/Lib/encodings/koi8_t.py +308 -0
  436. package/python/Lib/encodings/koi8_u.py +307 -0
  437. package/python/Lib/encodings/kz1048.py +307 -0
  438. package/python/Lib/encodings/latin_1.py +50 -0
  439. package/python/Lib/encodings/mac_arabic.py +698 -0
  440. package/python/Lib/encodings/mac_croatian.py +307 -0
  441. package/python/Lib/encodings/mac_cyrillic.py +307 -0
  442. package/python/Lib/encodings/mac_farsi.py +307 -0
  443. package/python/Lib/encodings/mac_greek.py +307 -0
  444. package/python/Lib/encodings/mac_iceland.py +307 -0
  445. package/python/Lib/encodings/mac_latin2.py +312 -0
  446. package/python/Lib/encodings/mac_roman.py +307 -0
  447. package/python/Lib/encodings/mac_romanian.py +307 -0
  448. package/python/Lib/encodings/mac_turkish.py +307 -0
  449. package/python/Lib/encodings/mbcs.py +47 -0
  450. package/python/Lib/encodings/oem.py +41 -0
  451. package/python/Lib/encodings/palmos.py +308 -0
  452. package/python/Lib/encodings/ptcp154.py +312 -0
  453. package/python/Lib/encodings/punycode.py +253 -0
  454. package/python/Lib/encodings/quopri_codec.py +56 -0
  455. package/python/Lib/encodings/raw_unicode_escape.py +46 -0
  456. package/python/Lib/encodings/rot_13.py +113 -0
  457. package/python/Lib/encodings/shift_jis.py +39 -0
  458. package/python/Lib/encodings/shift_jis_2004.py +39 -0
  459. package/python/Lib/encodings/shift_jisx0213.py +39 -0
  460. package/python/Lib/encodings/tis_620.py +307 -0
  461. package/python/Lib/encodings/undefined.py +49 -0
  462. package/python/Lib/encodings/unicode_escape.py +46 -0
  463. package/python/Lib/encodings/utf_16.py +155 -0
  464. package/python/Lib/encodings/utf_16_be.py +42 -0
  465. package/python/Lib/encodings/utf_16_le.py +42 -0
  466. package/python/Lib/encodings/utf_32.py +150 -0
  467. package/python/Lib/encodings/utf_32_be.py +37 -0
  468. package/python/Lib/encodings/utf_32_le.py +37 -0
  469. package/python/Lib/encodings/utf_7.py +38 -0
  470. package/python/Lib/encodings/utf_8.py +42 -0
  471. package/python/Lib/encodings/utf_8_sig.py +130 -0
  472. package/python/Lib/encodings/uu_codec.py +103 -0
  473. package/python/Lib/encodings/zlib_codec.py +77 -0
  474. package/python/Lib/ensurepip/__init__.py +264 -0
  475. package/python/Lib/ensurepip/__main__.py +5 -0
  476. package/python/Lib/ensurepip/_bundled/pip-25.3-py3-none-any.whl +0 -0
  477. package/python/Lib/ensurepip/_uninstall.py +31 -0
  478. package/python/Lib/enum.py +2182 -0
  479. package/python/Lib/filecmp.py +320 -0
  480. package/python/Lib/fileinput.py +442 -0
  481. package/python/Lib/fnmatch.py +192 -0
  482. package/python/Lib/fractions.py +1043 -0
  483. package/python/Lib/ftplib.py +966 -0
  484. package/python/Lib/functools.py +1036 -0
  485. package/python/Lib/genericpath.py +200 -0
  486. package/python/Lib/getopt.py +215 -0
  487. package/python/Lib/getpass.py +192 -0
  488. package/python/Lib/gettext.py +657 -0
  489. package/python/Lib/glob.py +551 -0
  490. package/python/Lib/graphlib.py +250 -0
  491. package/python/Lib/gzip.py +691 -0
  492. package/python/Lib/hashlib.py +255 -0
  493. package/python/Lib/heapq.py +603 -0
  494. package/python/Lib/hmac.py +220 -0
  495. package/python/Lib/html/__init__.py +132 -0
  496. package/python/Lib/html/__pycache__/__init__.cpython-313.pyc +0 -0
  497. package/python/Lib/html/__pycache__/entities.cpython-313.pyc +0 -0
  498. package/python/Lib/html/__pycache__/parser.cpython-313.pyc +0 -0
  499. package/python/Lib/html/entities.py +2513 -0
  500. package/python/Lib/html/parser.py +553 -0
  501. package/python/Lib/http/__init__.py +202 -0
  502. package/python/Lib/http/__pycache__/__init__.cpython-313.pyc +0 -0
  503. package/python/Lib/http/__pycache__/client.cpython-313.pyc +0 -0
  504. package/python/Lib/http/__pycache__/cookiejar.cpython-313.pyc +0 -0
  505. package/python/Lib/http/__pycache__/cookies.cpython-313.pyc +0 -0
  506. package/python/Lib/http/client.py +1570 -0
  507. package/python/Lib/http/cookiejar.py +2122 -0
  508. package/python/Lib/http/cookies.py +615 -0
  509. package/python/Lib/http/server.py +1351 -0
  510. package/python/Lib/idlelib/CREDITS.txt +48 -0
  511. package/python/Lib/idlelib/ChangeLog +1591 -0
  512. package/python/Lib/idlelib/HISTORY.txt +296 -0
  513. package/python/Lib/idlelib/Icons/README.txt +51 -0
  514. package/python/Lib/idlelib/Icons/folder.gif +0 -0
  515. package/python/Lib/idlelib/Icons/idle.ico +0 -0
  516. package/python/Lib/idlelib/Icons/idle_16.gif +0 -0
  517. package/python/Lib/idlelib/Icons/idle_16.png +0 -0
  518. package/python/Lib/idlelib/Icons/idle_256.png +0 -0
  519. package/python/Lib/idlelib/Icons/idle_32.gif +0 -0
  520. package/python/Lib/idlelib/Icons/idle_32.png +0 -0
  521. package/python/Lib/idlelib/Icons/idle_48.gif +0 -0
  522. package/python/Lib/idlelib/Icons/idle_48.png +0 -0
  523. package/python/Lib/idlelib/Icons/minusnode.gif +0 -0
  524. package/python/Lib/idlelib/Icons/openfolder.gif +0 -0
  525. package/python/Lib/idlelib/Icons/plusnode.gif +0 -0
  526. package/python/Lib/idlelib/Icons/python.gif +0 -0
  527. package/python/Lib/idlelib/Icons/tk.gif +0 -0
  528. package/python/Lib/idlelib/NEWS2x.txt +660 -0
  529. package/python/Lib/idlelib/News3.txt +1407 -0
  530. package/python/Lib/idlelib/README.txt +290 -0
  531. package/python/Lib/idlelib/TODO.txt +210 -0
  532. package/python/Lib/idlelib/__init__.py +10 -0
  533. package/python/Lib/idlelib/__main__.py +7 -0
  534. package/python/Lib/idlelib/autocomplete.py +228 -0
  535. package/python/Lib/idlelib/autocomplete_w.py +498 -0
  536. package/python/Lib/idlelib/autoexpand.py +96 -0
  537. package/python/Lib/idlelib/browser.py +260 -0
  538. package/python/Lib/idlelib/calltip.py +205 -0
  539. package/python/Lib/idlelib/calltip_w.py +202 -0
  540. package/python/Lib/idlelib/codecontext.py +270 -0
  541. package/python/Lib/idlelib/colorizer.py +384 -0
  542. package/python/Lib/idlelib/config-extensions.def +62 -0
  543. package/python/Lib/idlelib/config-highlight.def +105 -0
  544. package/python/Lib/idlelib/config-keys.def +309 -0
  545. package/python/Lib/idlelib/config-main.def +92 -0
  546. package/python/Lib/idlelib/config.py +917 -0
  547. package/python/Lib/idlelib/config_key.py +354 -0
  548. package/python/Lib/idlelib/configdialog.py +2408 -0
  549. package/python/Lib/idlelib/debugger.py +602 -0
  550. package/python/Lib/idlelib/debugger_r.py +390 -0
  551. package/python/Lib/idlelib/debugobj.py +146 -0
  552. package/python/Lib/idlelib/debugobj_r.py +41 -0
  553. package/python/Lib/idlelib/delegator.py +34 -0
  554. package/python/Lib/idlelib/dynoption.py +57 -0
  555. package/python/Lib/idlelib/editor.py +1721 -0
  556. package/python/Lib/idlelib/extend.txt +83 -0
  557. package/python/Lib/idlelib/filelist.py +132 -0
  558. package/python/Lib/idlelib/format.py +426 -0
  559. package/python/Lib/idlelib/grep.py +223 -0
  560. package/python/Lib/idlelib/help.html +865 -0
  561. package/python/Lib/idlelib/help.py +343 -0
  562. package/python/Lib/idlelib/help_about.py +211 -0
  563. package/python/Lib/idlelib/history.py +106 -0
  564. package/python/Lib/idlelib/hyperparser.py +312 -0
  565. package/python/Lib/idlelib/idle.bat +4 -0
  566. package/python/Lib/idlelib/idle.py +14 -0
  567. package/python/Lib/idlelib/idle.pyw +17 -0
  568. package/python/Lib/idlelib/iomenu.py +441 -0
  569. package/python/Lib/idlelib/macosx.py +278 -0
  570. package/python/Lib/idlelib/mainmenu.py +126 -0
  571. package/python/Lib/idlelib/multicall.py +451 -0
  572. package/python/Lib/idlelib/outwin.py +188 -0
  573. package/python/Lib/idlelib/parenmatch.py +183 -0
  574. package/python/Lib/idlelib/pathbrowser.py +107 -0
  575. package/python/Lib/idlelib/percolator.py +120 -0
  576. package/python/Lib/idlelib/pyparse.py +589 -0
  577. package/python/Lib/idlelib/pyshell.py +1699 -0
  578. package/python/Lib/idlelib/query.py +390 -0
  579. package/python/Lib/idlelib/redirector.py +174 -0
  580. package/python/Lib/idlelib/replace.py +299 -0
  581. package/python/Lib/idlelib/rpc.py +635 -0
  582. package/python/Lib/idlelib/run.py +653 -0
  583. package/python/Lib/idlelib/runscript.py +213 -0
  584. package/python/Lib/idlelib/scrolledlist.py +151 -0
  585. package/python/Lib/idlelib/search.py +165 -0
  586. package/python/Lib/idlelib/searchbase.py +210 -0
  587. package/python/Lib/idlelib/searchengine.py +234 -0
  588. package/python/Lib/idlelib/sidebar.py +543 -0
  589. package/python/Lib/idlelib/squeezer.py +345 -0
  590. package/python/Lib/idlelib/stackviewer.py +134 -0
  591. package/python/Lib/idlelib/statusbar.py +52 -0
  592. package/python/Lib/idlelib/textview.py +193 -0
  593. package/python/Lib/idlelib/tooltip.py +190 -0
  594. package/python/Lib/idlelib/tree.py +509 -0
  595. package/python/Lib/idlelib/undo.py +367 -0
  596. package/python/Lib/idlelib/util.py +37 -0
  597. package/python/Lib/idlelib/window.py +98 -0
  598. package/python/Lib/idlelib/zoomheight.py +124 -0
  599. package/python/Lib/idlelib/zzdummy.py +73 -0
  600. package/python/Lib/imaplib.py +1651 -0
  601. package/python/Lib/importlib/__init__.py +136 -0
  602. package/python/Lib/importlib/__pycache__/__init__.cpython-313.pyc +0 -0
  603. package/python/Lib/importlib/__pycache__/_abc.cpython-313.pyc +0 -0
  604. package/python/Lib/importlib/__pycache__/abc.cpython-313.pyc +0 -0
  605. package/python/Lib/importlib/__pycache__/readers.cpython-313.pyc +0 -0
  606. package/python/Lib/importlib/_abc.py +39 -0
  607. package/python/Lib/importlib/_bootstrap.py +1551 -0
  608. package/python/Lib/importlib/_bootstrap_external.py +1826 -0
  609. package/python/Lib/importlib/abc.py +243 -0
  610. package/python/Lib/importlib/machinery.py +21 -0
  611. package/python/Lib/importlib/metadata/__init__.py +1093 -0
  612. package/python/Lib/importlib/metadata/__pycache__/__init__.cpython-313.pyc +0 -0
  613. package/python/Lib/importlib/metadata/__pycache__/_adapters.cpython-313.pyc +0 -0
  614. package/python/Lib/importlib/metadata/__pycache__/_collections.cpython-313.pyc +0 -0
  615. package/python/Lib/importlib/metadata/__pycache__/_functools.cpython-313.pyc +0 -0
  616. package/python/Lib/importlib/metadata/__pycache__/_itertools.cpython-313.pyc +0 -0
  617. package/python/Lib/importlib/metadata/__pycache__/_meta.cpython-313.pyc +0 -0
  618. package/python/Lib/importlib/metadata/__pycache__/_text.cpython-313.pyc +0 -0
  619. package/python/Lib/importlib/metadata/_adapters.py +89 -0
  620. package/python/Lib/importlib/metadata/_collections.py +30 -0
  621. package/python/Lib/importlib/metadata/_functools.py +104 -0
  622. package/python/Lib/importlib/metadata/_itertools.py +73 -0
  623. package/python/Lib/importlib/metadata/_meta.py +67 -0
  624. package/python/Lib/importlib/metadata/_text.py +99 -0
  625. package/python/Lib/importlib/metadata/diagnose.py +21 -0
  626. package/python/Lib/importlib/readers.py +12 -0
  627. package/python/Lib/importlib/resources/__init__.py +43 -0
  628. package/python/Lib/importlib/resources/__pycache__/__init__.cpython-313.pyc +0 -0
  629. package/python/Lib/importlib/resources/__pycache__/_adapters.cpython-313.pyc +0 -0
  630. package/python/Lib/importlib/resources/__pycache__/_common.cpython-313.pyc +0 -0
  631. package/python/Lib/importlib/resources/__pycache__/_functional.cpython-313.pyc +0 -0
  632. package/python/Lib/importlib/resources/__pycache__/_itertools.cpython-313.pyc +0 -0
  633. package/python/Lib/importlib/resources/__pycache__/abc.cpython-313.pyc +0 -0
  634. package/python/Lib/importlib/resources/__pycache__/readers.cpython-313.pyc +0 -0
  635. package/python/Lib/importlib/resources/_adapters.py +168 -0
  636. package/python/Lib/importlib/resources/_common.py +211 -0
  637. package/python/Lib/importlib/resources/_functional.py +81 -0
  638. package/python/Lib/importlib/resources/_itertools.py +38 -0
  639. package/python/Lib/importlib/resources/abc.py +173 -0
  640. package/python/Lib/importlib/resources/readers.py +203 -0
  641. package/python/Lib/importlib/resources/simple.py +106 -0
  642. package/python/Lib/importlib/simple.py +14 -0
  643. package/python/Lib/importlib/util.py +274 -0
  644. package/python/Lib/inspect.py +3471 -0
  645. package/python/Lib/io.py +99 -0
  646. package/python/Lib/ipaddress.py +2440 -0
  647. package/python/Lib/json/__init__.py +365 -0
  648. package/python/Lib/json/__pycache__/__init__.cpython-313.pyc +0 -0
  649. package/python/Lib/json/__pycache__/decoder.cpython-313.pyc +0 -0
  650. package/python/Lib/json/__pycache__/encoder.cpython-313.pyc +0 -0
  651. package/python/Lib/json/__pycache__/scanner.cpython-313.pyc +0 -0
  652. package/python/Lib/json/decoder.py +364 -0
  653. package/python/Lib/json/encoder.py +446 -0
  654. package/python/Lib/json/scanner.py +73 -0
  655. package/python/Lib/json/tool.py +89 -0
  656. package/python/Lib/keyword.py +64 -0
  657. package/python/Lib/linecache.py +236 -0
  658. package/python/Lib/locale.py +1778 -0
  659. package/python/Lib/logging/__init__.py +2326 -0
  660. package/python/Lib/logging/__pycache__/__init__.cpython-313.pyc +0 -0
  661. package/python/Lib/logging/__pycache__/config.cpython-313.pyc +0 -0
  662. package/python/Lib/logging/__pycache__/handlers.cpython-313.pyc +0 -0
  663. package/python/Lib/logging/config.py +1065 -0
  664. package/python/Lib/logging/handlers.py +1629 -0
  665. package/python/Lib/lzma.py +364 -0
  666. package/python/Lib/mailbox.py +2219 -0
  667. package/python/Lib/mimetypes.py +679 -0
  668. package/python/Lib/modulefinder.py +671 -0
  669. package/python/Lib/multiprocessing/__init__.py +37 -0
  670. package/python/Lib/multiprocessing/connection.py +1190 -0
  671. package/python/Lib/multiprocessing/context.py +377 -0
  672. package/python/Lib/multiprocessing/dummy/__init__.py +126 -0
  673. package/python/Lib/multiprocessing/dummy/connection.py +75 -0
  674. package/python/Lib/multiprocessing/forkserver.py +364 -0
  675. package/python/Lib/multiprocessing/heap.py +337 -0
  676. package/python/Lib/multiprocessing/managers.py +1397 -0
  677. package/python/Lib/multiprocessing/pool.py +957 -0
  678. package/python/Lib/multiprocessing/popen_fork.py +87 -0
  679. package/python/Lib/multiprocessing/popen_forkserver.py +74 -0
  680. package/python/Lib/multiprocessing/popen_spawn_posix.py +76 -0
  681. package/python/Lib/multiprocessing/popen_spawn_win32.py +147 -0
  682. package/python/Lib/multiprocessing/process.py +436 -0
  683. package/python/Lib/multiprocessing/queues.py +399 -0
  684. package/python/Lib/multiprocessing/reduction.py +281 -0
  685. package/python/Lib/multiprocessing/resource_sharer.py +154 -0
  686. package/python/Lib/multiprocessing/resource_tracker.py +420 -0
  687. package/python/Lib/multiprocessing/shared_memory.py +544 -0
  688. package/python/Lib/multiprocessing/sharedctypes.py +240 -0
  689. package/python/Lib/multiprocessing/spawn.py +307 -0
  690. package/python/Lib/multiprocessing/synchronize.py +404 -0
  691. package/python/Lib/multiprocessing/util.py +562 -0
  692. package/python/Lib/netrc.py +199 -0
  693. package/python/Lib/ntpath.py +870 -0
  694. package/python/Lib/nturl2path.py +69 -0
  695. package/python/Lib/numbers.py +427 -0
  696. package/python/Lib/opcode.py +115 -0
  697. package/python/Lib/operator.py +467 -0
  698. package/python/Lib/optparse.py +1681 -0
  699. package/python/Lib/os.py +1184 -0
  700. package/python/Lib/pathlib/__init__.py +12 -0
  701. package/python/Lib/pathlib/__pycache__/__init__.cpython-313.pyc +0 -0
  702. package/python/Lib/pathlib/__pycache__/_abc.cpython-313.pyc +0 -0
  703. package/python/Lib/pathlib/__pycache__/_local.cpython-313.pyc +0 -0
  704. package/python/Lib/pathlib/_abc.py +930 -0
  705. package/python/Lib/pathlib/_local.py +861 -0
  706. package/python/Lib/pdb.py +2550 -0
  707. package/python/Lib/pickle.py +1866 -0
  708. package/python/Lib/pickletools.py +2904 -0
  709. package/python/Lib/pkgutil.py +529 -0
  710. package/python/Lib/platform.py +1454 -0
  711. package/python/Lib/plistlib.py +948 -0
  712. package/python/Lib/poplib.py +477 -0
  713. package/python/Lib/posixpath.py +578 -0
  714. package/python/Lib/pprint.py +658 -0
  715. package/python/Lib/profile.py +616 -0
  716. package/python/Lib/pstats.py +778 -0
  717. package/python/Lib/pty.py +211 -0
  718. package/python/Lib/py_compile.py +212 -0
  719. package/python/Lib/pyclbr.py +314 -0
  720. package/python/Lib/pydoc.py +2859 -0
  721. package/python/Lib/pydoc_data/__init__.py +0 -0
  722. package/python/Lib/pydoc_data/_pydoc.css +112 -0
  723. package/python/Lib/pydoc_data/module_docs.py +314 -0
  724. package/python/Lib/pydoc_data/topics.py +13000 -0
  725. package/python/Lib/queue.py +383 -0
  726. package/python/Lib/quopri.py +237 -0
  727. package/python/Lib/random.py +1070 -0
  728. package/python/Lib/re/__init__.py +428 -0
  729. package/python/Lib/re/__pycache__/__init__.cpython-313.pyc +0 -0
  730. package/python/Lib/re/__pycache__/_casefix.cpython-313.pyc +0 -0
  731. package/python/Lib/re/__pycache__/_compiler.cpython-313.pyc +0 -0
  732. package/python/Lib/re/__pycache__/_constants.cpython-313.pyc +0 -0
  733. package/python/Lib/re/__pycache__/_parser.cpython-313.pyc +0 -0
  734. package/python/Lib/re/_casefix.py +106 -0
  735. package/python/Lib/re/_compiler.py +768 -0
  736. package/python/Lib/re/_constants.py +222 -0
  737. package/python/Lib/re/_parser.py +1081 -0
  738. package/python/Lib/reprlib.py +230 -0
  739. package/python/Lib/rlcompleter.py +221 -0
  740. package/python/Lib/runpy.py +319 -0
  741. package/python/Lib/sched.py +167 -0
  742. package/python/Lib/secrets.py +71 -0
  743. package/python/Lib/selectors.py +603 -0
  744. package/python/Lib/shelve.py +250 -0
  745. package/python/Lib/shlex.py +345 -0
  746. package/python/Lib/shutil.py +1583 -0
  747. package/python/Lib/signal.py +94 -0
  748. package/python/Lib/site-packages/README.txt +2 -0
  749. package/python/Lib/site-packages/pip/__init__.py +13 -0
  750. package/python/Lib/site-packages/pip/__main__.py +24 -0
  751. package/python/Lib/site-packages/pip/__pip-runner__.py +50 -0
  752. package/python/Lib/site-packages/pip/__pycache__/__init__.cpython-313.pyc +0 -0
  753. package/python/Lib/site-packages/pip/__pycache__/__main__.cpython-313.pyc +0 -0
  754. package/python/Lib/site-packages/pip/__pycache__/__pip-runner__.cpython-313.pyc +0 -0
  755. package/python/Lib/site-packages/pip/_internal/__init__.py +18 -0
  756. package/python/Lib/site-packages/pip/_internal/__pycache__/__init__.cpython-313.pyc +0 -0
  757. package/python/Lib/site-packages/pip/_internal/__pycache__/build_env.cpython-313.pyc +0 -0
  758. package/python/Lib/site-packages/pip/_internal/__pycache__/cache.cpython-313.pyc +0 -0
  759. package/python/Lib/site-packages/pip/_internal/__pycache__/configuration.cpython-313.pyc +0 -0
  760. package/python/Lib/site-packages/pip/_internal/__pycache__/exceptions.cpython-313.pyc +0 -0
  761. package/python/Lib/site-packages/pip/_internal/__pycache__/main.cpython-313.pyc +0 -0
  762. package/python/Lib/site-packages/pip/_internal/__pycache__/pyproject.cpython-313.pyc +0 -0
  763. package/python/Lib/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-313.pyc +0 -0
  764. package/python/Lib/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-313.pyc +0 -0
  765. package/python/Lib/site-packages/pip/_internal/build_env.py +606 -0
  766. package/python/Lib/site-packages/pip/_internal/cache.py +291 -0
  767. package/python/Lib/site-packages/pip/_internal/cli/__init__.py +3 -0
  768. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-313.pyc +0 -0
  769. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-313.pyc +0 -0
  770. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-313.pyc +0 -0
  771. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-313.pyc +0 -0
  772. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-313.pyc +0 -0
  773. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-313.pyc +0 -0
  774. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/main.cpython-313.pyc +0 -0
  775. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-313.pyc +0 -0
  776. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/parser.cpython-313.pyc +0 -0
  777. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-313.pyc +0 -0
  778. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-313.pyc +0 -0
  779. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-313.pyc +0 -0
  780. package/python/Lib/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-313.pyc +0 -0
  781. package/python/Lib/site-packages/pip/_internal/cli/autocompletion.py +184 -0
  782. package/python/Lib/site-packages/pip/_internal/cli/base_command.py +255 -0
  783. package/python/Lib/site-packages/pip/_internal/cli/cmdoptions.py +1267 -0
  784. package/python/Lib/site-packages/pip/_internal/cli/command_context.py +28 -0
  785. package/python/Lib/site-packages/pip/_internal/cli/index_command.py +195 -0
  786. package/python/Lib/site-packages/pip/_internal/cli/main.py +85 -0
  787. package/python/Lib/site-packages/pip/_internal/cli/main_parser.py +136 -0
  788. package/python/Lib/site-packages/pip/_internal/cli/parser.py +358 -0
  789. package/python/Lib/site-packages/pip/_internal/cli/progress_bars.py +153 -0
  790. package/python/Lib/site-packages/pip/_internal/cli/req_command.py +447 -0
  791. package/python/Lib/site-packages/pip/_internal/cli/spinners.py +235 -0
  792. package/python/Lib/site-packages/pip/_internal/cli/status_codes.py +6 -0
  793. package/python/Lib/site-packages/pip/_internal/commands/__init__.py +139 -0
  794. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-313.pyc +0 -0
  795. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/cache.cpython-313.pyc +0 -0
  796. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/check.cpython-313.pyc +0 -0
  797. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/completion.cpython-313.pyc +0 -0
  798. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-313.pyc +0 -0
  799. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/debug.cpython-313.pyc +0 -0
  800. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/download.cpython-313.pyc +0 -0
  801. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-313.pyc +0 -0
  802. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/hash.cpython-313.pyc +0 -0
  803. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/help.cpython-313.pyc +0 -0
  804. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/index.cpython-313.pyc +0 -0
  805. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-313.pyc +0 -0
  806. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/install.cpython-313.pyc +0 -0
  807. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/list.cpython-313.pyc +0 -0
  808. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/lock.cpython-313.pyc +0 -0
  809. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/search.cpython-313.pyc +0 -0
  810. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/show.cpython-313.pyc +0 -0
  811. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-313.pyc +0 -0
  812. package/python/Lib/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-313.pyc +0 -0
  813. package/python/Lib/site-packages/pip/_internal/commands/cache.py +255 -0
  814. package/python/Lib/site-packages/pip/_internal/commands/check.py +66 -0
  815. package/python/Lib/site-packages/pip/_internal/commands/completion.py +136 -0
  816. package/python/Lib/site-packages/pip/_internal/commands/configuration.py +288 -0
  817. package/python/Lib/site-packages/pip/_internal/commands/debug.py +203 -0
  818. package/python/Lib/site-packages/pip/_internal/commands/download.py +146 -0
  819. package/python/Lib/site-packages/pip/_internal/commands/freeze.py +107 -0
  820. package/python/Lib/site-packages/pip/_internal/commands/hash.py +58 -0
  821. package/python/Lib/site-packages/pip/_internal/commands/help.py +40 -0
  822. package/python/Lib/site-packages/pip/_internal/commands/index.py +166 -0
  823. package/python/Lib/site-packages/pip/_internal/commands/inspect.py +92 -0
  824. package/python/Lib/site-packages/pip/_internal/commands/install.py +810 -0
  825. package/python/Lib/site-packages/pip/_internal/commands/list.py +398 -0
  826. package/python/Lib/site-packages/pip/_internal/commands/lock.py +175 -0
  827. package/python/Lib/site-packages/pip/_internal/commands/search.py +178 -0
  828. package/python/Lib/site-packages/pip/_internal/commands/show.py +231 -0
  829. package/python/Lib/site-packages/pip/_internal/commands/uninstall.py +113 -0
  830. package/python/Lib/site-packages/pip/_internal/commands/wheel.py +171 -0
  831. package/python/Lib/site-packages/pip/_internal/configuration.py +396 -0
  832. package/python/Lib/site-packages/pip/_internal/distributions/__init__.py +21 -0
  833. package/python/Lib/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-313.pyc +0 -0
  834. package/python/Lib/site-packages/pip/_internal/distributions/__pycache__/base.cpython-313.pyc +0 -0
  835. package/python/Lib/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-313.pyc +0 -0
  836. package/python/Lib/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-313.pyc +0 -0
  837. package/python/Lib/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-313.pyc +0 -0
  838. package/python/Lib/site-packages/pip/_internal/distributions/base.py +55 -0
  839. package/python/Lib/site-packages/pip/_internal/distributions/installed.py +33 -0
  840. package/python/Lib/site-packages/pip/_internal/distributions/sdist.py +164 -0
  841. package/python/Lib/site-packages/pip/_internal/distributions/wheel.py +44 -0
  842. package/python/Lib/site-packages/pip/_internal/exceptions.py +971 -0
  843. package/python/Lib/site-packages/pip/_internal/index/__init__.py +1 -0
  844. package/python/Lib/site-packages/pip/_internal/index/__pycache__/__init__.cpython-313.pyc +0 -0
  845. package/python/Lib/site-packages/pip/_internal/index/__pycache__/collector.cpython-313.pyc +0 -0
  846. package/python/Lib/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-313.pyc +0 -0
  847. package/python/Lib/site-packages/pip/_internal/index/__pycache__/sources.cpython-313.pyc +0 -0
  848. package/python/Lib/site-packages/pip/_internal/index/collector.py +488 -0
  849. package/python/Lib/site-packages/pip/_internal/index/package_finder.py +1125 -0
  850. package/python/Lib/site-packages/pip/_internal/index/sources.py +287 -0
  851. package/python/Lib/site-packages/pip/_internal/locations/__init__.py +440 -0
  852. package/python/Lib/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-313.pyc +0 -0
  853. package/python/Lib/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-313.pyc +0 -0
  854. package/python/Lib/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-313.pyc +0 -0
  855. package/python/Lib/site-packages/pip/_internal/locations/__pycache__/base.cpython-313.pyc +0 -0
  856. package/python/Lib/site-packages/pip/_internal/locations/_distutils.py +173 -0
  857. package/python/Lib/site-packages/pip/_internal/locations/_sysconfig.py +218 -0
  858. package/python/Lib/site-packages/pip/_internal/locations/base.py +82 -0
  859. package/python/Lib/site-packages/pip/_internal/main.py +12 -0
  860. package/python/Lib/site-packages/pip/_internal/metadata/__init__.py +169 -0
  861. package/python/Lib/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-313.pyc +0 -0
  862. package/python/Lib/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-313.pyc +0 -0
  863. package/python/Lib/site-packages/pip/_internal/metadata/__pycache__/base.cpython-313.pyc +0 -0
  864. package/python/Lib/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-313.pyc +0 -0
  865. package/python/Lib/site-packages/pip/_internal/metadata/_json.py +87 -0
  866. package/python/Lib/site-packages/pip/_internal/metadata/base.py +685 -0
  867. package/python/Lib/site-packages/pip/_internal/metadata/importlib/__init__.py +6 -0
  868. package/python/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-313.pyc +0 -0
  869. package/python/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-313.pyc +0 -0
  870. package/python/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-313.pyc +0 -0
  871. package/python/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-313.pyc +0 -0
  872. package/python/Lib/site-packages/pip/_internal/metadata/importlib/_compat.py +87 -0
  873. package/python/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +229 -0
  874. package/python/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +143 -0
  875. package/python/Lib/site-packages/pip/_internal/metadata/pkg_resources.py +298 -0
  876. package/python/Lib/site-packages/pip/_internal/models/__init__.py +1 -0
  877. package/python/Lib/site-packages/pip/_internal/models/__pycache__/__init__.cpython-313.pyc +0 -0
  878. package/python/Lib/site-packages/pip/_internal/models/__pycache__/candidate.cpython-313.pyc +0 -0
  879. package/python/Lib/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-313.pyc +0 -0
  880. package/python/Lib/site-packages/pip/_internal/models/__pycache__/format_control.cpython-313.pyc +0 -0
  881. package/python/Lib/site-packages/pip/_internal/models/__pycache__/index.cpython-313.pyc +0 -0
  882. package/python/Lib/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-313.pyc +0 -0
  883. package/python/Lib/site-packages/pip/_internal/models/__pycache__/link.cpython-313.pyc +0 -0
  884. package/python/Lib/site-packages/pip/_internal/models/__pycache__/release_control.cpython-313.pyc +0 -0
  885. package/python/Lib/site-packages/pip/_internal/models/__pycache__/scheme.cpython-313.pyc +0 -0
  886. package/python/Lib/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-313.pyc +0 -0
  887. package/python/Lib/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-313.pyc +0 -0
  888. package/python/Lib/site-packages/pip/_internal/models/__pycache__/target_python.cpython-313.pyc +0 -0
  889. package/python/Lib/site-packages/pip/_internal/models/__pycache__/wheel.cpython-313.pyc +0 -0
  890. package/python/Lib/site-packages/pip/_internal/models/candidate.py +25 -0
  891. package/python/Lib/site-packages/pip/_internal/models/direct_url.py +227 -0
  892. package/python/Lib/site-packages/pip/_internal/models/format_control.py +78 -0
  893. package/python/Lib/site-packages/pip/_internal/models/index.py +28 -0
  894. package/python/Lib/site-packages/pip/_internal/models/installation_report.py +57 -0
  895. package/python/Lib/site-packages/pip/_internal/models/link.py +617 -0
  896. package/python/Lib/site-packages/pip/_internal/models/release_control.py +92 -0
  897. package/python/Lib/site-packages/pip/_internal/models/scheme.py +25 -0
  898. package/python/Lib/site-packages/pip/_internal/models/search_scope.py +126 -0
  899. package/python/Lib/site-packages/pip/_internal/models/selection_prefs.py +56 -0
  900. package/python/Lib/site-packages/pip/_internal/models/target_python.py +122 -0
  901. package/python/Lib/site-packages/pip/_internal/models/wheel.py +80 -0
  902. package/python/Lib/site-packages/pip/_internal/network/__init__.py +1 -0
  903. package/python/Lib/site-packages/pip/_internal/network/__pycache__/__init__.cpython-313.pyc +0 -0
  904. package/python/Lib/site-packages/pip/_internal/network/__pycache__/auth.cpython-313.pyc +0 -0
  905. package/python/Lib/site-packages/pip/_internal/network/__pycache__/cache.cpython-313.pyc +0 -0
  906. package/python/Lib/site-packages/pip/_internal/network/__pycache__/download.cpython-313.pyc +0 -0
  907. package/python/Lib/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-313.pyc +0 -0
  908. package/python/Lib/site-packages/pip/_internal/network/__pycache__/session.cpython-313.pyc +0 -0
  909. package/python/Lib/site-packages/pip/_internal/network/__pycache__/utils.cpython-313.pyc +0 -0
  910. package/python/Lib/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-313.pyc +0 -0
  911. package/python/Lib/site-packages/pip/_internal/network/auth.py +568 -0
  912. package/python/Lib/site-packages/pip/_internal/network/cache.py +128 -0
  913. package/python/Lib/site-packages/pip/_internal/network/download.py +341 -0
  914. package/python/Lib/site-packages/pip/_internal/network/lazy_wheel.py +215 -0
  915. package/python/Lib/site-packages/pip/_internal/network/session.py +532 -0
  916. package/python/Lib/site-packages/pip/_internal/network/utils.py +98 -0
  917. package/python/Lib/site-packages/pip/_internal/network/xmlrpc.py +61 -0
  918. package/python/Lib/site-packages/pip/_internal/operations/__init__.py +0 -0
  919. package/python/Lib/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-313.pyc +0 -0
  920. package/python/Lib/site-packages/pip/_internal/operations/__pycache__/check.cpython-313.pyc +0 -0
  921. package/python/Lib/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-313.pyc +0 -0
  922. package/python/Lib/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-313.pyc +0 -0
  923. package/python/Lib/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  924. package/python/Lib/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-313.pyc +0 -0
  925. package/python/Lib/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-313.pyc +0 -0
  926. package/python/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-313.pyc +0 -0
  927. package/python/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-313.pyc +0 -0
  928. package/python/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-313.pyc +0 -0
  929. package/python/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-313.pyc +0 -0
  930. package/python/Lib/site-packages/pip/_internal/operations/build/build_tracker.py +140 -0
  931. package/python/Lib/site-packages/pip/_internal/operations/build/metadata.py +38 -0
  932. package/python/Lib/site-packages/pip/_internal/operations/build/metadata_editable.py +41 -0
  933. package/python/Lib/site-packages/pip/_internal/operations/build/wheel.py +38 -0
  934. package/python/Lib/site-packages/pip/_internal/operations/build/wheel_editable.py +47 -0
  935. package/python/Lib/site-packages/pip/_internal/operations/check.py +175 -0
  936. package/python/Lib/site-packages/pip/_internal/operations/freeze.py +259 -0
  937. package/python/Lib/site-packages/pip/_internal/operations/install/__init__.py +1 -0
  938. package/python/Lib/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-313.pyc +0 -0
  939. package/python/Lib/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-313.pyc +0 -0
  940. package/python/Lib/site-packages/pip/_internal/operations/install/wheel.py +745 -0
  941. package/python/Lib/site-packages/pip/_internal/operations/prepare.py +747 -0
  942. package/python/Lib/site-packages/pip/_internal/pyproject.py +123 -0
  943. package/python/Lib/site-packages/pip/_internal/req/__init__.py +103 -0
  944. package/python/Lib/site-packages/pip/_internal/req/__pycache__/__init__.cpython-313.pyc +0 -0
  945. package/python/Lib/site-packages/pip/_internal/req/__pycache__/constructors.cpython-313.pyc +0 -0
  946. package/python/Lib/site-packages/pip/_internal/req/__pycache__/pep723.cpython-313.pyc +0 -0
  947. package/python/Lib/site-packages/pip/_internal/req/__pycache__/req_dependency_group.cpython-313.pyc +0 -0
  948. package/python/Lib/site-packages/pip/_internal/req/__pycache__/req_file.cpython-313.pyc +0 -0
  949. package/python/Lib/site-packages/pip/_internal/req/__pycache__/req_install.cpython-313.pyc +0 -0
  950. package/python/Lib/site-packages/pip/_internal/req/__pycache__/req_set.cpython-313.pyc +0 -0
  951. package/python/Lib/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-313.pyc +0 -0
  952. package/python/Lib/site-packages/pip/_internal/req/constructors.py +568 -0
  953. package/python/Lib/site-packages/pip/_internal/req/pep723.py +41 -0
  954. package/python/Lib/site-packages/pip/_internal/req/req_dependency_group.py +75 -0
  955. package/python/Lib/site-packages/pip/_internal/req/req_file.py +631 -0
  956. package/python/Lib/site-packages/pip/_internal/req/req_install.py +828 -0
  957. package/python/Lib/site-packages/pip/_internal/req/req_set.py +81 -0
  958. package/python/Lib/site-packages/pip/_internal/req/req_uninstall.py +639 -0
  959. package/python/Lib/site-packages/pip/_internal/resolution/__init__.py +0 -0
  960. package/python/Lib/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-313.pyc +0 -0
  961. package/python/Lib/site-packages/pip/_internal/resolution/__pycache__/base.cpython-313.pyc +0 -0
  962. package/python/Lib/site-packages/pip/_internal/resolution/base.py +20 -0
  963. package/python/Lib/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  964. package/python/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-313.pyc +0 -0
  965. package/python/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-313.pyc +0 -0
  966. package/python/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +598 -0
  967. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  968. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-313.pyc +0 -0
  969. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-313.pyc +0 -0
  970. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-313.pyc +0 -0
  971. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-313.pyc +0 -0
  972. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-313.pyc +0 -0
  973. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-313.pyc +0 -0
  974. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-313.pyc +0 -0
  975. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-313.pyc +0 -0
  976. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-313.pyc +0 -0
  977. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +142 -0
  978. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +591 -0
  979. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +856 -0
  980. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +166 -0
  981. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +285 -0
  982. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +98 -0
  983. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +251 -0
  984. package/python/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +332 -0
  985. package/python/Lib/site-packages/pip/_internal/self_outdated_check.py +255 -0
  986. package/python/Lib/site-packages/pip/_internal/utils/__init__.py +0 -0
  987. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-313.pyc +0 -0
  988. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-313.pyc +0 -0
  989. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/_log.cpython-313.pyc +0 -0
  990. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-313.pyc +0 -0
  991. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/compat.cpython-313.pyc +0 -0
  992. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-313.pyc +0 -0
  993. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-313.pyc +0 -0
  994. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-313.pyc +0 -0
  995. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-313.pyc +0 -0
  996. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-313.pyc +0 -0
  997. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-313.pyc +0 -0
  998. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-313.pyc +0 -0
  999. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-313.pyc +0 -0
  1000. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-313.pyc +0 -0
  1001. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-313.pyc +0 -0
  1002. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/logging.cpython-313.pyc +0 -0
  1003. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/misc.cpython-313.pyc +0 -0
  1004. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-313.pyc +0 -0
  1005. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/pylock.cpython-313.pyc +0 -0
  1006. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/retry.cpython-313.pyc +0 -0
  1007. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-313.pyc +0 -0
  1008. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-313.pyc +0 -0
  1009. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-313.pyc +0 -0
  1010. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/urls.cpython-313.pyc +0 -0
  1011. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-313.pyc +0 -0
  1012. package/python/Lib/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-313.pyc +0 -0
  1013. package/python/Lib/site-packages/pip/_internal/utils/_jaraco_text.py +109 -0
  1014. package/python/Lib/site-packages/pip/_internal/utils/_log.py +38 -0
  1015. package/python/Lib/site-packages/pip/_internal/utils/appdirs.py +52 -0
  1016. package/python/Lib/site-packages/pip/_internal/utils/compat.py +85 -0
  1017. package/python/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +201 -0
  1018. package/python/Lib/site-packages/pip/_internal/utils/datetime.py +28 -0
  1019. package/python/Lib/site-packages/pip/_internal/utils/deprecation.py +126 -0
  1020. package/python/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +87 -0
  1021. package/python/Lib/site-packages/pip/_internal/utils/egg_link.py +81 -0
  1022. package/python/Lib/site-packages/pip/_internal/utils/entrypoints.py +88 -0
  1023. package/python/Lib/site-packages/pip/_internal/utils/filesystem.py +203 -0
  1024. package/python/Lib/site-packages/pip/_internal/utils/filetypes.py +24 -0
  1025. package/python/Lib/site-packages/pip/_internal/utils/glibc.py +102 -0
  1026. package/python/Lib/site-packages/pip/_internal/utils/hashes.py +150 -0
  1027. package/python/Lib/site-packages/pip/_internal/utils/logging.py +396 -0
  1028. package/python/Lib/site-packages/pip/_internal/utils/misc.py +771 -0
  1029. package/python/Lib/site-packages/pip/_internal/utils/packaging.py +44 -0
  1030. package/python/Lib/site-packages/pip/_internal/utils/pylock.py +116 -0
  1031. package/python/Lib/site-packages/pip/_internal/utils/retry.py +45 -0
  1032. package/python/Lib/site-packages/pip/_internal/utils/subprocess.py +248 -0
  1033. package/python/Lib/site-packages/pip/_internal/utils/temp_dir.py +294 -0
  1034. package/python/Lib/site-packages/pip/_internal/utils/unpacking.py +362 -0
  1035. package/python/Lib/site-packages/pip/_internal/utils/urls.py +55 -0
  1036. package/python/Lib/site-packages/pip/_internal/utils/virtualenv.py +105 -0
  1037. package/python/Lib/site-packages/pip/_internal/utils/wheel.py +132 -0
  1038. package/python/Lib/site-packages/pip/_internal/vcs/__init__.py +15 -0
  1039. package/python/Lib/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-313.pyc +0 -0
  1040. package/python/Lib/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-313.pyc +0 -0
  1041. package/python/Lib/site-packages/pip/_internal/vcs/__pycache__/git.cpython-313.pyc +0 -0
  1042. package/python/Lib/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-313.pyc +0 -0
  1043. package/python/Lib/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-313.pyc +0 -0
  1044. package/python/Lib/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-313.pyc +0 -0
  1045. package/python/Lib/site-packages/pip/_internal/vcs/bazaar.py +130 -0
  1046. package/python/Lib/site-packages/pip/_internal/vcs/git.py +571 -0
  1047. package/python/Lib/site-packages/pip/_internal/vcs/mercurial.py +186 -0
  1048. package/python/Lib/site-packages/pip/_internal/vcs/subversion.py +335 -0
  1049. package/python/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +695 -0
  1050. package/python/Lib/site-packages/pip/_internal/wheel_builder.py +261 -0
  1051. package/python/Lib/site-packages/pip/_vendor/README.rst +180 -0
  1052. package/python/Lib/site-packages/pip/_vendor/__init__.py +117 -0
  1053. package/python/Lib/site-packages/pip/_vendor/__pycache__/__init__.cpython-313.pyc +0 -0
  1054. package/python/Lib/site-packages/pip/_vendor/cachecontrol/LICENSE.txt +13 -0
  1055. package/python/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +32 -0
  1056. package/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-313.pyc +0 -0
  1057. package/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-313.pyc +0 -0
  1058. package/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-313.pyc +0 -0
  1059. package/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-313.pyc +0 -0
  1060. package/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-313.pyc +0 -0
  1061. package/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-313.pyc +0 -0
  1062. package/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-313.pyc +0 -0
  1063. package/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-313.pyc +0 -0
  1064. package/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-313.pyc +0 -0
  1065. package/python/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +70 -0
  1066. package/python/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +167 -0
  1067. package/python/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +75 -0
  1068. package/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +8 -0
  1069. package/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-313.pyc +0 -0
  1070. package/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-313.pyc +0 -0
  1071. package/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-313.pyc +0 -0
  1072. package/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +145 -0
  1073. package/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +48 -0
  1074. package/python/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +511 -0
  1075. package/python/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +121 -0
  1076. package/python/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +157 -0
  1077. package/python/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  1078. package/python/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +146 -0
  1079. package/python/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +43 -0
  1080. package/python/Lib/site-packages/pip/_vendor/certifi/LICENSE +20 -0
  1081. package/python/Lib/site-packages/pip/_vendor/certifi/__init__.py +4 -0
  1082. package/python/Lib/site-packages/pip/_vendor/certifi/__main__.py +12 -0
  1083. package/python/Lib/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-313.pyc +0 -0
  1084. package/python/Lib/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-313.pyc +0 -0
  1085. package/python/Lib/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-313.pyc +0 -0
  1086. package/python/Lib/site-packages/pip/_vendor/certifi/cacert.pem +4468 -0
  1087. package/python/Lib/site-packages/pip/_vendor/certifi/core.py +83 -0
  1088. package/python/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
  1089. package/python/Lib/site-packages/pip/_vendor/dependency_groups/LICENSE.txt +9 -0
  1090. package/python/Lib/site-packages/pip/_vendor/dependency_groups/__init__.py +13 -0
  1091. package/python/Lib/site-packages/pip/_vendor/dependency_groups/__main__.py +65 -0
  1092. package/python/Lib/site-packages/pip/_vendor/dependency_groups/__pycache__/__init__.cpython-313.pyc +0 -0
  1093. package/python/Lib/site-packages/pip/_vendor/dependency_groups/__pycache__/__main__.cpython-313.pyc +0 -0
  1094. package/python/Lib/site-packages/pip/_vendor/dependency_groups/__pycache__/_implementation.cpython-313.pyc +0 -0
  1095. package/python/Lib/site-packages/pip/_vendor/dependency_groups/__pycache__/_lint_dependency_groups.cpython-313.pyc +0 -0
  1096. package/python/Lib/site-packages/pip/_vendor/dependency_groups/__pycache__/_pip_wrapper.cpython-313.pyc +0 -0
  1097. package/python/Lib/site-packages/pip/_vendor/dependency_groups/__pycache__/_toml_compat.cpython-313.pyc +0 -0
  1098. package/python/Lib/site-packages/pip/_vendor/dependency_groups/_implementation.py +209 -0
  1099. package/python/Lib/site-packages/pip/_vendor/dependency_groups/_lint_dependency_groups.py +59 -0
  1100. package/python/Lib/site-packages/pip/_vendor/dependency_groups/_pip_wrapper.py +62 -0
  1101. package/python/Lib/site-packages/pip/_vendor/dependency_groups/_toml_compat.py +9 -0
  1102. package/python/Lib/site-packages/pip/_vendor/dependency_groups/py.typed +0 -0
  1103. package/python/Lib/site-packages/pip/_vendor/distlib/LICENSE.txt +284 -0
  1104. package/python/Lib/site-packages/pip/_vendor/distlib/__init__.py +33 -0
  1105. package/python/Lib/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-313.pyc +0 -0
  1106. package/python/Lib/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-313.pyc +0 -0
  1107. package/python/Lib/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-313.pyc +0 -0
  1108. package/python/Lib/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-313.pyc +0 -0
  1109. package/python/Lib/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-313.pyc +0 -0
  1110. package/python/Lib/site-packages/pip/_vendor/distlib/compat.py +1137 -0
  1111. package/python/Lib/site-packages/pip/_vendor/distlib/resources.py +358 -0
  1112. package/python/Lib/site-packages/pip/_vendor/distlib/scripts.py +447 -0
  1113. package/python/Lib/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  1114. package/python/Lib/site-packages/pip/_vendor/distlib/t64-arm.exe +0 -0
  1115. package/python/Lib/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  1116. package/python/Lib/site-packages/pip/_vendor/distlib/util.py +1984 -0
  1117. package/python/Lib/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  1118. package/python/Lib/site-packages/pip/_vendor/distlib/w64-arm.exe +0 -0
  1119. package/python/Lib/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  1120. package/python/Lib/site-packages/pip/_vendor/distro/LICENSE +202 -0
  1121. package/python/Lib/site-packages/pip/_vendor/distro/__init__.py +54 -0
  1122. package/python/Lib/site-packages/pip/_vendor/distro/__main__.py +4 -0
  1123. package/python/Lib/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-313.pyc +0 -0
  1124. package/python/Lib/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-313.pyc +0 -0
  1125. package/python/Lib/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-313.pyc +0 -0
  1126. package/python/Lib/site-packages/pip/_vendor/distro/distro.py +1403 -0
  1127. package/python/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
  1128. package/python/Lib/site-packages/pip/_vendor/idna/LICENSE.md +31 -0
  1129. package/python/Lib/site-packages/pip/_vendor/idna/__init__.py +45 -0
  1130. package/python/Lib/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-313.pyc +0 -0
  1131. package/python/Lib/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-313.pyc +0 -0
  1132. package/python/Lib/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-313.pyc +0 -0
  1133. package/python/Lib/site-packages/pip/_vendor/idna/__pycache__/core.cpython-313.pyc +0 -0
  1134. package/python/Lib/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-313.pyc +0 -0
  1135. package/python/Lib/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-313.pyc +0 -0
  1136. package/python/Lib/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-313.pyc +0 -0
  1137. package/python/Lib/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-313.pyc +0 -0
  1138. package/python/Lib/site-packages/pip/_vendor/idna/codec.py +122 -0
  1139. package/python/Lib/site-packages/pip/_vendor/idna/compat.py +15 -0
  1140. package/python/Lib/site-packages/pip/_vendor/idna/core.py +437 -0
  1141. package/python/Lib/site-packages/pip/_vendor/idna/idnadata.py +4309 -0
  1142. package/python/Lib/site-packages/pip/_vendor/idna/intranges.py +57 -0
  1143. package/python/Lib/site-packages/pip/_vendor/idna/package_data.py +1 -0
  1144. package/python/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
  1145. package/python/Lib/site-packages/pip/_vendor/idna/uts46data.py +8841 -0
  1146. package/python/Lib/site-packages/pip/_vendor/msgpack/COPYING +14 -0
  1147. package/python/Lib/site-packages/pip/_vendor/msgpack/__init__.py +55 -0
  1148. package/python/Lib/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-313.pyc +0 -0
  1149. package/python/Lib/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-313.pyc +0 -0
  1150. package/python/Lib/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-313.pyc +0 -0
  1151. package/python/Lib/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-313.pyc +0 -0
  1152. package/python/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
  1153. package/python/Lib/site-packages/pip/_vendor/msgpack/ext.py +170 -0
  1154. package/python/Lib/site-packages/pip/_vendor/msgpack/fallback.py +929 -0
  1155. package/python/Lib/site-packages/pip/_vendor/packaging/LICENSE +3 -0
  1156. package/python/Lib/site-packages/pip/_vendor/packaging/LICENSE.APACHE +177 -0
  1157. package/python/Lib/site-packages/pip/_vendor/packaging/LICENSE.BSD +23 -0
  1158. package/python/Lib/site-packages/pip/_vendor/packaging/__init__.py +15 -0
  1159. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-313.pyc +0 -0
  1160. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/_elffile.cpython-313.pyc +0 -0
  1161. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-313.pyc +0 -0
  1162. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-313.pyc +0 -0
  1163. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/_parser.cpython-313.pyc +0 -0
  1164. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-313.pyc +0 -0
  1165. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/_tokenizer.cpython-313.pyc +0 -0
  1166. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-313.pyc +0 -0
  1167. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/metadata.cpython-313.pyc +0 -0
  1168. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/pylock.cpython-313.pyc +0 -0
  1169. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-313.pyc +0 -0
  1170. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-313.pyc +0 -0
  1171. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-313.pyc +0 -0
  1172. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-313.pyc +0 -0
  1173. package/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-313.pyc +0 -0
  1174. package/python/Lib/site-packages/pip/_vendor/packaging/_elffile.py +108 -0
  1175. package/python/Lib/site-packages/pip/_vendor/packaging/_manylinux.py +262 -0
  1176. package/python/Lib/site-packages/pip/_vendor/packaging/_musllinux.py +85 -0
  1177. package/python/Lib/site-packages/pip/_vendor/packaging/_parser.py +365 -0
  1178. package/python/Lib/site-packages/pip/_vendor/packaging/_structures.py +69 -0
  1179. package/python/Lib/site-packages/pip/_vendor/packaging/_tokenizer.py +193 -0
  1180. package/python/Lib/site-packages/pip/_vendor/packaging/licenses/__init__.py +147 -0
  1181. package/python/Lib/site-packages/pip/_vendor/packaging/licenses/__pycache__/__init__.cpython-313.pyc +0 -0
  1182. package/python/Lib/site-packages/pip/_vendor/packaging/licenses/__pycache__/_spdx.cpython-313.pyc +0 -0
  1183. package/python/Lib/site-packages/pip/_vendor/packaging/licenses/_spdx.py +799 -0
  1184. package/python/Lib/site-packages/pip/_vendor/packaging/markers.py +388 -0
  1185. package/python/Lib/site-packages/pip/_vendor/packaging/metadata.py +978 -0
  1186. package/python/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
  1187. package/python/Lib/site-packages/pip/_vendor/packaging/pylock.py +635 -0
  1188. package/python/Lib/site-packages/pip/_vendor/packaging/requirements.py +86 -0
  1189. package/python/Lib/site-packages/pip/_vendor/packaging/specifiers.py +1068 -0
  1190. package/python/Lib/site-packages/pip/_vendor/packaging/tags.py +651 -0
  1191. package/python/Lib/site-packages/pip/_vendor/packaging/utils.py +158 -0
  1192. package/python/Lib/site-packages/pip/_vendor/packaging/version.py +792 -0
  1193. package/python/Lib/site-packages/pip/_vendor/pkg_resources/LICENSE +17 -0
  1194. package/python/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +3676 -0
  1195. package/python/Lib/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-313.pyc +0 -0
  1196. package/python/Lib/site-packages/pip/_vendor/platformdirs/LICENSE +21 -0
  1197. package/python/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +631 -0
  1198. package/python/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +55 -0
  1199. package/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-313.pyc +0 -0
  1200. package/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-313.pyc +0 -0
  1201. package/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-313.pyc +0 -0
  1202. package/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-313.pyc +0 -0
  1203. package/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-313.pyc +0 -0
  1204. package/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-313.pyc +0 -0
  1205. package/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-313.pyc +0 -0
  1206. package/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-313.pyc +0 -0
  1207. package/python/Lib/site-packages/pip/_vendor/platformdirs/android.py +249 -0
  1208. package/python/Lib/site-packages/pip/_vendor/platformdirs/api.py +299 -0
  1209. package/python/Lib/site-packages/pip/_vendor/platformdirs/macos.py +146 -0
  1210. package/python/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  1211. package/python/Lib/site-packages/pip/_vendor/platformdirs/unix.py +272 -0
  1212. package/python/Lib/site-packages/pip/_vendor/platformdirs/version.py +34 -0
  1213. package/python/Lib/site-packages/pip/_vendor/platformdirs/windows.py +278 -0
  1214. package/python/Lib/site-packages/pip/_vendor/pygments/LICENSE +25 -0
  1215. package/python/Lib/site-packages/pip/_vendor/pygments/__init__.py +82 -0
  1216. package/python/Lib/site-packages/pip/_vendor/pygments/__main__.py +17 -0
  1217. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-313.pyc +0 -0
  1218. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-313.pyc +0 -0
  1219. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-313.pyc +0 -0
  1220. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-313.pyc +0 -0
  1221. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-313.pyc +0 -0
  1222. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-313.pyc +0 -0
  1223. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-313.pyc +0 -0
  1224. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-313.pyc +0 -0
  1225. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-313.pyc +0 -0
  1226. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-313.pyc +0 -0
  1227. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-313.pyc +0 -0
  1228. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-313.pyc +0 -0
  1229. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-313.pyc +0 -0
  1230. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-313.pyc +0 -0
  1231. package/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-313.pyc +0 -0
  1232. package/python/Lib/site-packages/pip/_vendor/pygments/console.py +70 -0
  1233. package/python/Lib/site-packages/pip/_vendor/pygments/filter.py +70 -0
  1234. package/python/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +940 -0
  1235. package/python/Lib/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-313.pyc +0 -0
  1236. package/python/Lib/site-packages/pip/_vendor/pygments/formatter.py +129 -0
  1237. package/python/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +157 -0
  1238. package/python/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-313.pyc +0 -0
  1239. package/python/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-313.pyc +0 -0
  1240. package/python/Lib/site-packages/pip/_vendor/pygments/formatters/_mapping.py +23 -0
  1241. package/python/Lib/site-packages/pip/_vendor/pygments/lexer.py +963 -0
  1242. package/python/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +362 -0
  1243. package/python/Lib/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-313.pyc +0 -0
  1244. package/python/Lib/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-313.pyc +0 -0
  1245. package/python/Lib/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-313.pyc +0 -0
  1246. package/python/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +602 -0
  1247. package/python/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +1201 -0
  1248. package/python/Lib/site-packages/pip/_vendor/pygments/modeline.py +43 -0
  1249. package/python/Lib/site-packages/pip/_vendor/pygments/plugin.py +72 -0
  1250. package/python/Lib/site-packages/pip/_vendor/pygments/regexopt.py +91 -0
  1251. package/python/Lib/site-packages/pip/_vendor/pygments/scanner.py +104 -0
  1252. package/python/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +247 -0
  1253. package/python/Lib/site-packages/pip/_vendor/pygments/style.py +203 -0
  1254. package/python/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +61 -0
  1255. package/python/Lib/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-313.pyc +0 -0
  1256. package/python/Lib/site-packages/pip/_vendor/pygments/styles/__pycache__/_mapping.cpython-313.pyc +0 -0
  1257. package/python/Lib/site-packages/pip/_vendor/pygments/styles/_mapping.py +54 -0
  1258. package/python/Lib/site-packages/pip/_vendor/pygments/token.py +214 -0
  1259. package/python/Lib/site-packages/pip/_vendor/pygments/unistring.py +153 -0
  1260. package/python/Lib/site-packages/pip/_vendor/pygments/util.py +324 -0
  1261. package/python/Lib/site-packages/pip/_vendor/pyproject_hooks/LICENSE +21 -0
  1262. package/python/Lib/site-packages/pip/_vendor/pyproject_hooks/__init__.py +31 -0
  1263. package/python/Lib/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
  1264. package/python/Lib/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-313.pyc +0 -0
  1265. package/python/Lib/site-packages/pip/_vendor/pyproject_hooks/_impl.py +410 -0
  1266. package/python/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +21 -0
  1267. package/python/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-313.pyc +0 -0
  1268. package/python/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-313.pyc +0 -0
  1269. package/python/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +389 -0
  1270. package/python/Lib/site-packages/pip/_vendor/pyproject_hooks/py.typed +0 -0
  1271. package/python/Lib/site-packages/pip/_vendor/requests/LICENSE +175 -0
  1272. package/python/Lib/site-packages/pip/_vendor/requests/__init__.py +179 -0
  1273. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-313.pyc +0 -0
  1274. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-313.pyc +0 -0
  1275. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-313.pyc +0 -0
  1276. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-313.pyc +0 -0
  1277. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/api.cpython-313.pyc +0 -0
  1278. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-313.pyc +0 -0
  1279. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-313.pyc +0 -0
  1280. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-313.pyc +0 -0
  1281. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-313.pyc +0 -0
  1282. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-313.pyc +0 -0
  1283. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/help.cpython-313.pyc +0 -0
  1284. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-313.pyc +0 -0
  1285. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/models.cpython-313.pyc +0 -0
  1286. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-313.pyc +0 -0
  1287. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-313.pyc +0 -0
  1288. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-313.pyc +0 -0
  1289. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-313.pyc +0 -0
  1290. package/python/Lib/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-313.pyc +0 -0
  1291. package/python/Lib/site-packages/pip/_vendor/requests/__version__.py +14 -0
  1292. package/python/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +50 -0
  1293. package/python/Lib/site-packages/pip/_vendor/requests/adapters.py +696 -0
  1294. package/python/Lib/site-packages/pip/_vendor/requests/api.py +157 -0
  1295. package/python/Lib/site-packages/pip/_vendor/requests/auth.py +314 -0
  1296. package/python/Lib/site-packages/pip/_vendor/requests/certs.py +17 -0
  1297. package/python/Lib/site-packages/pip/_vendor/requests/compat.py +90 -0
  1298. package/python/Lib/site-packages/pip/_vendor/requests/cookies.py +561 -0
  1299. package/python/Lib/site-packages/pip/_vendor/requests/exceptions.py +151 -0
  1300. package/python/Lib/site-packages/pip/_vendor/requests/help.py +127 -0
  1301. package/python/Lib/site-packages/pip/_vendor/requests/hooks.py +33 -0
  1302. package/python/Lib/site-packages/pip/_vendor/requests/models.py +1039 -0
  1303. package/python/Lib/site-packages/pip/_vendor/requests/packages.py +25 -0
  1304. package/python/Lib/site-packages/pip/_vendor/requests/sessions.py +831 -0
  1305. package/python/Lib/site-packages/pip/_vendor/requests/status_codes.py +128 -0
  1306. package/python/Lib/site-packages/pip/_vendor/requests/structures.py +99 -0
  1307. package/python/Lib/site-packages/pip/_vendor/requests/utils.py +1086 -0
  1308. package/python/Lib/site-packages/pip/_vendor/resolvelib/LICENSE +13 -0
  1309. package/python/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +27 -0
  1310. package/python/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-313.pyc +0 -0
  1311. package/python/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-313.pyc +0 -0
  1312. package/python/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-313.pyc +0 -0
  1313. package/python/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-313.pyc +0 -0
  1314. package/python/Lib/site-packages/pip/_vendor/resolvelib/providers.py +196 -0
  1315. package/python/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  1316. package/python/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +55 -0
  1317. package/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py +27 -0
  1318. package/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/__init__.cpython-313.pyc +0 -0
  1319. package/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/abstract.cpython-313.pyc +0 -0
  1320. package/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/criterion.cpython-313.pyc +0 -0
  1321. package/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/exceptions.cpython-313.pyc +0 -0
  1322. package/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/resolution.cpython-313.pyc +0 -0
  1323. package/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py +47 -0
  1324. package/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py +48 -0
  1325. package/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py +57 -0
  1326. package/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py +627 -0
  1327. package/python/Lib/site-packages/pip/_vendor/resolvelib/structs.py +209 -0
  1328. package/python/Lib/site-packages/pip/_vendor/rich/LICENSE +19 -0
  1329. package/python/Lib/site-packages/pip/_vendor/rich/__init__.py +177 -0
  1330. package/python/Lib/site-packages/pip/_vendor/rich/__main__.py +245 -0
  1331. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-313.pyc +0 -0
  1332. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-313.pyc +0 -0
  1333. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-313.pyc +0 -0
  1334. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-313.pyc +0 -0
  1335. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-313.pyc +0 -0
  1336. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-313.pyc +0 -0
  1337. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-313.pyc +0 -0
  1338. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-313.pyc +0 -0
  1339. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-313.pyc +0 -0
  1340. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-313.pyc +0 -0
  1341. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-313.pyc +0 -0
  1342. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-313.pyc +0 -0
  1343. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-313.pyc +0 -0
  1344. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-313.pyc +0 -0
  1345. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-313.pyc +0 -0
  1346. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-313.pyc +0 -0
  1347. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-313.pyc +0 -0
  1348. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-313.pyc +0 -0
  1349. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-313.pyc +0 -0
  1350. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-313.pyc +0 -0
  1351. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-313.pyc +0 -0
  1352. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-313.pyc +0 -0
  1353. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-313.pyc +0 -0
  1354. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/align.cpython-313.pyc +0 -0
  1355. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-313.pyc +0 -0
  1356. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-313.pyc +0 -0
  1357. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/box.cpython-313.pyc +0 -0
  1358. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-313.pyc +0 -0
  1359. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/color.cpython-313.pyc +0 -0
  1360. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-313.pyc +0 -0
  1361. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-313.pyc +0 -0
  1362. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/console.cpython-313.pyc +0 -0
  1363. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-313.pyc +0 -0
  1364. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-313.pyc +0 -0
  1365. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/control.cpython-313.pyc +0 -0
  1366. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-313.pyc +0 -0
  1367. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-313.pyc +0 -0
  1368. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-313.pyc +0 -0
  1369. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-313.pyc +0 -0
  1370. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-313.pyc +0 -0
  1371. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-313.pyc +0 -0
  1372. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-313.pyc +0 -0
  1373. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/json.cpython-313.pyc +0 -0
  1374. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-313.pyc +0 -0
  1375. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-313.pyc +0 -0
  1376. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/live.cpython-313.pyc +0 -0
  1377. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-313.pyc +0 -0
  1378. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-313.pyc +0 -0
  1379. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-313.pyc +0 -0
  1380. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-313.pyc +0 -0
  1381. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-313.pyc +0 -0
  1382. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-313.pyc +0 -0
  1383. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-313.pyc +0 -0
  1384. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-313.pyc +0 -0
  1385. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-313.pyc +0 -0
  1386. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-313.pyc +0 -0
  1387. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-313.pyc +0 -0
  1388. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-313.pyc +0 -0
  1389. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-313.pyc +0 -0
  1390. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/region.cpython-313.pyc +0 -0
  1391. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-313.pyc +0 -0
  1392. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-313.pyc +0 -0
  1393. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-313.pyc +0 -0
  1394. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-313.pyc +0 -0
  1395. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-313.pyc +0 -0
  1396. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-313.pyc +0 -0
  1397. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/status.cpython-313.pyc +0 -0
  1398. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/style.cpython-313.pyc +0 -0
  1399. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-313.pyc +0 -0
  1400. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-313.pyc +0 -0
  1401. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/table.cpython-313.pyc +0 -0
  1402. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-313.pyc +0 -0
  1403. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/text.cpython-313.pyc +0 -0
  1404. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-313.pyc +0 -0
  1405. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-313.pyc +0 -0
  1406. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-313.pyc +0 -0
  1407. package/python/Lib/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-313.pyc +0 -0
  1408. package/python/Lib/site-packages/pip/_vendor/rich/_cell_widths.py +454 -0
  1409. package/python/Lib/site-packages/pip/_vendor/rich/_emoji_codes.py +3610 -0
  1410. package/python/Lib/site-packages/pip/_vendor/rich/_emoji_replace.py +32 -0
  1411. package/python/Lib/site-packages/pip/_vendor/rich/_export_format.py +76 -0
  1412. package/python/Lib/site-packages/pip/_vendor/rich/_extension.py +10 -0
  1413. package/python/Lib/site-packages/pip/_vendor/rich/_fileno.py +24 -0
  1414. package/python/Lib/site-packages/pip/_vendor/rich/_inspect.py +268 -0
  1415. package/python/Lib/site-packages/pip/_vendor/rich/_log_render.py +94 -0
  1416. package/python/Lib/site-packages/pip/_vendor/rich/_loop.py +43 -0
  1417. package/python/Lib/site-packages/pip/_vendor/rich/_null_file.py +69 -0
  1418. package/python/Lib/site-packages/pip/_vendor/rich/_palettes.py +309 -0
  1419. package/python/Lib/site-packages/pip/_vendor/rich/_pick.py +17 -0
  1420. package/python/Lib/site-packages/pip/_vendor/rich/_ratio.py +153 -0
  1421. package/python/Lib/site-packages/pip/_vendor/rich/_spinners.py +482 -0
  1422. package/python/Lib/site-packages/pip/_vendor/rich/_stack.py +16 -0
  1423. package/python/Lib/site-packages/pip/_vendor/rich/_timer.py +19 -0
  1424. package/python/Lib/site-packages/pip/_vendor/rich/_win32_console.py +661 -0
  1425. package/python/Lib/site-packages/pip/_vendor/rich/_windows.py +71 -0
  1426. package/python/Lib/site-packages/pip/_vendor/rich/_windows_renderer.py +56 -0
  1427. package/python/Lib/site-packages/pip/_vendor/rich/_wrap.py +93 -0
  1428. package/python/Lib/site-packages/pip/_vendor/rich/abc.py +33 -0
  1429. package/python/Lib/site-packages/pip/_vendor/rich/align.py +306 -0
  1430. package/python/Lib/site-packages/pip/_vendor/rich/ansi.py +241 -0
  1431. package/python/Lib/site-packages/pip/_vendor/rich/bar.py +93 -0
  1432. package/python/Lib/site-packages/pip/_vendor/rich/box.py +474 -0
  1433. package/python/Lib/site-packages/pip/_vendor/rich/cells.py +174 -0
  1434. package/python/Lib/site-packages/pip/_vendor/rich/color.py +621 -0
  1435. package/python/Lib/site-packages/pip/_vendor/rich/color_triplet.py +38 -0
  1436. package/python/Lib/site-packages/pip/_vendor/rich/columns.py +187 -0
  1437. package/python/Lib/site-packages/pip/_vendor/rich/console.py +2680 -0
  1438. package/python/Lib/site-packages/pip/_vendor/rich/constrain.py +37 -0
  1439. package/python/Lib/site-packages/pip/_vendor/rich/containers.py +167 -0
  1440. package/python/Lib/site-packages/pip/_vendor/rich/control.py +219 -0
  1441. package/python/Lib/site-packages/pip/_vendor/rich/default_styles.py +193 -0
  1442. package/python/Lib/site-packages/pip/_vendor/rich/diagnose.py +39 -0
  1443. package/python/Lib/site-packages/pip/_vendor/rich/emoji.py +91 -0
  1444. package/python/Lib/site-packages/pip/_vendor/rich/errors.py +34 -0
  1445. package/python/Lib/site-packages/pip/_vendor/rich/file_proxy.py +57 -0
  1446. package/python/Lib/site-packages/pip/_vendor/rich/filesize.py +88 -0
  1447. package/python/Lib/site-packages/pip/_vendor/rich/highlighter.py +232 -0
  1448. package/python/Lib/site-packages/pip/_vendor/rich/json.py +139 -0
  1449. package/python/Lib/site-packages/pip/_vendor/rich/jupyter.py +101 -0
  1450. package/python/Lib/site-packages/pip/_vendor/rich/layout.py +442 -0
  1451. package/python/Lib/site-packages/pip/_vendor/rich/live.py +400 -0
  1452. package/python/Lib/site-packages/pip/_vendor/rich/live_render.py +106 -0
  1453. package/python/Lib/site-packages/pip/_vendor/rich/logging.py +297 -0
  1454. package/python/Lib/site-packages/pip/_vendor/rich/markup.py +251 -0
  1455. package/python/Lib/site-packages/pip/_vendor/rich/measure.py +151 -0
  1456. package/python/Lib/site-packages/pip/_vendor/rich/padding.py +141 -0
  1457. package/python/Lib/site-packages/pip/_vendor/rich/pager.py +34 -0
  1458. package/python/Lib/site-packages/pip/_vendor/rich/palette.py +100 -0
  1459. package/python/Lib/site-packages/pip/_vendor/rich/panel.py +317 -0
  1460. package/python/Lib/site-packages/pip/_vendor/rich/pretty.py +1016 -0
  1461. package/python/Lib/site-packages/pip/_vendor/rich/progress.py +1715 -0
  1462. package/python/Lib/site-packages/pip/_vendor/rich/progress_bar.py +223 -0
  1463. package/python/Lib/site-packages/pip/_vendor/rich/prompt.py +400 -0
  1464. package/python/Lib/site-packages/pip/_vendor/rich/protocol.py +42 -0
  1465. package/python/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
  1466. package/python/Lib/site-packages/pip/_vendor/rich/region.py +10 -0
  1467. package/python/Lib/site-packages/pip/_vendor/rich/repr.py +149 -0
  1468. package/python/Lib/site-packages/pip/_vendor/rich/rule.py +130 -0
  1469. package/python/Lib/site-packages/pip/_vendor/rich/scope.py +86 -0
  1470. package/python/Lib/site-packages/pip/_vendor/rich/screen.py +54 -0
  1471. package/python/Lib/site-packages/pip/_vendor/rich/segment.py +752 -0
  1472. package/python/Lib/site-packages/pip/_vendor/rich/spinner.py +132 -0
  1473. package/python/Lib/site-packages/pip/_vendor/rich/status.py +131 -0
  1474. package/python/Lib/site-packages/pip/_vendor/rich/style.py +792 -0
  1475. package/python/Lib/site-packages/pip/_vendor/rich/styled.py +42 -0
  1476. package/python/Lib/site-packages/pip/_vendor/rich/syntax.py +985 -0
  1477. package/python/Lib/site-packages/pip/_vendor/rich/table.py +1006 -0
  1478. package/python/Lib/site-packages/pip/_vendor/rich/terminal_theme.py +153 -0
  1479. package/python/Lib/site-packages/pip/_vendor/rich/text.py +1361 -0
  1480. package/python/Lib/site-packages/pip/_vendor/rich/theme.py +115 -0
  1481. package/python/Lib/site-packages/pip/_vendor/rich/themes.py +5 -0
  1482. package/python/Lib/site-packages/pip/_vendor/rich/traceback.py +899 -0
  1483. package/python/Lib/site-packages/pip/_vendor/rich/tree.py +257 -0
  1484. package/python/Lib/site-packages/pip/_vendor/tomli/LICENSE +21 -0
  1485. package/python/Lib/site-packages/pip/_vendor/tomli/__init__.py +8 -0
  1486. package/python/Lib/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-313.pyc +0 -0
  1487. package/python/Lib/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-313.pyc +0 -0
  1488. package/python/Lib/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-313.pyc +0 -0
  1489. package/python/Lib/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-313.pyc +0 -0
  1490. package/python/Lib/site-packages/pip/_vendor/tomli/_parser.py +777 -0
  1491. package/python/Lib/site-packages/pip/_vendor/tomli/_re.py +115 -0
  1492. package/python/Lib/site-packages/pip/_vendor/tomli/_types.py +10 -0
  1493. package/python/Lib/site-packages/pip/_vendor/tomli/py.typed +1 -0
  1494. package/python/Lib/site-packages/pip/_vendor/tomli_w/LICENSE +21 -0
  1495. package/python/Lib/site-packages/pip/_vendor/tomli_w/__init__.py +4 -0
  1496. package/python/Lib/site-packages/pip/_vendor/tomli_w/__pycache__/__init__.cpython-313.pyc +0 -0
  1497. package/python/Lib/site-packages/pip/_vendor/tomli_w/__pycache__/_writer.cpython-313.pyc +0 -0
  1498. package/python/Lib/site-packages/pip/_vendor/tomli_w/_writer.py +229 -0
  1499. package/python/Lib/site-packages/pip/_vendor/tomli_w/py.typed +1 -0
  1500. package/python/Lib/site-packages/pip/_vendor/truststore/LICENSE +21 -0
  1501. package/python/Lib/site-packages/pip/_vendor/truststore/__init__.py +36 -0
  1502. package/python/Lib/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-313.pyc +0 -0
  1503. package/python/Lib/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-313.pyc +0 -0
  1504. package/python/Lib/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-313.pyc +0 -0
  1505. package/python/Lib/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-313.pyc +0 -0
  1506. package/python/Lib/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-313.pyc +0 -0
  1507. package/python/Lib/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-313.pyc +0 -0
  1508. package/python/Lib/site-packages/pip/_vendor/truststore/_api.py +341 -0
  1509. package/python/Lib/site-packages/pip/_vendor/truststore/_macos.py +571 -0
  1510. package/python/Lib/site-packages/pip/_vendor/truststore/_openssl.py +68 -0
  1511. package/python/Lib/site-packages/pip/_vendor/truststore/_ssl_constants.py +31 -0
  1512. package/python/Lib/site-packages/pip/_vendor/truststore/_windows.py +567 -0
  1513. package/python/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
  1514. package/python/Lib/site-packages/pip/_vendor/urllib3/LICENSE.txt +21 -0
  1515. package/python/Lib/site-packages/pip/_vendor/urllib3/__init__.py +102 -0
  1516. package/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-313.pyc +0 -0
  1517. package/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-313.pyc +0 -0
  1518. package/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-313.pyc +0 -0
  1519. package/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-313.pyc +0 -0
  1520. package/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-313.pyc +0 -0
  1521. package/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-313.pyc +0 -0
  1522. package/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-313.pyc +0 -0
  1523. package/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-313.pyc +0 -0
  1524. package/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-313.pyc +0 -0
  1525. package/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-313.pyc +0 -0
  1526. package/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-313.pyc +0 -0
  1527. package/python/Lib/site-packages/pip/_vendor/urllib3/_collections.py +355 -0
  1528. package/python/Lib/site-packages/pip/_vendor/urllib3/_version.py +2 -0
  1529. package/python/Lib/site-packages/pip/_vendor/urllib3/connection.py +572 -0
  1530. package/python/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +1140 -0
  1531. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  1532. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-313.pyc +0 -0
  1533. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-313.pyc +0 -0
  1534. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-313.pyc +0 -0
  1535. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-313.pyc +0 -0
  1536. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-313.pyc +0 -0
  1537. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-313.pyc +0 -0
  1538. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-313.pyc +0 -0
  1539. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +36 -0
  1540. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  1541. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-313.pyc +0 -0
  1542. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-313.pyc +0 -0
  1543. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-313.pyc +0 -0
  1544. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +519 -0
  1545. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +397 -0
  1546. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +314 -0
  1547. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +130 -0
  1548. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +518 -0
  1549. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +920 -0
  1550. package/python/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +216 -0
  1551. package/python/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +323 -0
  1552. package/python/Lib/site-packages/pip/_vendor/urllib3/fields.py +274 -0
  1553. package/python/Lib/site-packages/pip/_vendor/urllib3/filepost.py +98 -0
  1554. package/python/Lib/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  1555. package/python/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-313.pyc +0 -0
  1556. package/python/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-313.pyc +0 -0
  1557. package/python/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  1558. package/python/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-313.pyc +0 -0
  1559. package/python/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-313.pyc +0 -0
  1560. package/python/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/weakref_finalize.cpython-313.pyc +0 -0
  1561. package/python/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +51 -0
  1562. package/python/Lib/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +155 -0
  1563. package/python/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +1076 -0
  1564. package/python/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +540 -0
  1565. package/python/Lib/site-packages/pip/_vendor/urllib3/request.py +191 -0
  1566. package/python/Lib/site-packages/pip/_vendor/urllib3/response.py +879 -0
  1567. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +49 -0
  1568. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-313.pyc +0 -0
  1569. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-313.pyc +0 -0
  1570. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-313.pyc +0 -0
  1571. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-313.pyc +0 -0
  1572. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-313.pyc +0 -0
  1573. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-313.pyc +0 -0
  1574. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-313.pyc +0 -0
  1575. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-313.pyc +0 -0
  1576. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-313.pyc +0 -0
  1577. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-313.pyc +0 -0
  1578. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-313.pyc +0 -0
  1579. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-313.pyc +0 -0
  1580. package/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-313.pyc +0 -0
  1581. package/python/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +149 -0
  1582. package/python/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +57 -0
  1583. package/python/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +22 -0
  1584. package/python/Lib/site-packages/pip/_vendor/urllib3/util/request.py +137 -0
  1585. package/python/Lib/site-packages/pip/_vendor/urllib3/util/response.py +107 -0
  1586. package/python/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +622 -0
  1587. package/python/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +504 -0
  1588. package/python/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +159 -0
  1589. package/python/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +221 -0
  1590. package/python/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +271 -0
  1591. package/python/Lib/site-packages/pip/_vendor/urllib3/util/url.py +435 -0
  1592. package/python/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +152 -0
  1593. package/python/Lib/site-packages/pip/_vendor/vendor.txt +19 -0
  1594. package/python/Lib/site-packages/pip/py.typed +4 -0
  1595. package/python/Lib/site-packages/pip-26.0.1.dist-info/INSTALLER +1 -0
  1596. package/python/Lib/site-packages/pip-26.0.1.dist-info/METADATA +111 -0
  1597. package/python/Lib/site-packages/pip-26.0.1.dist-info/RECORD +879 -0
  1598. package/python/Lib/site-packages/pip-26.0.1.dist-info/REQUESTED +0 -0
  1599. package/python/Lib/site-packages/pip-26.0.1.dist-info/WHEEL +4 -0
  1600. package/python/Lib/site-packages/pip-26.0.1.dist-info/direct_url.json +1 -0
  1601. package/python/Lib/site-packages/pip-26.0.1.dist-info/entry_points.txt +4 -0
  1602. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/AUTHORS.txt +860 -0
  1603. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/LICENSE.txt +20 -0
  1604. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/cachecontrol/LICENSE.txt +13 -0
  1605. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/certifi/LICENSE +20 -0
  1606. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/dependency_groups/LICENSE.txt +9 -0
  1607. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/distlib/LICENSE.txt +284 -0
  1608. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/distro/LICENSE +202 -0
  1609. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/idna/LICENSE.md +31 -0
  1610. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/msgpack/COPYING +14 -0
  1611. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/packaging/LICENSE +3 -0
  1612. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/packaging/LICENSE.APACHE +177 -0
  1613. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/packaging/LICENSE.BSD +23 -0
  1614. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/pkg_resources/LICENSE +17 -0
  1615. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/platformdirs/LICENSE +21 -0
  1616. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/pygments/LICENSE +25 -0
  1617. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/pyproject_hooks/LICENSE +21 -0
  1618. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/requests/LICENSE +175 -0
  1619. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/resolvelib/LICENSE +13 -0
  1620. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/rich/LICENSE +19 -0
  1621. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/tomli/LICENSE +21 -0
  1622. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/tomli_w/LICENSE +21 -0
  1623. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/truststore/LICENSE +21 -0
  1624. package/python/Lib/site-packages/pip-26.0.1.dist-info/licenses/src/pip/_vendor/urllib3/LICENSE.txt +21 -0
  1625. package/python/Lib/site.py +773 -0
  1626. package/python/Lib/smtplib.py +1123 -0
  1627. package/python/Lib/socket.py +982 -0
  1628. package/python/Lib/socketserver.py +863 -0
  1629. package/python/Lib/sqlite3/__init__.py +70 -0
  1630. package/python/Lib/sqlite3/__main__.py +139 -0
  1631. package/python/Lib/sqlite3/dbapi2.py +108 -0
  1632. package/python/Lib/sqlite3/dump.py +113 -0
  1633. package/python/Lib/sre_compile.py +7 -0
  1634. package/python/Lib/sre_constants.py +7 -0
  1635. package/python/Lib/sre_parse.py +7 -0
  1636. package/python/Lib/ssl.py +1529 -0
  1637. package/python/Lib/stat.py +212 -0
  1638. package/python/Lib/statistics.py +1817 -0
  1639. package/python/Lib/string.py +309 -0
  1640. package/python/Lib/stringprep.py +272 -0
  1641. package/python/Lib/struct.py +15 -0
  1642. package/python/Lib/subprocess.py +2258 -0
  1643. package/python/Lib/symtable.py +414 -0
  1644. package/python/Lib/sysconfig/__init__.py +726 -0
  1645. package/python/Lib/sysconfig/__main__.py +248 -0
  1646. package/python/Lib/sysconfig/__pycache__/__init__.cpython-313.pyc +0 -0
  1647. package/python/Lib/tabnanny.py +340 -0
  1648. package/python/Lib/tarfile.py +3070 -0
  1649. package/python/Lib/tempfile.py +957 -0
  1650. package/python/Lib/textwrap.py +497 -0
  1651. package/python/Lib/this.py +28 -0
  1652. package/python/Lib/threading.py +1602 -0
  1653. package/python/Lib/timeit.py +381 -0
  1654. package/python/Lib/tkinter/__init__.py +5002 -0
  1655. package/python/Lib/tkinter/__main__.py +7 -0
  1656. package/python/Lib/tkinter/colorchooser.py +86 -0
  1657. package/python/Lib/tkinter/commondialog.py +53 -0
  1658. package/python/Lib/tkinter/constants.py +110 -0
  1659. package/python/Lib/tkinter/dialog.py +49 -0
  1660. package/python/Lib/tkinter/dnd.py +324 -0
  1661. package/python/Lib/tkinter/filedialog.py +492 -0
  1662. package/python/Lib/tkinter/font.py +239 -0
  1663. package/python/Lib/tkinter/messagebox.py +146 -0
  1664. package/python/Lib/tkinter/scrolledtext.py +56 -0
  1665. package/python/Lib/tkinter/simpledialog.py +441 -0
  1666. package/python/Lib/tkinter/ttk.py +1647 -0
  1667. package/python/Lib/token.py +141 -0
  1668. package/python/Lib/tokenize.py +592 -0
  1669. package/python/Lib/tomllib/__init__.py +10 -0
  1670. package/python/Lib/tomllib/__pycache__/__init__.cpython-313.pyc +0 -0
  1671. package/python/Lib/tomllib/__pycache__/_parser.cpython-313.pyc +0 -0
  1672. package/python/Lib/tomllib/__pycache__/_re.cpython-313.pyc +0 -0
  1673. package/python/Lib/tomllib/__pycache__/_types.cpython-313.pyc +0 -0
  1674. package/python/Lib/tomllib/_parser.py +691 -0
  1675. package/python/Lib/tomllib/_re.py +107 -0
  1676. package/python/Lib/tomllib/_types.py +10 -0
  1677. package/python/Lib/tomllib/mypy.ini +17 -0
  1678. package/python/Lib/trace.py +754 -0
  1679. package/python/Lib/traceback.py +1638 -0
  1680. package/python/Lib/tracemalloc.py +560 -0
  1681. package/python/Lib/tty.py +73 -0
  1682. package/python/Lib/turtle.py +4199 -0
  1683. package/python/Lib/turtledemo/__init__.py +14 -0
  1684. package/python/Lib/turtledemo/__main__.py +401 -0
  1685. package/python/Lib/turtledemo/bytedesign.py +161 -0
  1686. package/python/Lib/turtledemo/chaos.py +59 -0
  1687. package/python/Lib/turtledemo/clock.py +138 -0
  1688. package/python/Lib/turtledemo/colormixer.py +58 -0
  1689. package/python/Lib/turtledemo/forest.py +108 -0
  1690. package/python/Lib/turtledemo/fractalcurves.py +138 -0
  1691. package/python/Lib/turtledemo/lindenmayer.py +119 -0
  1692. package/python/Lib/turtledemo/minimal_hanoi.py +79 -0
  1693. package/python/Lib/turtledemo/nim.py +226 -0
  1694. package/python/Lib/turtledemo/paint.py +54 -0
  1695. package/python/Lib/turtledemo/peace.py +61 -0
  1696. package/python/Lib/turtledemo/penrose.py +175 -0
  1697. package/python/Lib/turtledemo/planet_and_moon.py +111 -0
  1698. package/python/Lib/turtledemo/rosette.py +65 -0
  1699. package/python/Lib/turtledemo/round_dance.py +86 -0
  1700. package/python/Lib/turtledemo/sorting_animate.py +204 -0
  1701. package/python/Lib/turtledemo/tree.py +62 -0
  1702. package/python/Lib/turtledemo/turtle.cfg +10 -0
  1703. package/python/Lib/turtledemo/two_canvases.py +54 -0
  1704. package/python/Lib/turtledemo/yinyang.py +49 -0
  1705. package/python/Lib/types.py +345 -0
  1706. package/python/Lib/typing.py +3831 -0
  1707. package/python/Lib/unittest/__init__.py +80 -0
  1708. package/python/Lib/unittest/__main__.py +18 -0
  1709. package/python/Lib/unittest/_log.py +86 -0
  1710. package/python/Lib/unittest/async_case.py +146 -0
  1711. package/python/Lib/unittest/case.py +1478 -0
  1712. package/python/Lib/unittest/loader.py +453 -0
  1713. package/python/Lib/unittest/main.py +280 -0
  1714. package/python/Lib/unittest/mock.py +3179 -0
  1715. package/python/Lib/unittest/result.py +256 -0
  1716. package/python/Lib/unittest/runner.py +292 -0
  1717. package/python/Lib/unittest/signals.py +71 -0
  1718. package/python/Lib/unittest/suite.py +379 -0
  1719. package/python/Lib/unittest/util.py +170 -0
  1720. package/python/Lib/urllib/__init__.py +0 -0
  1721. package/python/Lib/urllib/__pycache__/__init__.cpython-313.pyc +0 -0
  1722. package/python/Lib/urllib/__pycache__/error.cpython-313.pyc +0 -0
  1723. package/python/Lib/urllib/__pycache__/parse.cpython-313.pyc +0 -0
  1724. package/python/Lib/urllib/__pycache__/request.cpython-313.pyc +0 -0
  1725. package/python/Lib/urllib/__pycache__/response.cpython-313.pyc +0 -0
  1726. package/python/Lib/urllib/error.py +74 -0
  1727. package/python/Lib/urllib/parse.py +1262 -0
  1728. package/python/Lib/urllib/request.py +2797 -0
  1729. package/python/Lib/urllib/response.py +84 -0
  1730. package/python/Lib/urllib/robotparser.py +286 -0
  1731. package/python/Lib/uuid.py +784 -0
  1732. package/python/Lib/venv/__init__.py +687 -0
  1733. package/python/Lib/venv/__main__.py +10 -0
  1734. package/python/Lib/venv/scripts/common/Activate.ps1 +248 -0
  1735. package/python/Lib/venv/scripts/common/activate +76 -0
  1736. package/python/Lib/venv/scripts/common/activate.fish +69 -0
  1737. package/python/Lib/venv/scripts/nt/activate.bat +34 -0
  1738. package/python/Lib/venv/scripts/nt/deactivate.bat +22 -0
  1739. package/python/Lib/venv/scripts/nt/venvlauncher.exe +0 -0
  1740. package/python/Lib/venv/scripts/nt/venvlauncher.pdb +0 -0
  1741. package/python/Lib/venv/scripts/nt/venvwlauncher.exe +0 -0
  1742. package/python/Lib/venv/scripts/nt/venvwlauncher.pdb +0 -0
  1743. package/python/Lib/venv/scripts/posix/activate.csh +27 -0
  1744. package/python/Lib/warnings.py +735 -0
  1745. package/python/Lib/wave.py +665 -0
  1746. package/python/Lib/weakref.py +674 -0
  1747. package/python/Lib/webbrowser.py +710 -0
  1748. package/python/Lib/wsgiref/__init__.py +25 -0
  1749. package/python/Lib/wsgiref/handlers.py +573 -0
  1750. package/python/Lib/wsgiref/headers.py +187 -0
  1751. package/python/Lib/wsgiref/simple_server.py +161 -0
  1752. package/python/Lib/wsgiref/types.py +54 -0
  1753. package/python/Lib/wsgiref/util.py +159 -0
  1754. package/python/Lib/wsgiref/validate.py +438 -0
  1755. package/python/Lib/xml/__init__.py +20 -0
  1756. package/python/Lib/xml/__pycache__/__init__.cpython-313.pyc +0 -0
  1757. package/python/Lib/xml/dom/NodeFilter.py +27 -0
  1758. package/python/Lib/xml/dom/__init__.py +140 -0
  1759. package/python/Lib/xml/dom/domreg.py +99 -0
  1760. package/python/Lib/xml/dom/expatbuilder.py +962 -0
  1761. package/python/Lib/xml/dom/minicompat.py +109 -0
  1762. package/python/Lib/xml/dom/minidom.py +2024 -0
  1763. package/python/Lib/xml/dom/pulldom.py +336 -0
  1764. package/python/Lib/xml/dom/xmlbuilder.py +389 -0
  1765. package/python/Lib/xml/etree/ElementInclude.py +186 -0
  1766. package/python/Lib/xml/etree/ElementPath.py +423 -0
  1767. package/python/Lib/xml/etree/ElementTree.py +2098 -0
  1768. package/python/Lib/xml/etree/__init__.py +33 -0
  1769. package/python/Lib/xml/etree/cElementTree.py +3 -0
  1770. package/python/Lib/xml/parsers/__init__.py +8 -0
  1771. package/python/Lib/xml/parsers/__pycache__/__init__.cpython-313.pyc +0 -0
  1772. package/python/Lib/xml/parsers/__pycache__/expat.cpython-313.pyc +0 -0
  1773. package/python/Lib/xml/parsers/expat.py +8 -0
  1774. package/python/Lib/xml/sax/__init__.py +94 -0
  1775. package/python/Lib/xml/sax/_exceptions.py +127 -0
  1776. package/python/Lib/xml/sax/expatreader.py +454 -0
  1777. package/python/Lib/xml/sax/handler.py +387 -0
  1778. package/python/Lib/xml/sax/saxutils.py +369 -0
  1779. package/python/Lib/xml/sax/xmlreader.py +378 -0
  1780. package/python/Lib/xmlrpc/__init__.py +1 -0
  1781. package/python/Lib/xmlrpc/__pycache__/__init__.cpython-313.pyc +0 -0
  1782. package/python/Lib/xmlrpc/__pycache__/client.cpython-313.pyc +0 -0
  1783. package/python/Lib/xmlrpc/client.py +1503 -0
  1784. package/python/Lib/xmlrpc/server.py +1002 -0
  1785. package/python/Lib/zipapp.py +229 -0
  1786. package/python/Lib/zipfile/__init__.py +2375 -0
  1787. package/python/Lib/zipfile/__main__.py +4 -0
  1788. package/python/Lib/zipfile/__pycache__/__init__.cpython-313.pyc +0 -0
  1789. package/python/Lib/zipfile/_path/__init__.py +452 -0
  1790. package/python/Lib/zipfile/_path/__pycache__/__init__.cpython-313.pyc +0 -0
  1791. package/python/Lib/zipfile/_path/__pycache__/glob.cpython-313.pyc +0 -0
  1792. package/python/Lib/zipfile/_path/glob.py +113 -0
  1793. package/python/Lib/zipimport.py +803 -0
  1794. package/python/Lib/zoneinfo/__init__.py +34 -0
  1795. package/python/Lib/zoneinfo/_common.py +168 -0
  1796. package/python/Lib/zoneinfo/_tzpath.py +189 -0
  1797. package/python/Lib/zoneinfo/_zoneinfo.py +772 -0
  1798. package/python/Scripts/.empty +0 -0
  1799. package/python/include/Python.h +140 -0
  1800. package/python/include/abstract.h +921 -0
  1801. package/python/include/bltinmodule.h +14 -0
  1802. package/python/include/boolobject.h +54 -0
  1803. package/python/include/bytearrayobject.h +44 -0
  1804. package/python/include/bytesobject.h +66 -0
  1805. package/python/include/ceval.h +145 -0
  1806. package/python/include/codecs.h +176 -0
  1807. package/python/include/compile.h +22 -0
  1808. package/python/include/complexobject.h +30 -0
  1809. package/python/include/cpython/abstract.h +87 -0
  1810. package/python/include/cpython/bytearrayobject.h +34 -0
  1811. package/python/include/cpython/bytesobject.h +37 -0
  1812. package/python/include/cpython/cellobject.h +44 -0
  1813. package/python/include/cpython/ceval.h +25 -0
  1814. package/python/include/cpython/classobject.h +71 -0
  1815. package/python/include/cpython/code.h +358 -0
  1816. package/python/include/cpython/compile.h +50 -0
  1817. package/python/include/cpython/complexobject.h +33 -0
  1818. package/python/include/cpython/context.h +74 -0
  1819. package/python/include/cpython/critical_section.h +134 -0
  1820. package/python/include/cpython/descrobject.h +62 -0
  1821. package/python/include/cpython/dictobject.h +102 -0
  1822. package/python/include/cpython/fileobject.h +16 -0
  1823. package/python/include/cpython/fileutils.h +8 -0
  1824. package/python/include/cpython/floatobject.h +27 -0
  1825. package/python/include/cpython/frameobject.h +35 -0
  1826. package/python/include/cpython/funcobject.h +184 -0
  1827. package/python/include/cpython/genobject.h +83 -0
  1828. package/python/include/cpython/import.h +25 -0
  1829. package/python/include/cpython/initconfig.h +274 -0
  1830. package/python/include/cpython/listobject.h +53 -0
  1831. package/python/include/cpython/lock.h +63 -0
  1832. package/python/include/cpython/longintrepr.h +146 -0
  1833. package/python/include/cpython/longobject.h +116 -0
  1834. package/python/include/cpython/memoryobject.h +50 -0
  1835. package/python/include/cpython/methodobject.h +66 -0
  1836. package/python/include/cpython/modsupport.h +26 -0
  1837. package/python/include/cpython/monitoring.h +250 -0
  1838. package/python/include/cpython/object.h +535 -0
  1839. package/python/include/cpython/objimpl.h +104 -0
  1840. package/python/include/cpython/odictobject.h +43 -0
  1841. package/python/include/cpython/picklebufobject.h +31 -0
  1842. package/python/include/cpython/pthread_stubs.h +105 -0
  1843. package/python/include/cpython/pyatomic.h +569 -0
  1844. package/python/include/cpython/pyatomic_gcc.h +551 -0
  1845. package/python/include/cpython/pyatomic_msc.h +1095 -0
  1846. package/python/include/cpython/pyatomic_std.h +976 -0
  1847. package/python/include/cpython/pyctype.h +39 -0
  1848. package/python/include/cpython/pydebug.h +38 -0
  1849. package/python/include/cpython/pyerrors.h +132 -0
  1850. package/python/include/cpython/pyfpe.h +15 -0
  1851. package/python/include/cpython/pyframe.h +45 -0
  1852. package/python/include/cpython/pyhash.h +47 -0
  1853. package/python/include/cpython/pylifecycle.h +92 -0
  1854. package/python/include/cpython/pymem.h +84 -0
  1855. package/python/include/cpython/pystate.h +277 -0
  1856. package/python/include/cpython/pystats.h +175 -0
  1857. package/python/include/cpython/pythonrun.h +96 -0
  1858. package/python/include/cpython/pythread.h +43 -0
  1859. package/python/include/cpython/pytime.h +27 -0
  1860. package/python/include/cpython/setobject.h +71 -0
  1861. package/python/include/cpython/sysmodule.h +22 -0
  1862. package/python/include/cpython/traceback.h +13 -0
  1863. package/python/include/cpython/tracemalloc.h +32 -0
  1864. package/python/include/cpython/tupleobject.h +38 -0
  1865. package/python/include/cpython/unicodeobject.h +703 -0
  1866. package/python/include/cpython/warnings.h +20 -0
  1867. package/python/include/cpython/weakrefobject.h +63 -0
  1868. package/python/include/critical_section.h +16 -0
  1869. package/python/include/datetime.h +267 -0
  1870. package/python/include/descrobject.h +100 -0
  1871. package/python/include/dictobject.h +108 -0
  1872. package/python/include/dynamic_annotations.h +499 -0
  1873. package/python/include/enumobject.h +17 -0
  1874. package/python/include/errcode.h +45 -0
  1875. package/python/include/exports.h +108 -0
  1876. package/python/include/fileobject.h +41 -0
  1877. package/python/include/fileutils.h +62 -0
  1878. package/python/include/floatobject.h +54 -0
  1879. package/python/include/frameobject.h +20 -0
  1880. package/python/include/genericaliasobject.h +14 -0
  1881. package/python/include/import.h +103 -0
  1882. package/python/include/internal/mimalloc/mimalloc/atomic.h +392 -0
  1883. package/python/include/internal/mimalloc/mimalloc/internal.h +969 -0
  1884. package/python/include/internal/mimalloc/mimalloc/prim.h +329 -0
  1885. package/python/include/internal/mimalloc/mimalloc/track.h +147 -0
  1886. package/python/include/internal/mimalloc/mimalloc/types.h +721 -0
  1887. package/python/include/internal/mimalloc/mimalloc.h +565 -0
  1888. package/python/include/internal/pycore_abstract.h +61 -0
  1889. package/python/include/internal/pycore_asdl.h +112 -0
  1890. package/python/include/internal/pycore_ast.h +926 -0
  1891. package/python/include/internal/pycore_ast_state.h +268 -0
  1892. package/python/include/internal/pycore_atexit.h +67 -0
  1893. package/python/include/internal/pycore_backoff.h +145 -0
  1894. package/python/include/internal/pycore_bitutils.h +186 -0
  1895. package/python/include/internal/pycore_blocks_output_buffer.h +321 -0
  1896. package/python/include/internal/pycore_brc.h +74 -0
  1897. package/python/include/internal/pycore_bytes_methods.h +82 -0
  1898. package/python/include/internal/pycore_bytesobject.h +152 -0
  1899. package/python/include/internal/pycore_call.h +205 -0
  1900. package/python/include/internal/pycore_capsule.h +17 -0
  1901. package/python/include/internal/pycore_cell.h +48 -0
  1902. package/python/include/internal/pycore_ceval.h +305 -0
  1903. package/python/include/internal/pycore_ceval_state.h +137 -0
  1904. package/python/include/internal/pycore_code.h +603 -0
  1905. package/python/include/internal/pycore_codecs.h +86 -0
  1906. package/python/include/internal/pycore_compile.h +118 -0
  1907. package/python/include/internal/pycore_complexobject.h +25 -0
  1908. package/python/include/internal/pycore_condvar.h +93 -0
  1909. package/python/include/internal/pycore_context.h +61 -0
  1910. package/python/include/internal/pycore_critical_section.h +233 -0
  1911. package/python/include/internal/pycore_crossinterp.h +340 -0
  1912. package/python/include/internal/pycore_descrobject.h +28 -0
  1913. package/python/include/internal/pycore_dict.h +340 -0
  1914. package/python/include/internal/pycore_dict_state.h +32 -0
  1915. package/python/include/internal/pycore_dtoa.h +75 -0
  1916. package/python/include/internal/pycore_emscripten_signal.h +30 -0
  1917. package/python/include/internal/pycore_emscripten_trampoline.h +81 -0
  1918. package/python/include/internal/pycore_exceptions.h +40 -0
  1919. package/python/include/internal/pycore_faulthandler.h +99 -0
  1920. package/python/include/internal/pycore_fileutils.h +335 -0
  1921. package/python/include/internal/pycore_fileutils_windows.h +98 -0
  1922. package/python/include/internal/pycore_floatobject.h +62 -0
  1923. package/python/include/internal/pycore_flowgraph.h +40 -0
  1924. package/python/include/internal/pycore_format.h +27 -0
  1925. package/python/include/internal/pycore_frame.h +370 -0
  1926. package/python/include/internal/pycore_freelist.h +153 -0
  1927. package/python/include/internal/pycore_function.h +55 -0
  1928. package/python/include/internal/pycore_gc.h +365 -0
  1929. package/python/include/internal/pycore_genobject.h +32 -0
  1930. package/python/include/internal/pycore_getopt.h +22 -0
  1931. package/python/include/internal/pycore_gil.h +66 -0
  1932. package/python/include/internal/pycore_global_objects.h +105 -0
  1933. package/python/include/internal/pycore_global_objects_fini_generated.h +1554 -0
  1934. package/python/include/internal/pycore_global_strings.h +814 -0
  1935. package/python/include/internal/pycore_hamt.h +134 -0
  1936. package/python/include/internal/pycore_hashtable.h +150 -0
  1937. package/python/include/internal/pycore_identifier.h +20 -0
  1938. package/python/include/internal/pycore_import.h +213 -0
  1939. package/python/include/internal/pycore_importdl.h +139 -0
  1940. package/python/include/internal/pycore_initconfig.h +200 -0
  1941. package/python/include/internal/pycore_instruction_sequence.h +73 -0
  1942. package/python/include/internal/pycore_instruments.h +75 -0
  1943. package/python/include/internal/pycore_interp.h +423 -0
  1944. package/python/include/internal/pycore_intrinsics.h +51 -0
  1945. package/python/include/internal/pycore_jit.h +25 -0
  1946. package/python/include/internal/pycore_list.h +66 -0
  1947. package/python/include/internal/pycore_llist.h +106 -0
  1948. package/python/include/internal/pycore_lock.h +241 -0
  1949. package/python/include/internal/pycore_long.h +310 -0
  1950. package/python/include/internal/pycore_memoryobject.h +20 -0
  1951. package/python/include/internal/pycore_mimalloc.h +69 -0
  1952. package/python/include/internal/pycore_modsupport.h +107 -0
  1953. package/python/include/internal/pycore_moduleobject.h +56 -0
  1954. package/python/include/internal/pycore_namespace.h +21 -0
  1955. package/python/include/internal/pycore_object.h +867 -0
  1956. package/python/include/internal/pycore_object_alloc.h +71 -0
  1957. package/python/include/internal/pycore_object_stack.h +97 -0
  1958. package/python/include/internal/pycore_object_state.h +41 -0
  1959. package/python/include/internal/pycore_obmalloc.h +702 -0
  1960. package/python/include/internal/pycore_obmalloc_init.h +66 -0
  1961. package/python/include/internal/pycore_opcode_metadata.h +1922 -0
  1962. package/python/include/internal/pycore_opcode_utils.h +73 -0
  1963. package/python/include/internal/pycore_optimizer.h +272 -0
  1964. package/python/include/internal/pycore_parking_lot.h +97 -0
  1965. package/python/include/internal/pycore_parser.h +95 -0
  1966. package/python/include/internal/pycore_pathconfig.h +26 -0
  1967. package/python/include/internal/pycore_pyarena.h +68 -0
  1968. package/python/include/internal/pycore_pyatomic_ft_wrappers.h +165 -0
  1969. package/python/include/internal/pycore_pybuffer.h +21 -0
  1970. package/python/include/internal/pycore_pyerrors.h +190 -0
  1971. package/python/include/internal/pycore_pyhash.h +107 -0
  1972. package/python/include/internal/pycore_pylifecycle.h +136 -0
  1973. package/python/include/internal/pycore_pymath.h +205 -0
  1974. package/python/include/internal/pycore_pymem.h +161 -0
  1975. package/python/include/internal/pycore_pymem_init.h +103 -0
  1976. package/python/include/internal/pycore_pystate.h +299 -0
  1977. package/python/include/internal/pycore_pystats.h +21 -0
  1978. package/python/include/internal/pycore_pythonrun.h +39 -0
  1979. package/python/include/internal/pycore_pythread.h +172 -0
  1980. package/python/include/internal/pycore_qsbr.h +173 -0
  1981. package/python/include/internal/pycore_range.h +21 -0
  1982. package/python/include/internal/pycore_runtime.h +410 -0
  1983. package/python/include/internal/pycore_runtime_init.h +329 -0
  1984. package/python/include/internal/pycore_runtime_init_generated.h +1551 -0
  1985. package/python/include/internal/pycore_semaphore.h +67 -0
  1986. package/python/include/internal/pycore_setobject.h +39 -0
  1987. package/python/include/internal/pycore_signal.h +108 -0
  1988. package/python/include/internal/pycore_sliceobject.h +20 -0
  1989. package/python/include/internal/pycore_stackref.h +195 -0
  1990. package/python/include/internal/pycore_strhex.h +39 -0
  1991. package/python/include/internal/pycore_structseq.h +40 -0
  1992. package/python/include/internal/pycore_symtable.h +204 -0
  1993. package/python/include/internal/pycore_sysmodule.h +38 -0
  1994. package/python/include/internal/pycore_time.h +337 -0
  1995. package/python/include/internal/pycore_token.h +106 -0
  1996. package/python/include/internal/pycore_traceback.h +106 -0
  1997. package/python/include/internal/pycore_tracemalloc.h +170 -0
  1998. package/python/include/internal/pycore_tstate.h +46 -0
  1999. package/python/include/internal/pycore_tuple.h +35 -0
  2000. package/python/include/internal/pycore_typeobject.h +245 -0
  2001. package/python/include/internal/pycore_typevarobject.h +27 -0
  2002. package/python/include/internal/pycore_ucnhash.h +36 -0
  2003. package/python/include/internal/pycore_unicodeobject.h +351 -0
  2004. package/python/include/internal/pycore_unicodeobject_generated.h +2980 -0
  2005. package/python/include/internal/pycore_unionobject.h +25 -0
  2006. package/python/include/internal/pycore_uop_ids.h +295 -0
  2007. package/python/include/internal/pycore_uop_metadata.h +1010 -0
  2008. package/python/include/internal/pycore_warnings.h +31 -0
  2009. package/python/include/internal/pycore_weakref.h +133 -0
  2010. package/python/include/intrcheck.h +23 -0
  2011. package/python/include/iterobject.h +24 -0
  2012. package/python/include/listobject.h +55 -0
  2013. package/python/include/lock.h +16 -0
  2014. package/python/include/longobject.h +114 -0
  2015. package/python/include/marshal.h +31 -0
  2016. package/python/include/memoryobject.h +34 -0
  2017. package/python/include/methodobject.h +137 -0
  2018. package/python/include/modsupport.h +146 -0
  2019. package/python/include/moduleobject.h +122 -0
  2020. package/python/include/monitoring.h +18 -0
  2021. package/python/include/object.h +1280 -0
  2022. package/python/include/objimpl.h +211 -0
  2023. package/python/include/opcode.h +42 -0
  2024. package/python/include/opcode_ids.h +244 -0
  2025. package/python/include/osdefs.h +57 -0
  2026. package/python/include/osmodule.h +17 -0
  2027. package/python/include/patchlevel.h +35 -0
  2028. package/python/include/py_curses.h +117 -0
  2029. package/python/include/pyatomic.h +16 -0
  2030. package/python/include/pybuffer.h +145 -0
  2031. package/python/include/pycapsule.h +58 -0
  2032. package/python/include/pyconfig.h +759 -0
  2033. package/python/include/pydtrace.h +59 -0
  2034. package/python/include/pyerrors.h +335 -0
  2035. package/python/include/pyexpat.h +62 -0
  2036. package/python/include/pyframe.h +26 -0
  2037. package/python/include/pyhash.h +59 -0
  2038. package/python/include/pylifecycle.h +80 -0
  2039. package/python/include/pymacconfig.h +91 -0
  2040. package/python/include/pymacro.h +199 -0
  2041. package/python/include/pymath.h +62 -0
  2042. package/python/include/pymem.h +110 -0
  2043. package/python/include/pyport.h +633 -0
  2044. package/python/include/pystate.h +132 -0
  2045. package/python/include/pystats.h +26 -0
  2046. package/python/include/pystrcmp.h +23 -0
  2047. package/python/include/pystrtod.h +37 -0
  2048. package/python/include/pythonrun.h +49 -0
  2049. package/python/include/pythread.h +131 -0
  2050. package/python/include/pytypedefs.h +30 -0
  2051. package/python/include/rangeobject.h +27 -0
  2052. package/python/include/setobject.h +49 -0
  2053. package/python/include/sliceobject.h +69 -0
  2054. package/python/include/structmember.h +56 -0
  2055. package/python/include/structseq.h +46 -0
  2056. package/python/include/sysmodule.h +44 -0
  2057. package/python/include/traceback.h +26 -0
  2058. package/python/include/tupleobject.h +46 -0
  2059. package/python/include/typeslots.h +88 -0
  2060. package/python/include/unicodeobject.h +1021 -0
  2061. package/python/include/warnings.h +45 -0
  2062. package/python/include/weakrefobject.h +46 -0
  2063. package/python/libs/python3.lib +0 -0
  2064. package/python/libs/python313.lib +0 -0
  2065. package/python/python.exe +0 -0
  2066. package/python/python.pdb +0 -0
  2067. package/python/python3.dll +0 -0
  2068. package/python/python3.pdb +0 -0
  2069. package/python/python313.dll +0 -0
  2070. package/python/python313.pdb +0 -0
  2071. package/python/pythonw.exe +0 -0
  2072. package/python/pythonw.pdb +0 -0
  2073. package/python/tcl/dde1.4/pkgIndex.tcl +12 -0
  2074. package/python/tcl/dde1.4/tcldde14.dll +0 -0
  2075. package/python/tcl/nmake/nmakehlp.c +815 -0
  2076. package/python/tcl/nmake/rules.vc +1869 -0
  2077. package/python/tcl/nmake/targets.vc +98 -0
  2078. package/python/tcl/nmake/tcl.nmake +4 -0
  2079. package/python/tcl/reg1.3/pkgIndex.tcl +9 -0
  2080. package/python/tcl/reg1.3/tclreg13.dll +0 -0
  2081. package/python/tcl/tcl8/8.4/platform/shell-1.1.4.tm +241 -0
  2082. package/python/tcl/tcl8/8.4/platform-1.0.18.tm +439 -0
  2083. package/python/tcl/tcl8/8.5/msgcat-1.6.1.tm +1210 -0
  2084. package/python/tcl/tcl8/8.5/tcltest-2.5.3.tm +3515 -0
  2085. package/python/tcl/tcl8/8.6/http-2.9.5.tm +3506 -0
  2086. package/python/tcl/tcl8.6/auto.tcl +648 -0
  2087. package/python/tcl/tcl8.6/clock.tcl +4546 -0
  2088. package/python/tcl/tcl8.6/encoding/ascii.enc +20 -0
  2089. package/python/tcl/tcl8.6/encoding/big5.enc +1516 -0
  2090. package/python/tcl/tcl8.6/encoding/cns11643.enc +1584 -0
  2091. package/python/tcl/tcl8.6/encoding/cp1250.enc +20 -0
  2092. package/python/tcl/tcl8.6/encoding/cp1251.enc +20 -0
  2093. package/python/tcl/tcl8.6/encoding/cp1252.enc +20 -0
  2094. package/python/tcl/tcl8.6/encoding/cp1253.enc +20 -0
  2095. package/python/tcl/tcl8.6/encoding/cp1254.enc +20 -0
  2096. package/python/tcl/tcl8.6/encoding/cp1255.enc +20 -0
  2097. package/python/tcl/tcl8.6/encoding/cp1256.enc +20 -0
  2098. package/python/tcl/tcl8.6/encoding/cp1257.enc +20 -0
  2099. package/python/tcl/tcl8.6/encoding/cp1258.enc +20 -0
  2100. package/python/tcl/tcl8.6/encoding/cp437.enc +20 -0
  2101. package/python/tcl/tcl8.6/encoding/cp737.enc +20 -0
  2102. package/python/tcl/tcl8.6/encoding/cp775.enc +20 -0
  2103. package/python/tcl/tcl8.6/encoding/cp850.enc +20 -0
  2104. package/python/tcl/tcl8.6/encoding/cp852.enc +20 -0
  2105. package/python/tcl/tcl8.6/encoding/cp855.enc +20 -0
  2106. package/python/tcl/tcl8.6/encoding/cp857.enc +20 -0
  2107. package/python/tcl/tcl8.6/encoding/cp860.enc +20 -0
  2108. package/python/tcl/tcl8.6/encoding/cp861.enc +20 -0
  2109. package/python/tcl/tcl8.6/encoding/cp862.enc +20 -0
  2110. package/python/tcl/tcl8.6/encoding/cp863.enc +20 -0
  2111. package/python/tcl/tcl8.6/encoding/cp864.enc +20 -0
  2112. package/python/tcl/tcl8.6/encoding/cp865.enc +20 -0
  2113. package/python/tcl/tcl8.6/encoding/cp866.enc +20 -0
  2114. package/python/tcl/tcl8.6/encoding/cp869.enc +20 -0
  2115. package/python/tcl/tcl8.6/encoding/cp874.enc +20 -0
  2116. package/python/tcl/tcl8.6/encoding/cp932.enc +801 -0
  2117. package/python/tcl/tcl8.6/encoding/cp936.enc +2162 -0
  2118. package/python/tcl/tcl8.6/encoding/cp949.enc +2128 -0
  2119. package/python/tcl/tcl8.6/encoding/cp950.enc +1499 -0
  2120. package/python/tcl/tcl8.6/encoding/dingbats.enc +20 -0
  2121. package/python/tcl/tcl8.6/encoding/ebcdic.enc +19 -0
  2122. package/python/tcl/tcl8.6/encoding/euc-cn.enc +1397 -0
  2123. package/python/tcl/tcl8.6/encoding/euc-jp.enc +1353 -0
  2124. package/python/tcl/tcl8.6/encoding/euc-kr.enc +1533 -0
  2125. package/python/tcl/tcl8.6/encoding/gb12345.enc +1414 -0
  2126. package/python/tcl/tcl8.6/encoding/gb1988.enc +20 -0
  2127. package/python/tcl/tcl8.6/encoding/gb2312-raw.enc +1380 -0
  2128. package/python/tcl/tcl8.6/encoding/gb2312.enc +1397 -0
  2129. package/python/tcl/tcl8.6/encoding/iso2022-jp.enc +12 -0
  2130. package/python/tcl/tcl8.6/encoding/iso2022-kr.enc +7 -0
  2131. package/python/tcl/tcl8.6/encoding/iso2022.enc +14 -0
  2132. package/python/tcl/tcl8.6/encoding/iso8859-1.enc +20 -0
  2133. package/python/tcl/tcl8.6/encoding/iso8859-10.enc +20 -0
  2134. package/python/tcl/tcl8.6/encoding/iso8859-11.enc +20 -0
  2135. package/python/tcl/tcl8.6/encoding/iso8859-13.enc +20 -0
  2136. package/python/tcl/tcl8.6/encoding/iso8859-14.enc +20 -0
  2137. package/python/tcl/tcl8.6/encoding/iso8859-15.enc +20 -0
  2138. package/python/tcl/tcl8.6/encoding/iso8859-16.enc +20 -0
  2139. package/python/tcl/tcl8.6/encoding/iso8859-2.enc +20 -0
  2140. package/python/tcl/tcl8.6/encoding/iso8859-3.enc +20 -0
  2141. package/python/tcl/tcl8.6/encoding/iso8859-4.enc +20 -0
  2142. package/python/tcl/tcl8.6/encoding/iso8859-5.enc +20 -0
  2143. package/python/tcl/tcl8.6/encoding/iso8859-6.enc +20 -0
  2144. package/python/tcl/tcl8.6/encoding/iso8859-7.enc +20 -0
  2145. package/python/tcl/tcl8.6/encoding/iso8859-8.enc +20 -0
  2146. package/python/tcl/tcl8.6/encoding/iso8859-9.enc +20 -0
  2147. package/python/tcl/tcl8.6/encoding/jis0201.enc +20 -0
  2148. package/python/tcl/tcl8.6/encoding/jis0208.enc +1319 -0
  2149. package/python/tcl/tcl8.6/encoding/jis0212.enc +1159 -0
  2150. package/python/tcl/tcl8.6/encoding/koi8-r.enc +20 -0
  2151. package/python/tcl/tcl8.6/encoding/koi8-u.enc +20 -0
  2152. package/python/tcl/tcl8.6/encoding/ksc5601.enc +1516 -0
  2153. package/python/tcl/tcl8.6/encoding/macCentEuro.enc +20 -0
  2154. package/python/tcl/tcl8.6/encoding/macCroatian.enc +20 -0
  2155. package/python/tcl/tcl8.6/encoding/macCyrillic.enc +20 -0
  2156. package/python/tcl/tcl8.6/encoding/macDingbats.enc +20 -0
  2157. package/python/tcl/tcl8.6/encoding/macGreek.enc +20 -0
  2158. package/python/tcl/tcl8.6/encoding/macIceland.enc +20 -0
  2159. package/python/tcl/tcl8.6/encoding/macJapan.enc +785 -0
  2160. package/python/tcl/tcl8.6/encoding/macRoman.enc +20 -0
  2161. package/python/tcl/tcl8.6/encoding/macRomania.enc +20 -0
  2162. package/python/tcl/tcl8.6/encoding/macThai.enc +20 -0
  2163. package/python/tcl/tcl8.6/encoding/macTurkish.enc +20 -0
  2164. package/python/tcl/tcl8.6/encoding/macUkraine.enc +20 -0
  2165. package/python/tcl/tcl8.6/encoding/shiftjis.enc +690 -0
  2166. package/python/tcl/tcl8.6/encoding/symbol.enc +20 -0
  2167. package/python/tcl/tcl8.6/encoding/tis-620.enc +20 -0
  2168. package/python/tcl/tcl8.6/history.tcl +335 -0
  2169. package/python/tcl/tcl8.6/http1.0/http.tcl +377 -0
  2170. package/python/tcl/tcl8.6/http1.0/pkgIndex.tcl +11 -0
  2171. package/python/tcl/tcl8.6/init.tcl +827 -0
  2172. package/python/tcl/tcl8.6/msgs/af.msg +49 -0
  2173. package/python/tcl/tcl8.6/msgs/af_za.msg +6 -0
  2174. package/python/tcl/tcl8.6/msgs/ar.msg +54 -0
  2175. package/python/tcl/tcl8.6/msgs/ar_in.msg +6 -0
  2176. package/python/tcl/tcl8.6/msgs/ar_jo.msg +39 -0
  2177. package/python/tcl/tcl8.6/msgs/ar_lb.msg +39 -0
  2178. package/python/tcl/tcl8.6/msgs/ar_sy.msg +39 -0
  2179. package/python/tcl/tcl8.6/msgs/be.msg +52 -0
  2180. package/python/tcl/tcl8.6/msgs/bg.msg +52 -0
  2181. package/python/tcl/tcl8.6/msgs/bn.msg +49 -0
  2182. package/python/tcl/tcl8.6/msgs/bn_in.msg +6 -0
  2183. package/python/tcl/tcl8.6/msgs/ca.msg +50 -0
  2184. package/python/tcl/tcl8.6/msgs/cs.msg +54 -0
  2185. package/python/tcl/tcl8.6/msgs/da.msg +52 -0
  2186. package/python/tcl/tcl8.6/msgs/de.msg +54 -0
  2187. package/python/tcl/tcl8.6/msgs/de_at.msg +35 -0
  2188. package/python/tcl/tcl8.6/msgs/de_be.msg +53 -0
  2189. package/python/tcl/tcl8.6/msgs/el.msg +52 -0
  2190. package/python/tcl/tcl8.6/msgs/en_au.msg +7 -0
  2191. package/python/tcl/tcl8.6/msgs/en_be.msg +7 -0
  2192. package/python/tcl/tcl8.6/msgs/en_bw.msg +6 -0
  2193. package/python/tcl/tcl8.6/msgs/en_ca.msg +7 -0
  2194. package/python/tcl/tcl8.6/msgs/en_gb.msg +7 -0
  2195. package/python/tcl/tcl8.6/msgs/en_hk.msg +8 -0
  2196. package/python/tcl/tcl8.6/msgs/en_ie.msg +7 -0
  2197. package/python/tcl/tcl8.6/msgs/en_in.msg +8 -0
  2198. package/python/tcl/tcl8.6/msgs/en_nz.msg +7 -0
  2199. package/python/tcl/tcl8.6/msgs/en_ph.msg +8 -0
  2200. package/python/tcl/tcl8.6/msgs/en_sg.msg +6 -0
  2201. package/python/tcl/tcl8.6/msgs/en_za.msg +6 -0
  2202. package/python/tcl/tcl8.6/msgs/en_zw.msg +6 -0
  2203. package/python/tcl/tcl8.6/msgs/eo.msg +54 -0
  2204. package/python/tcl/tcl8.6/msgs/es.msg +52 -0
  2205. package/python/tcl/tcl8.6/msgs/es_ar.msg +6 -0
  2206. package/python/tcl/tcl8.6/msgs/es_bo.msg +6 -0
  2207. package/python/tcl/tcl8.6/msgs/es_cl.msg +6 -0
  2208. package/python/tcl/tcl8.6/msgs/es_co.msg +6 -0
  2209. package/python/tcl/tcl8.6/msgs/es_cr.msg +6 -0
  2210. package/python/tcl/tcl8.6/msgs/es_do.msg +6 -0
  2211. package/python/tcl/tcl8.6/msgs/es_ec.msg +6 -0
  2212. package/python/tcl/tcl8.6/msgs/es_gt.msg +6 -0
  2213. package/python/tcl/tcl8.6/msgs/es_hn.msg +6 -0
  2214. package/python/tcl/tcl8.6/msgs/es_mx.msg +6 -0
  2215. package/python/tcl/tcl8.6/msgs/es_ni.msg +6 -0
  2216. package/python/tcl/tcl8.6/msgs/es_pa.msg +6 -0
  2217. package/python/tcl/tcl8.6/msgs/es_pe.msg +6 -0
  2218. package/python/tcl/tcl8.6/msgs/es_pr.msg +6 -0
  2219. package/python/tcl/tcl8.6/msgs/es_py.msg +6 -0
  2220. package/python/tcl/tcl8.6/msgs/es_sv.msg +6 -0
  2221. package/python/tcl/tcl8.6/msgs/es_uy.msg +6 -0
  2222. package/python/tcl/tcl8.6/msgs/es_ve.msg +6 -0
  2223. package/python/tcl/tcl8.6/msgs/et.msg +52 -0
  2224. package/python/tcl/tcl8.6/msgs/eu.msg +47 -0
  2225. package/python/tcl/tcl8.6/msgs/eu_es.msg +7 -0
  2226. package/python/tcl/tcl8.6/msgs/fa.msg +47 -0
  2227. package/python/tcl/tcl8.6/msgs/fa_in.msg +52 -0
  2228. package/python/tcl/tcl8.6/msgs/fa_ir.msg +9 -0
  2229. package/python/tcl/tcl8.6/msgs/fi.msg +50 -0
  2230. package/python/tcl/tcl8.6/msgs/fo.msg +47 -0
  2231. package/python/tcl/tcl8.6/msgs/fo_fo.msg +7 -0
  2232. package/python/tcl/tcl8.6/msgs/fr.msg +52 -0
  2233. package/python/tcl/tcl8.6/msgs/fr_be.msg +7 -0
  2234. package/python/tcl/tcl8.6/msgs/fr_ca.msg +7 -0
  2235. package/python/tcl/tcl8.6/msgs/fr_ch.msg +7 -0
  2236. package/python/tcl/tcl8.6/msgs/ga.msg +47 -0
  2237. package/python/tcl/tcl8.6/msgs/ga_ie.msg +7 -0
  2238. package/python/tcl/tcl8.6/msgs/gl.msg +47 -0
  2239. package/python/tcl/tcl8.6/msgs/gl_es.msg +6 -0
  2240. package/python/tcl/tcl8.6/msgs/gv.msg +47 -0
  2241. package/python/tcl/tcl8.6/msgs/gv_gb.msg +6 -0
  2242. package/python/tcl/tcl8.6/msgs/he.msg +52 -0
  2243. package/python/tcl/tcl8.6/msgs/hi.msg +39 -0
  2244. package/python/tcl/tcl8.6/msgs/hi_in.msg +6 -0
  2245. package/python/tcl/tcl8.6/msgs/hr.msg +50 -0
  2246. package/python/tcl/tcl8.6/msgs/hu.msg +54 -0
  2247. package/python/tcl/tcl8.6/msgs/id.msg +47 -0
  2248. package/python/tcl/tcl8.6/msgs/id_id.msg +6 -0
  2249. package/python/tcl/tcl8.6/msgs/is.msg +50 -0
  2250. package/python/tcl/tcl8.6/msgs/it.msg +54 -0
  2251. package/python/tcl/tcl8.6/msgs/it_ch.msg +6 -0
  2252. package/python/tcl/tcl8.6/msgs/ja.msg +44 -0
  2253. package/python/tcl/tcl8.6/msgs/kl.msg +47 -0
  2254. package/python/tcl/tcl8.6/msgs/kl_gl.msg +7 -0
  2255. package/python/tcl/tcl8.6/msgs/ko.msg +55 -0
  2256. package/python/tcl/tcl8.6/msgs/ko_kr.msg +8 -0
  2257. package/python/tcl/tcl8.6/msgs/kok.msg +39 -0
  2258. package/python/tcl/tcl8.6/msgs/kok_in.msg +6 -0
  2259. package/python/tcl/tcl8.6/msgs/kw.msg +47 -0
  2260. package/python/tcl/tcl8.6/msgs/kw_gb.msg +6 -0
  2261. package/python/tcl/tcl8.6/msgs/lt.msg +52 -0
  2262. package/python/tcl/tcl8.6/msgs/lv.msg +52 -0
  2263. package/python/tcl/tcl8.6/msgs/mk.msg +52 -0
  2264. package/python/tcl/tcl8.6/msgs/mr.msg +39 -0
  2265. package/python/tcl/tcl8.6/msgs/mr_in.msg +6 -0
  2266. package/python/tcl/tcl8.6/msgs/ms.msg +47 -0
  2267. package/python/tcl/tcl8.6/msgs/ms_my.msg +6 -0
  2268. package/python/tcl/tcl8.6/msgs/mt.msg +27 -0
  2269. package/python/tcl/tcl8.6/msgs/nb.msg +52 -0
  2270. package/python/tcl/tcl8.6/msgs/nl.msg +50 -0
  2271. package/python/tcl/tcl8.6/msgs/nl_be.msg +7 -0
  2272. package/python/tcl/tcl8.6/msgs/nn.msg +52 -0
  2273. package/python/tcl/tcl8.6/msgs/pl.msg +52 -0
  2274. package/python/tcl/tcl8.6/msgs/pt.msg +50 -0
  2275. package/python/tcl/tcl8.6/msgs/pt_br.msg +7 -0
  2276. package/python/tcl/tcl8.6/msgs/ro.msg +52 -0
  2277. package/python/tcl/tcl8.6/msgs/ru.msg +52 -0
  2278. package/python/tcl/tcl8.6/msgs/ru_ua.msg +6 -0
  2279. package/python/tcl/tcl8.6/msgs/sh.msg +52 -0
  2280. package/python/tcl/tcl8.6/msgs/sk.msg +52 -0
  2281. package/python/tcl/tcl8.6/msgs/sl.msg +52 -0
  2282. package/python/tcl/tcl8.6/msgs/sq.msg +54 -0
  2283. package/python/tcl/tcl8.6/msgs/sr.msg +52 -0
  2284. package/python/tcl/tcl8.6/msgs/sv.msg +52 -0
  2285. package/python/tcl/tcl8.6/msgs/sw.msg +49 -0
  2286. package/python/tcl/tcl8.6/msgs/ta.msg +39 -0
  2287. package/python/tcl/tcl8.6/msgs/ta_in.msg +6 -0
  2288. package/python/tcl/tcl8.6/msgs/te.msg +47 -0
  2289. package/python/tcl/tcl8.6/msgs/te_in.msg +8 -0
  2290. package/python/tcl/tcl8.6/msgs/th.msg +54 -0
  2291. package/python/tcl/tcl8.6/msgs/tr.msg +50 -0
  2292. package/python/tcl/tcl8.6/msgs/uk.msg +52 -0
  2293. package/python/tcl/tcl8.6/msgs/vi.msg +50 -0
  2294. package/python/tcl/tcl8.6/msgs/zh.msg +55 -0
  2295. package/python/tcl/tcl8.6/msgs/zh_cn.msg +7 -0
  2296. package/python/tcl/tcl8.6/msgs/zh_hk.msg +28 -0
  2297. package/python/tcl/tcl8.6/msgs/zh_sg.msg +8 -0
  2298. package/python/tcl/tcl8.6/msgs/zh_tw.msg +8 -0
  2299. package/python/tcl/tcl8.6/opt0.4/optparse.tcl +1072 -0
  2300. package/python/tcl/tcl8.6/opt0.4/pkgIndex.tcl +12 -0
  2301. package/python/tcl/tcl8.6/package.tcl +751 -0
  2302. package/python/tcl/tcl8.6/parray.tcl +28 -0
  2303. package/python/tcl/tcl8.6/safe.tcl +1289 -0
  2304. package/python/tcl/tcl8.6/tclIndex +78 -0
  2305. package/python/tcl/tcl8.6/tm.tcl +380 -0
  2306. package/python/tcl/tcl8.6/tzdata/Africa/Abidjan +6 -0
  2307. package/python/tcl/tcl8.6/tzdata/Africa/Accra +5 -0
  2308. package/python/tcl/tcl8.6/tzdata/Africa/Addis_Ababa +5 -0
  2309. package/python/tcl/tcl8.6/tzdata/Africa/Algiers +39 -0
  2310. package/python/tcl/tcl8.6/tzdata/Africa/Asmara +5 -0
  2311. package/python/tcl/tcl8.6/tzdata/Africa/Asmera +5 -0
  2312. package/python/tcl/tcl8.6/tzdata/Africa/Bamako +5 -0
  2313. package/python/tcl/tcl8.6/tzdata/Africa/Bangui +5 -0
  2314. package/python/tcl/tcl8.6/tzdata/Africa/Banjul +5 -0
  2315. package/python/tcl/tcl8.6/tzdata/Africa/Bissau +7 -0
  2316. package/python/tcl/tcl8.6/tzdata/Africa/Blantyre +5 -0
  2317. package/python/tcl/tcl8.6/tzdata/Africa/Brazzaville +5 -0
  2318. package/python/tcl/tcl8.6/tzdata/Africa/Bujumbura +5 -0
  2319. package/python/tcl/tcl8.6/tzdata/Africa/Cairo +132 -0
  2320. package/python/tcl/tcl8.6/tzdata/Africa/Casablanca +202 -0
  2321. package/python/tcl/tcl8.6/tzdata/Africa/Ceuta +259 -0
  2322. package/python/tcl/tcl8.6/tzdata/Africa/Conakry +5 -0
  2323. package/python/tcl/tcl8.6/tzdata/Africa/Dakar +5 -0
  2324. package/python/tcl/tcl8.6/tzdata/Africa/Dar_es_Salaam +5 -0
  2325. package/python/tcl/tcl8.6/tzdata/Africa/Djibouti +5 -0
  2326. package/python/tcl/tcl8.6/tzdata/Africa/Douala +5 -0
  2327. package/python/tcl/tcl8.6/tzdata/Africa/El_Aaiun +191 -0
  2328. package/python/tcl/tcl8.6/tzdata/Africa/Freetown +5 -0
  2329. package/python/tcl/tcl8.6/tzdata/Africa/Gaborone +5 -0
  2330. package/python/tcl/tcl8.6/tzdata/Africa/Harare +5 -0
  2331. package/python/tcl/tcl8.6/tzdata/Africa/Johannesburg +11 -0
  2332. package/python/tcl/tcl8.6/tzdata/Africa/Juba +40 -0
  2333. package/python/tcl/tcl8.6/tzdata/Africa/Kampala +5 -0
  2334. package/python/tcl/tcl8.6/tzdata/Africa/Khartoum +40 -0
  2335. package/python/tcl/tcl8.6/tzdata/Africa/Kigali +5 -0
  2336. package/python/tcl/tcl8.6/tzdata/Africa/Kinshasa +5 -0
  2337. package/python/tcl/tcl8.6/tzdata/Africa/Lagos +9 -0
  2338. package/python/tcl/tcl8.6/tzdata/Africa/Libreville +5 -0
  2339. package/python/tcl/tcl8.6/tzdata/Africa/Lome +5 -0
  2340. package/python/tcl/tcl8.6/tzdata/Africa/Luanda +5 -0
  2341. package/python/tcl/tcl8.6/tzdata/Africa/Lubumbashi +5 -0
  2342. package/python/tcl/tcl8.6/tzdata/Africa/Lusaka +5 -0
  2343. package/python/tcl/tcl8.6/tzdata/Africa/Malabo +5 -0
  2344. package/python/tcl/tcl8.6/tzdata/Africa/Maputo +6 -0
  2345. package/python/tcl/tcl8.6/tzdata/Africa/Maseru +5 -0
  2346. package/python/tcl/tcl8.6/tzdata/Africa/Mbabane +5 -0
  2347. package/python/tcl/tcl8.6/tzdata/Africa/Mogadishu +5 -0
  2348. package/python/tcl/tcl8.6/tzdata/Africa/Monrovia +8 -0
  2349. package/python/tcl/tcl8.6/tzdata/Africa/Nairobi +10 -0
  2350. package/python/tcl/tcl8.6/tzdata/Africa/Ndjamena +8 -0
  2351. package/python/tcl/tcl8.6/tzdata/Africa/Niamey +5 -0
  2352. package/python/tcl/tcl8.6/tzdata/Africa/Nouakchott +5 -0
  2353. package/python/tcl/tcl8.6/tzdata/Africa/Ouagadougou +5 -0
  2354. package/python/tcl/tcl8.6/tzdata/Africa/Porto-Novo +5 -0
  2355. package/python/tcl/tcl8.6/tzdata/Africa/Sao_Tome +9 -0
  2356. package/python/tcl/tcl8.6/tzdata/Africa/Timbuktu +5 -0
  2357. package/python/tcl/tcl8.6/tzdata/Africa/Tripoli +34 -0
  2358. package/python/tcl/tcl8.6/tzdata/Africa/Tunis +39 -0
  2359. package/python/tcl/tcl8.6/tzdata/Africa/Windhoek +58 -0
  2360. package/python/tcl/tcl8.6/tzdata/America/Adak +276 -0
  2361. package/python/tcl/tcl8.6/tzdata/America/Anchorage +275 -0
  2362. package/python/tcl/tcl8.6/tzdata/America/Anguilla +5 -0
  2363. package/python/tcl/tcl8.6/tzdata/America/Antigua +5 -0
  2364. package/python/tcl/tcl8.6/tzdata/America/Araguaina +60 -0
  2365. package/python/tcl/tcl8.6/tzdata/America/Argentina/Buenos_Aires +67 -0
  2366. package/python/tcl/tcl8.6/tzdata/America/Argentina/Catamarca +68 -0
  2367. package/python/tcl/tcl8.6/tzdata/America/Argentina/ComodRivadavia +5 -0
  2368. package/python/tcl/tcl8.6/tzdata/America/Argentina/Cordoba +67 -0
  2369. package/python/tcl/tcl8.6/tzdata/America/Argentina/Jujuy +67 -0
  2370. package/python/tcl/tcl8.6/tzdata/America/Argentina/La_Rioja +69 -0
  2371. package/python/tcl/tcl8.6/tzdata/America/Argentina/Mendoza +68 -0
  2372. package/python/tcl/tcl8.6/tzdata/America/Argentina/Rio_Gallegos +68 -0
  2373. package/python/tcl/tcl8.6/tzdata/America/Argentina/Salta +66 -0
  2374. package/python/tcl/tcl8.6/tzdata/America/Argentina/San_Juan +69 -0
  2375. package/python/tcl/tcl8.6/tzdata/America/Argentina/San_Luis +68 -0
  2376. package/python/tcl/tcl8.6/tzdata/America/Argentina/Tucuman +69 -0
  2377. package/python/tcl/tcl8.6/tzdata/America/Argentina/Ushuaia +68 -0
  2378. package/python/tcl/tcl8.6/tzdata/America/Aruba +5 -0
  2379. package/python/tcl/tcl8.6/tzdata/America/Asuncion +259 -0
  2380. package/python/tcl/tcl8.6/tzdata/America/Atikokan +5 -0
  2381. package/python/tcl/tcl8.6/tzdata/America/Atka +5 -0
  2382. package/python/tcl/tcl8.6/tzdata/America/Bahia +68 -0
  2383. package/python/tcl/tcl8.6/tzdata/America/Bahia_Banderas +222 -0
  2384. package/python/tcl/tcl8.6/tzdata/America/Barbados +22 -0
  2385. package/python/tcl/tcl8.6/tzdata/America/Belem +35 -0
  2386. package/python/tcl/tcl8.6/tzdata/America/Belize +103 -0
  2387. package/python/tcl/tcl8.6/tzdata/America/Blanc-Sablon +5 -0
  2388. package/python/tcl/tcl8.6/tzdata/America/Boa_Vista +40 -0
  2389. package/python/tcl/tcl8.6/tzdata/America/Bogota +9 -0
  2390. package/python/tcl/tcl8.6/tzdata/America/Boise +281 -0
  2391. package/python/tcl/tcl8.6/tzdata/America/Buenos_Aires +5 -0
  2392. package/python/tcl/tcl8.6/tzdata/America/Cambridge_Bay +252 -0
  2393. package/python/tcl/tcl8.6/tzdata/America/Campo_Grande +96 -0
  2394. package/python/tcl/tcl8.6/tzdata/America/Cancun +47 -0
  2395. package/python/tcl/tcl8.6/tzdata/America/Caracas +10 -0
  2396. package/python/tcl/tcl8.6/tzdata/America/Catamarca +5 -0
  2397. package/python/tcl/tcl8.6/tzdata/America/Cayenne +7 -0
  2398. package/python/tcl/tcl8.6/tzdata/America/Cayman +5 -0
  2399. package/python/tcl/tcl8.6/tzdata/America/Chicago +369 -0
  2400. package/python/tcl/tcl8.6/tzdata/America/Chihuahua +221 -0
  2401. package/python/tcl/tcl8.6/tzdata/America/Coral_Harbour +5 -0
  2402. package/python/tcl/tcl8.6/tzdata/America/Cordoba +5 -0
  2403. package/python/tcl/tcl8.6/tzdata/America/Costa_Rica +15 -0
  2404. package/python/tcl/tcl8.6/tzdata/America/Creston +5 -0
  2405. package/python/tcl/tcl8.6/tzdata/America/Cuiaba +96 -0
  2406. package/python/tcl/tcl8.6/tzdata/America/Curacao +5 -0
  2407. package/python/tcl/tcl8.6/tzdata/America/Danmarkshavn +39 -0
  2408. package/python/tcl/tcl8.6/tzdata/America/Dawson +98 -0
  2409. package/python/tcl/tcl8.6/tzdata/America/Dawson_Creek +64 -0
  2410. package/python/tcl/tcl8.6/tzdata/America/Denver +291 -0
  2411. package/python/tcl/tcl8.6/tzdata/America/Detroit +275 -0
  2412. package/python/tcl/tcl8.6/tzdata/America/Dominica +5 -0
  2413. package/python/tcl/tcl8.6/tzdata/America/Edmonton +280 -0
  2414. package/python/tcl/tcl8.6/tzdata/America/Eirunepe +41 -0
  2415. package/python/tcl/tcl8.6/tzdata/America/El_Salvador +10 -0
  2416. package/python/tcl/tcl8.6/tzdata/America/Ensenada +5 -0
  2417. package/python/tcl/tcl8.6/tzdata/America/Fort_Nelson +151 -0
  2418. package/python/tcl/tcl8.6/tzdata/America/Fort_Wayne +5 -0
  2419. package/python/tcl/tcl8.6/tzdata/America/Fortaleza +48 -0
  2420. package/python/tcl/tcl8.6/tzdata/America/Glace_Bay +273 -0
  2421. package/python/tcl/tcl8.6/tzdata/America/Godthab +5 -0
  2422. package/python/tcl/tcl8.6/tzdata/America/Goose_Bay +338 -0
  2423. package/python/tcl/tcl8.6/tzdata/America/Grand_Turk +245 -0
  2424. package/python/tcl/tcl8.6/tzdata/America/Grenada +5 -0
  2425. package/python/tcl/tcl8.6/tzdata/America/Guadeloupe +5 -0
  2426. package/python/tcl/tcl8.6/tzdata/America/Guatemala +14 -0
  2427. package/python/tcl/tcl8.6/tzdata/America/Guayaquil +9 -0
  2428. package/python/tcl/tcl8.6/tzdata/America/Guyana +9 -0
  2429. package/python/tcl/tcl8.6/tzdata/America/Halifax +361 -0
  2430. package/python/tcl/tcl8.6/tzdata/America/Havana +285 -0
  2431. package/python/tcl/tcl8.6/tzdata/America/Hermosillo +21 -0
  2432. package/python/tcl/tcl8.6/tzdata/America/Indiana/Indianapolis +234 -0
  2433. package/python/tcl/tcl8.6/tzdata/America/Indiana/Knox +285 -0
  2434. package/python/tcl/tcl8.6/tzdata/America/Indiana/Marengo +236 -0
  2435. package/python/tcl/tcl8.6/tzdata/America/Indiana/Petersburg +247 -0
  2436. package/python/tcl/tcl8.6/tzdata/America/Indiana/Tell_City +230 -0
  2437. package/python/tcl/tcl8.6/tzdata/America/Indiana/Vevay +213 -0
  2438. package/python/tcl/tcl8.6/tzdata/America/Indiana/Vincennes +234 -0
  2439. package/python/tcl/tcl8.6/tzdata/America/Indiana/Winamac +240 -0
  2440. package/python/tcl/tcl8.6/tzdata/America/Indianapolis +5 -0
  2441. package/python/tcl/tcl8.6/tzdata/America/Inuvik +249 -0
  2442. package/python/tcl/tcl8.6/tzdata/America/Iqaluit +250 -0
  2443. package/python/tcl/tcl8.6/tzdata/America/Jamaica +29 -0
  2444. package/python/tcl/tcl8.6/tzdata/America/Jujuy +5 -0
  2445. package/python/tcl/tcl8.6/tzdata/America/Juneau +276 -0
  2446. package/python/tcl/tcl8.6/tzdata/America/Kentucky/Louisville +311 -0
  2447. package/python/tcl/tcl8.6/tzdata/America/Kentucky/Monticello +279 -0
  2448. package/python/tcl/tcl8.6/tzdata/America/Knox_IN +5 -0
  2449. package/python/tcl/tcl8.6/tzdata/America/Kralendijk +5 -0
  2450. package/python/tcl/tcl8.6/tzdata/America/La_Paz +8 -0
  2451. package/python/tcl/tcl8.6/tzdata/America/Lima +16 -0
  2452. package/python/tcl/tcl8.6/tzdata/America/Los_Angeles +317 -0
  2453. package/python/tcl/tcl8.6/tzdata/America/Louisville +5 -0
  2454. package/python/tcl/tcl8.6/tzdata/America/Lower_Princes +5 -0
  2455. package/python/tcl/tcl8.6/tzdata/America/Maceio +52 -0
  2456. package/python/tcl/tcl8.6/tzdata/America/Managua +21 -0
  2457. package/python/tcl/tcl8.6/tzdata/America/Manaus +39 -0
  2458. package/python/tcl/tcl8.6/tzdata/America/Marigot +5 -0
  2459. package/python/tcl/tcl8.6/tzdata/America/Martinique +9 -0
  2460. package/python/tcl/tcl8.6/tzdata/America/Matamoros +219 -0
  2461. package/python/tcl/tcl8.6/tzdata/America/Mazatlan +222 -0
  2462. package/python/tcl/tcl8.6/tzdata/America/Mendoza +5 -0
  2463. package/python/tcl/tcl8.6/tzdata/America/Menominee +274 -0
  2464. package/python/tcl/tcl8.6/tzdata/America/Merida +216 -0
  2465. package/python/tcl/tcl8.6/tzdata/America/Metlakatla +213 -0
  2466. package/python/tcl/tcl8.6/tzdata/America/Mexico_City +228 -0
  2467. package/python/tcl/tcl8.6/tzdata/America/Miquelon +234 -0
  2468. package/python/tcl/tcl8.6/tzdata/America/Moncton +342 -0
  2469. package/python/tcl/tcl8.6/tzdata/America/Monterrey +218 -0
  2470. package/python/tcl/tcl8.6/tzdata/America/Montevideo +96 -0
  2471. package/python/tcl/tcl8.6/tzdata/America/Montreal +5 -0
  2472. package/python/tcl/tcl8.6/tzdata/America/Montserrat +5 -0
  2473. package/python/tcl/tcl8.6/tzdata/America/Nassau +5 -0
  2474. package/python/tcl/tcl8.6/tzdata/America/New_York +369 -0
  2475. package/python/tcl/tcl8.6/tzdata/America/Nipigon +264 -0
  2476. package/python/tcl/tcl8.6/tzdata/America/Nome +276 -0
  2477. package/python/tcl/tcl8.6/tzdata/America/Noronha +48 -0
  2478. package/python/tcl/tcl8.6/tzdata/America/North_Dakota/Beulah +279 -0
  2479. package/python/tcl/tcl8.6/tzdata/America/North_Dakota/Center +279 -0
  2480. package/python/tcl/tcl8.6/tzdata/America/North_Dakota/New_Salem +279 -0
  2481. package/python/tcl/tcl8.6/tzdata/America/Nuuk +246 -0
  2482. package/python/tcl/tcl8.6/tzdata/America/Ojinaga +222 -0
  2483. package/python/tcl/tcl8.6/tzdata/America/Panama +7 -0
  2484. package/python/tcl/tcl8.6/tzdata/America/Pangnirtung +252 -0
  2485. package/python/tcl/tcl8.6/tzdata/America/Paramaribo +9 -0
  2486. package/python/tcl/tcl8.6/tzdata/America/Phoenix +17 -0
  2487. package/python/tcl/tcl8.6/tzdata/America/Port-au-Prince +215 -0
  2488. package/python/tcl/tcl8.6/tzdata/America/Port_of_Spain +5 -0
  2489. package/python/tcl/tcl8.6/tzdata/America/Porto_Acre +5 -0
  2490. package/python/tcl/tcl8.6/tzdata/America/Porto_Velho +35 -0
  2491. package/python/tcl/tcl8.6/tzdata/America/Puerto_Rico +10 -0
  2492. package/python/tcl/tcl8.6/tzdata/America/Punta_Arenas +122 -0
  2493. package/python/tcl/tcl8.6/tzdata/America/Rainy_River +264 -0
  2494. package/python/tcl/tcl8.6/tzdata/America/Rankin_Inlet +248 -0
  2495. package/python/tcl/tcl8.6/tzdata/America/Recife +48 -0
  2496. package/python/tcl/tcl8.6/tzdata/America/Regina +58 -0
  2497. package/python/tcl/tcl8.6/tzdata/America/Resolute +248 -0
  2498. package/python/tcl/tcl8.6/tzdata/America/Rio_Branco +37 -0
  2499. package/python/tcl/tcl8.6/tzdata/America/Rosario +5 -0
  2500. package/python/tcl/tcl8.6/tzdata/America/Santa_Isabel +5 -0
  2501. package/python/tcl/tcl8.6/tzdata/America/Santarem +36 -0
  2502. package/python/tcl/tcl8.6/tzdata/America/Santiago +289 -0
  2503. package/python/tcl/tcl8.6/tzdata/America/Santo_Domingo +21 -0
  2504. package/python/tcl/tcl8.6/tzdata/America/Sao_Paulo +97 -0
  2505. package/python/tcl/tcl8.6/tzdata/America/Scoresbysund +246 -0
  2506. package/python/tcl/tcl8.6/tzdata/America/Shiprock +5 -0
  2507. package/python/tcl/tcl8.6/tzdata/America/Sitka +275 -0
  2508. package/python/tcl/tcl8.6/tzdata/America/St_Barthelemy +5 -0
  2509. package/python/tcl/tcl8.6/tzdata/America/St_Johns +372 -0
  2510. package/python/tcl/tcl8.6/tzdata/America/St_Kitts +5 -0
  2511. package/python/tcl/tcl8.6/tzdata/America/St_Lucia +5 -0
  2512. package/python/tcl/tcl8.6/tzdata/America/St_Thomas +5 -0
  2513. package/python/tcl/tcl8.6/tzdata/America/St_Vincent +5 -0
  2514. package/python/tcl/tcl8.6/tzdata/America/Swift_Current +29 -0
  2515. package/python/tcl/tcl8.6/tzdata/America/Tegucigalpa +12 -0
  2516. package/python/tcl/tcl8.6/tzdata/America/Thule +224 -0
  2517. package/python/tcl/tcl8.6/tzdata/America/Thunder_Bay +272 -0
  2518. package/python/tcl/tcl8.6/tzdata/America/Tijuana +285 -0
  2519. package/python/tcl/tcl8.6/tzdata/America/Toronto +365 -0
  2520. package/python/tcl/tcl8.6/tzdata/America/Tortola +5 -0
  2521. package/python/tcl/tcl8.6/tzdata/America/Vancouver +320 -0
  2522. package/python/tcl/tcl8.6/tzdata/America/Virgin +5 -0
  2523. package/python/tcl/tcl8.6/tzdata/America/Whitehorse +98 -0
  2524. package/python/tcl/tcl8.6/tzdata/America/Winnipeg +316 -0
  2525. package/python/tcl/tcl8.6/tzdata/America/Yakutat +276 -0
  2526. package/python/tcl/tcl8.6/tzdata/America/Yellowknife +252 -0
  2527. package/python/tcl/tcl8.6/tzdata/Antarctica/Casey +17 -0
  2528. package/python/tcl/tcl8.6/tzdata/Antarctica/Davis +12 -0
  2529. package/python/tcl/tcl8.6/tzdata/Antarctica/DumontDUrville +5 -0
  2530. package/python/tcl/tcl8.6/tzdata/Antarctica/Macquarie +276 -0
  2531. package/python/tcl/tcl8.6/tzdata/Antarctica/Mawson +7 -0
  2532. package/python/tcl/tcl8.6/tzdata/Antarctica/McMurdo +5 -0
  2533. package/python/tcl/tcl8.6/tzdata/Antarctica/Palmer +87 -0
  2534. package/python/tcl/tcl8.6/tzdata/Antarctica/Rothera +6 -0
  2535. package/python/tcl/tcl8.6/tzdata/Antarctica/South_Pole +5 -0
  2536. package/python/tcl/tcl8.6/tzdata/Antarctica/Syowa +5 -0
  2537. package/python/tcl/tcl8.6/tzdata/Antarctica/Troll +196 -0
  2538. package/python/tcl/tcl8.6/tzdata/Antarctica/Vostok +6 -0
  2539. package/python/tcl/tcl8.6/tzdata/Arctic/Longyearbyen +5 -0
  2540. package/python/tcl/tcl8.6/tzdata/Asia/Aden +5 -0
  2541. package/python/tcl/tcl8.6/tzdata/Asia/Almaty +57 -0
  2542. package/python/tcl/tcl8.6/tzdata/Asia/Amman +246 -0
  2543. package/python/tcl/tcl8.6/tzdata/Asia/Anadyr +72 -0
  2544. package/python/tcl/tcl8.6/tzdata/Asia/Aqtau +58 -0
  2545. package/python/tcl/tcl8.6/tzdata/Asia/Aqtobe +58 -0
  2546. package/python/tcl/tcl8.6/tzdata/Asia/Ashgabat +31 -0
  2547. package/python/tcl/tcl8.6/tzdata/Asia/Ashkhabad +5 -0
  2548. package/python/tcl/tcl8.6/tzdata/Asia/Atyrau +58 -0
  2549. package/python/tcl/tcl8.6/tzdata/Asia/Baghdad +59 -0
  2550. package/python/tcl/tcl8.6/tzdata/Asia/Bahrain +5 -0
  2551. package/python/tcl/tcl8.6/tzdata/Asia/Baku +74 -0
  2552. package/python/tcl/tcl8.6/tzdata/Asia/Bangkok +7 -0
  2553. package/python/tcl/tcl8.6/tzdata/Asia/Barnaul +73 -0
  2554. package/python/tcl/tcl8.6/tzdata/Asia/Beirut +270 -0
  2555. package/python/tcl/tcl8.6/tzdata/Asia/Bishkek +58 -0
  2556. package/python/tcl/tcl8.6/tzdata/Asia/Brunei +7 -0
  2557. package/python/tcl/tcl8.6/tzdata/Asia/Calcutta +5 -0
  2558. package/python/tcl/tcl8.6/tzdata/Asia/Chita +72 -0
  2559. package/python/tcl/tcl8.6/tzdata/Asia/Choibalsan +56 -0
  2560. package/python/tcl/tcl8.6/tzdata/Asia/Chongqing +5 -0
  2561. package/python/tcl/tcl8.6/tzdata/Asia/Chungking +5 -0
  2562. package/python/tcl/tcl8.6/tzdata/Asia/Colombo +13 -0
  2563. package/python/tcl/tcl8.6/tzdata/Asia/Dacca +5 -0
  2564. package/python/tcl/tcl8.6/tzdata/Asia/Damascus +280 -0
  2565. package/python/tcl/tcl8.6/tzdata/Asia/Dhaka +13 -0
  2566. package/python/tcl/tcl8.6/tzdata/Asia/Dili +9 -0
  2567. package/python/tcl/tcl8.6/tzdata/Asia/Dubai +6 -0
  2568. package/python/tcl/tcl8.6/tzdata/Asia/Dushanbe +29 -0
  2569. package/python/tcl/tcl8.6/tzdata/Asia/Famagusta +256 -0
  2570. package/python/tcl/tcl8.6/tzdata/Asia/Gaza +284 -0
  2571. package/python/tcl/tcl8.6/tzdata/Asia/Harbin +5 -0
  2572. package/python/tcl/tcl8.6/tzdata/Asia/Hebron +283 -0
  2573. package/python/tcl/tcl8.6/tzdata/Asia/Ho_Chi_Minh +14 -0
  2574. package/python/tcl/tcl8.6/tzdata/Asia/Hong_Kong +75 -0
  2575. package/python/tcl/tcl8.6/tzdata/Asia/Hovd +55 -0
  2576. package/python/tcl/tcl8.6/tzdata/Asia/Irkutsk +72 -0
  2577. package/python/tcl/tcl8.6/tzdata/Asia/Istanbul +5 -0
  2578. package/python/tcl/tcl8.6/tzdata/Asia/Jakarta +13 -0
  2579. package/python/tcl/tcl8.6/tzdata/Asia/Jayapura +8 -0
  2580. package/python/tcl/tcl8.6/tzdata/Asia/Jerusalem +278 -0
  2581. package/python/tcl/tcl8.6/tzdata/Asia/Kabul +7 -0
  2582. package/python/tcl/tcl8.6/tzdata/Asia/Kamchatka +71 -0
  2583. package/python/tcl/tcl8.6/tzdata/Asia/Karachi +16 -0
  2584. package/python/tcl/tcl8.6/tzdata/Asia/Kashgar +5 -0
  2585. package/python/tcl/tcl8.6/tzdata/Asia/Kathmandu +7 -0
  2586. package/python/tcl/tcl8.6/tzdata/Asia/Katmandu +5 -0
  2587. package/python/tcl/tcl8.6/tzdata/Asia/Khandyga +73 -0
  2588. package/python/tcl/tcl8.6/tzdata/Asia/Kolkata +12 -0
  2589. package/python/tcl/tcl8.6/tzdata/Asia/Krasnoyarsk +71 -0
  2590. package/python/tcl/tcl8.6/tzdata/Asia/Kuala_Lumpur +13 -0
  2591. package/python/tcl/tcl8.6/tzdata/Asia/Kuching +23 -0
  2592. package/python/tcl/tcl8.6/tzdata/Asia/Kuwait +5 -0
  2593. package/python/tcl/tcl8.6/tzdata/Asia/Macao +5 -0
  2594. package/python/tcl/tcl8.6/tzdata/Asia/Macau +76 -0
  2595. package/python/tcl/tcl8.6/tzdata/Asia/Magadan +72 -0
  2596. package/python/tcl/tcl8.6/tzdata/Asia/Makassar +9 -0
  2597. package/python/tcl/tcl8.6/tzdata/Asia/Manila +15 -0
  2598. package/python/tcl/tcl8.6/tzdata/Asia/Muscat +5 -0
  2599. package/python/tcl/tcl8.6/tzdata/Asia/Nicosia +257 -0
  2600. package/python/tcl/tcl8.6/tzdata/Asia/Novokuznetsk +71 -0
  2601. package/python/tcl/tcl8.6/tzdata/Asia/Novosibirsk +73 -0
  2602. package/python/tcl/tcl8.6/tzdata/Asia/Omsk +71 -0
  2603. package/python/tcl/tcl8.6/tzdata/Asia/Oral +58 -0
  2604. package/python/tcl/tcl8.6/tzdata/Asia/Phnom_Penh +5 -0
  2605. package/python/tcl/tcl8.6/tzdata/Asia/Pontianak +13 -0
  2606. package/python/tcl/tcl8.6/tzdata/Asia/Pyongyang +10 -0
  2607. package/python/tcl/tcl8.6/tzdata/Asia/Qatar +7 -0
  2608. package/python/tcl/tcl8.6/tzdata/Asia/Qostanay +58 -0
  2609. package/python/tcl/tcl8.6/tzdata/Asia/Qyzylorda +58 -0
  2610. package/python/tcl/tcl8.6/tzdata/Asia/Rangoon +5 -0
  2611. package/python/tcl/tcl8.6/tzdata/Asia/Riyadh +6 -0
  2612. package/python/tcl/tcl8.6/tzdata/Asia/Saigon +5 -0
  2613. package/python/tcl/tcl8.6/tzdata/Asia/Sakhalin +73 -0
  2614. package/python/tcl/tcl8.6/tzdata/Asia/Samarkand +31 -0
  2615. package/python/tcl/tcl8.6/tzdata/Asia/Seoul +34 -0
  2616. package/python/tcl/tcl8.6/tzdata/Asia/Shanghai +34 -0
  2617. package/python/tcl/tcl8.6/tzdata/Asia/Singapore +13 -0
  2618. package/python/tcl/tcl8.6/tzdata/Asia/Srednekolymsk +71 -0
  2619. package/python/tcl/tcl8.6/tzdata/Asia/Taipei +46 -0
  2620. package/python/tcl/tcl8.6/tzdata/Asia/Tashkent +31 -0
  2621. package/python/tcl/tcl8.6/tzdata/Asia/Tbilisi +60 -0
  2622. package/python/tcl/tcl8.6/tzdata/Asia/Tehran +229 -0
  2623. package/python/tcl/tcl8.6/tzdata/Asia/Tel_Aviv +5 -0
  2624. package/python/tcl/tcl8.6/tzdata/Asia/Thimbu +5 -0
  2625. package/python/tcl/tcl8.6/tzdata/Asia/Thimphu +7 -0
  2626. package/python/tcl/tcl8.6/tzdata/Asia/Tokyo +14 -0
  2627. package/python/tcl/tcl8.6/tzdata/Asia/Tomsk +73 -0
  2628. package/python/tcl/tcl8.6/tzdata/Asia/Ujung_Pandang +5 -0
  2629. package/python/tcl/tcl8.6/tzdata/Asia/Ulaanbaatar +55 -0
  2630. package/python/tcl/tcl8.6/tzdata/Asia/Ulan_Bator +5 -0
  2631. package/python/tcl/tcl8.6/tzdata/Asia/Urumqi +6 -0
  2632. package/python/tcl/tcl8.6/tzdata/Asia/Ust-Nera +71 -0
  2633. package/python/tcl/tcl8.6/tzdata/Asia/Vientiane +5 -0
  2634. package/python/tcl/tcl8.6/tzdata/Asia/Vladivostok +71 -0
  2635. package/python/tcl/tcl8.6/tzdata/Asia/Yakutsk +71 -0
  2636. package/python/tcl/tcl8.6/tzdata/Asia/Yangon +9 -0
  2637. package/python/tcl/tcl8.6/tzdata/Asia/Yekaterinburg +72 -0
  2638. package/python/tcl/tcl8.6/tzdata/Asia/Yerevan +70 -0
  2639. package/python/tcl/tcl8.6/tzdata/Atlantic/Azores +347 -0
  2640. package/python/tcl/tcl8.6/tzdata/Atlantic/Bermuda +286 -0
  2641. package/python/tcl/tcl8.6/tzdata/Atlantic/Canary +247 -0
  2642. package/python/tcl/tcl8.6/tzdata/Atlantic/Cape_Verde +9 -0
  2643. package/python/tcl/tcl8.6/tzdata/Atlantic/Faeroe +5 -0
  2644. package/python/tcl/tcl8.6/tzdata/Atlantic/Faroe +245 -0
  2645. package/python/tcl/tcl8.6/tzdata/Atlantic/Jan_Mayen +5 -0
  2646. package/python/tcl/tcl8.6/tzdata/Atlantic/Madeira +348 -0
  2647. package/python/tcl/tcl8.6/tzdata/Atlantic/Reykjavik +73 -0
  2648. package/python/tcl/tcl8.6/tzdata/Atlantic/South_Georgia +6 -0
  2649. package/python/tcl/tcl8.6/tzdata/Atlantic/St_Helena +5 -0
  2650. package/python/tcl/tcl8.6/tzdata/Atlantic/Stanley +75 -0
  2651. package/python/tcl/tcl8.6/tzdata/Australia/ACT +5 -0
  2652. package/python/tcl/tcl8.6/tzdata/Australia/Adelaide +273 -0
  2653. package/python/tcl/tcl8.6/tzdata/Australia/Brisbane +23 -0
  2654. package/python/tcl/tcl8.6/tzdata/Australia/Broken_Hill +275 -0
  2655. package/python/tcl/tcl8.6/tzdata/Australia/Canberra +5 -0
  2656. package/python/tcl/tcl8.6/tzdata/Australia/Currie +5 -0
  2657. package/python/tcl/tcl8.6/tzdata/Australia/Darwin +15 -0
  2658. package/python/tcl/tcl8.6/tzdata/Australia/Eucla +25 -0
  2659. package/python/tcl/tcl8.6/tzdata/Australia/Hobart +285 -0
  2660. package/python/tcl/tcl8.6/tzdata/Australia/LHI +5 -0
  2661. package/python/tcl/tcl8.6/tzdata/Australia/Lindeman +28 -0
  2662. package/python/tcl/tcl8.6/tzdata/Australia/Lord_Howe +245 -0
  2663. package/python/tcl/tcl8.6/tzdata/Australia/Melbourne +272 -0
  2664. package/python/tcl/tcl8.6/tzdata/Australia/NSW +5 -0
  2665. package/python/tcl/tcl8.6/tzdata/Australia/North +5 -0
  2666. package/python/tcl/tcl8.6/tzdata/Australia/Perth +25 -0
  2667. package/python/tcl/tcl8.6/tzdata/Australia/Queensland +5 -0
  2668. package/python/tcl/tcl8.6/tzdata/Australia/South +5 -0
  2669. package/python/tcl/tcl8.6/tzdata/Australia/Sydney +272 -0
  2670. package/python/tcl/tcl8.6/tzdata/Australia/Tasmania +5 -0
  2671. package/python/tcl/tcl8.6/tzdata/Australia/Victoria +5 -0
  2672. package/python/tcl/tcl8.6/tzdata/Australia/West +5 -0
  2673. package/python/tcl/tcl8.6/tzdata/Australia/Yancowinna +5 -0
  2674. package/python/tcl/tcl8.6/tzdata/Brazil/Acre +5 -0
  2675. package/python/tcl/tcl8.6/tzdata/Brazil/DeNoronha +5 -0
  2676. package/python/tcl/tcl8.6/tzdata/Brazil/East +5 -0
  2677. package/python/tcl/tcl8.6/tzdata/Brazil/West +5 -0
  2678. package/python/tcl/tcl8.6/tzdata/CET +265 -0
  2679. package/python/tcl/tcl8.6/tzdata/CST6CDT +278 -0
  2680. package/python/tcl/tcl8.6/tzdata/Canada/Atlantic +5 -0
  2681. package/python/tcl/tcl8.6/tzdata/Canada/Central +5 -0
  2682. package/python/tcl/tcl8.6/tzdata/Canada/East-Saskatchewan +5 -0
  2683. package/python/tcl/tcl8.6/tzdata/Canada/Eastern +5 -0
  2684. package/python/tcl/tcl8.6/tzdata/Canada/Mountain +5 -0
  2685. package/python/tcl/tcl8.6/tzdata/Canada/Newfoundland +5 -0
  2686. package/python/tcl/tcl8.6/tzdata/Canada/Pacific +5 -0
  2687. package/python/tcl/tcl8.6/tzdata/Canada/Saskatchewan +5 -0
  2688. package/python/tcl/tcl8.6/tzdata/Canada/Yukon +5 -0
  2689. package/python/tcl/tcl8.6/tzdata/Chile/Continental +5 -0
  2690. package/python/tcl/tcl8.6/tzdata/Chile/EasterIsland +5 -0
  2691. package/python/tcl/tcl8.6/tzdata/Cuba +5 -0
  2692. package/python/tcl/tcl8.6/tzdata/EET +251 -0
  2693. package/python/tcl/tcl8.6/tzdata/EST +5 -0
  2694. package/python/tcl/tcl8.6/tzdata/EST5EDT +278 -0
  2695. package/python/tcl/tcl8.6/tzdata/Egypt +5 -0
  2696. package/python/tcl/tcl8.6/tzdata/Eire +5 -0
  2697. package/python/tcl/tcl8.6/tzdata/Etc/GMT +5 -0
  2698. package/python/tcl/tcl8.6/tzdata/Etc/GMT+0 +5 -0
  2699. package/python/tcl/tcl8.6/tzdata/Etc/GMT+1 +5 -0
  2700. package/python/tcl/tcl8.6/tzdata/Etc/GMT+10 +5 -0
  2701. package/python/tcl/tcl8.6/tzdata/Etc/GMT+11 +5 -0
  2702. package/python/tcl/tcl8.6/tzdata/Etc/GMT+12 +5 -0
  2703. package/python/tcl/tcl8.6/tzdata/Etc/GMT+2 +5 -0
  2704. package/python/tcl/tcl8.6/tzdata/Etc/GMT+3 +5 -0
  2705. package/python/tcl/tcl8.6/tzdata/Etc/GMT+4 +5 -0
  2706. package/python/tcl/tcl8.6/tzdata/Etc/GMT+5 +5 -0
  2707. package/python/tcl/tcl8.6/tzdata/Etc/GMT+6 +5 -0
  2708. package/python/tcl/tcl8.6/tzdata/Etc/GMT+7 +5 -0
  2709. package/python/tcl/tcl8.6/tzdata/Etc/GMT+8 +5 -0
  2710. package/python/tcl/tcl8.6/tzdata/Etc/GMT+9 +5 -0
  2711. package/python/tcl/tcl8.6/tzdata/Etc/GMT-0 +5 -0
  2712. package/python/tcl/tcl8.6/tzdata/Etc/GMT-1 +5 -0
  2713. package/python/tcl/tcl8.6/tzdata/Etc/GMT-10 +5 -0
  2714. package/python/tcl/tcl8.6/tzdata/Etc/GMT-11 +5 -0
  2715. package/python/tcl/tcl8.6/tzdata/Etc/GMT-12 +5 -0
  2716. package/python/tcl/tcl8.6/tzdata/Etc/GMT-13 +5 -0
  2717. package/python/tcl/tcl8.6/tzdata/Etc/GMT-14 +5 -0
  2718. package/python/tcl/tcl8.6/tzdata/Etc/GMT-2 +5 -0
  2719. package/python/tcl/tcl8.6/tzdata/Etc/GMT-3 +5 -0
  2720. package/python/tcl/tcl8.6/tzdata/Etc/GMT-4 +5 -0
  2721. package/python/tcl/tcl8.6/tzdata/Etc/GMT-5 +5 -0
  2722. package/python/tcl/tcl8.6/tzdata/Etc/GMT-6 +5 -0
  2723. package/python/tcl/tcl8.6/tzdata/Etc/GMT-7 +5 -0
  2724. package/python/tcl/tcl8.6/tzdata/Etc/GMT-8 +5 -0
  2725. package/python/tcl/tcl8.6/tzdata/Etc/GMT-9 +5 -0
  2726. package/python/tcl/tcl8.6/tzdata/Etc/GMT0 +5 -0
  2727. package/python/tcl/tcl8.6/tzdata/Etc/Greenwich +5 -0
  2728. package/python/tcl/tcl8.6/tzdata/Etc/UCT +5 -0
  2729. package/python/tcl/tcl8.6/tzdata/Etc/UTC +5 -0
  2730. package/python/tcl/tcl8.6/tzdata/Etc/Universal +5 -0
  2731. package/python/tcl/tcl8.6/tzdata/Etc/Zulu +5 -0
  2732. package/python/tcl/tcl8.6/tzdata/Europe/Amsterdam +310 -0
  2733. package/python/tcl/tcl8.6/tzdata/Europe/Andorra +237 -0
  2734. package/python/tcl/tcl8.6/tzdata/Europe/Astrakhan +71 -0
  2735. package/python/tcl/tcl8.6/tzdata/Europe/Athens +268 -0
  2736. package/python/tcl/tcl8.6/tzdata/Europe/Belfast +5 -0
  2737. package/python/tcl/tcl8.6/tzdata/Europe/Belgrade +250 -0
  2738. package/python/tcl/tcl8.6/tzdata/Europe/Berlin +274 -0
  2739. package/python/tcl/tcl8.6/tzdata/Europe/Bratislava +5 -0
  2740. package/python/tcl/tcl8.6/tzdata/Europe/Brussels +316 -0
  2741. package/python/tcl/tcl8.6/tzdata/Europe/Bucharest +268 -0
  2742. package/python/tcl/tcl8.6/tzdata/Europe/Budapest +283 -0
  2743. package/python/tcl/tcl8.6/tzdata/Europe/Busingen +5 -0
  2744. package/python/tcl/tcl8.6/tzdata/Europe/Chisinau +272 -0
  2745. package/python/tcl/tcl8.6/tzdata/Europe/Copenhagen +264 -0
  2746. package/python/tcl/tcl8.6/tzdata/Europe/Dublin +358 -0
  2747. package/python/tcl/tcl8.6/tzdata/Europe/Gibraltar +328 -0
  2748. package/python/tcl/tcl8.6/tzdata/Europe/Guernsey +5 -0
  2749. package/python/tcl/tcl8.6/tzdata/Europe/Helsinki +248 -0
  2750. package/python/tcl/tcl8.6/tzdata/Europe/Isle_of_Man +5 -0
  2751. package/python/tcl/tcl8.6/tzdata/Europe/Istanbul +125 -0
  2752. package/python/tcl/tcl8.6/tzdata/Europe/Jersey +5 -0
  2753. package/python/tcl/tcl8.6/tzdata/Europe/Kaliningrad +86 -0
  2754. package/python/tcl/tcl8.6/tzdata/Europe/Kiev +251 -0
  2755. package/python/tcl/tcl8.6/tzdata/Europe/Kirov +70 -0
  2756. package/python/tcl/tcl8.6/tzdata/Europe/Lisbon +353 -0
  2757. package/python/tcl/tcl8.6/tzdata/Europe/Ljubljana +5 -0
  2758. package/python/tcl/tcl8.6/tzdata/Europe/London +372 -0
  2759. package/python/tcl/tcl8.6/tzdata/Europe/Luxembourg +313 -0
  2760. package/python/tcl/tcl8.6/tzdata/Europe/Madrid +292 -0
  2761. package/python/tcl/tcl8.6/tzdata/Europe/Malta +299 -0
  2762. package/python/tcl/tcl8.6/tzdata/Europe/Mariehamn +5 -0
  2763. package/python/tcl/tcl8.6/tzdata/Europe/Minsk +75 -0
  2764. package/python/tcl/tcl8.6/tzdata/Europe/Monaco +315 -0
  2765. package/python/tcl/tcl8.6/tzdata/Europe/Moscow +83 -0
  2766. package/python/tcl/tcl8.6/tzdata/Europe/Nicosia +5 -0
  2767. package/python/tcl/tcl8.6/tzdata/Europe/Oslo +271 -0
  2768. package/python/tcl/tcl8.6/tzdata/Europe/Paris +314 -0
  2769. package/python/tcl/tcl8.6/tzdata/Europe/Podgorica +5 -0
  2770. package/python/tcl/tcl8.6/tzdata/Europe/Prague +275 -0
  2771. package/python/tcl/tcl8.6/tzdata/Europe/Riga +258 -0
  2772. package/python/tcl/tcl8.6/tzdata/Europe/Rome +302 -0
  2773. package/python/tcl/tcl8.6/tzdata/Europe/Samara +73 -0
  2774. package/python/tcl/tcl8.6/tzdata/Europe/San_Marino +5 -0
  2775. package/python/tcl/tcl8.6/tzdata/Europe/Sarajevo +5 -0
  2776. package/python/tcl/tcl8.6/tzdata/Europe/Saratov +71 -0
  2777. package/python/tcl/tcl8.6/tzdata/Europe/Simferopol +82 -0
  2778. package/python/tcl/tcl8.6/tzdata/Europe/Skopje +5 -0
  2779. package/python/tcl/tcl8.6/tzdata/Europe/Sofia +258 -0
  2780. package/python/tcl/tcl8.6/tzdata/Europe/Stockholm +250 -0
  2781. package/python/tcl/tcl8.6/tzdata/Europe/Tallinn +254 -0
  2782. package/python/tcl/tcl8.6/tzdata/Europe/Tirane +263 -0
  2783. package/python/tcl/tcl8.6/tzdata/Europe/Tiraspol +5 -0
  2784. package/python/tcl/tcl8.6/tzdata/Europe/Ulyanovsk +73 -0
  2785. package/python/tcl/tcl8.6/tzdata/Europe/Uzhgorod +254 -0
  2786. package/python/tcl/tcl8.6/tzdata/Europe/Vaduz +5 -0
  2787. package/python/tcl/tcl8.6/tzdata/Europe/Vatican +5 -0
  2788. package/python/tcl/tcl8.6/tzdata/Europe/Vienna +271 -0
  2789. package/python/tcl/tcl8.6/tzdata/Europe/Vilnius +252 -0
  2790. package/python/tcl/tcl8.6/tzdata/Europe/Volgograd +73 -0
  2791. package/python/tcl/tcl8.6/tzdata/Europe/Warsaw +296 -0
  2792. package/python/tcl/tcl8.6/tzdata/Europe/Zagreb +5 -0
  2793. package/python/tcl/tcl8.6/tzdata/Europe/Zaporozhye +252 -0
  2794. package/python/tcl/tcl8.6/tzdata/Europe/Zurich +250 -0
  2795. package/python/tcl/tcl8.6/tzdata/GB +5 -0
  2796. package/python/tcl/tcl8.6/tzdata/GB-Eire +5 -0
  2797. package/python/tcl/tcl8.6/tzdata/GMT +5 -0
  2798. package/python/tcl/tcl8.6/tzdata/GMT+0 +5 -0
  2799. package/python/tcl/tcl8.6/tzdata/GMT-0 +5 -0
  2800. package/python/tcl/tcl8.6/tzdata/GMT0 +5 -0
  2801. package/python/tcl/tcl8.6/tzdata/Greenwich +5 -0
  2802. package/python/tcl/tcl8.6/tzdata/HST +5 -0
  2803. package/python/tcl/tcl8.6/tzdata/Hongkong +5 -0
  2804. package/python/tcl/tcl8.6/tzdata/Iceland +5 -0
  2805. package/python/tcl/tcl8.6/tzdata/Indian/Antananarivo +5 -0
  2806. package/python/tcl/tcl8.6/tzdata/Indian/Chagos +7 -0
  2807. package/python/tcl/tcl8.6/tzdata/Indian/Christmas +6 -0
  2808. package/python/tcl/tcl8.6/tzdata/Indian/Cocos +6 -0
  2809. package/python/tcl/tcl8.6/tzdata/Indian/Comoro +5 -0
  2810. package/python/tcl/tcl8.6/tzdata/Indian/Kerguelen +6 -0
  2811. package/python/tcl/tcl8.6/tzdata/Indian/Mahe +6 -0
  2812. package/python/tcl/tcl8.6/tzdata/Indian/Maldives +7 -0
  2813. package/python/tcl/tcl8.6/tzdata/Indian/Mauritius +10 -0
  2814. package/python/tcl/tcl8.6/tzdata/Indian/Mayotte +5 -0
  2815. package/python/tcl/tcl8.6/tzdata/Indian/Reunion +6 -0
  2816. package/python/tcl/tcl8.6/tzdata/Iran +5 -0
  2817. package/python/tcl/tcl8.6/tzdata/Israel +5 -0
  2818. package/python/tcl/tcl8.6/tzdata/Jamaica +5 -0
  2819. package/python/tcl/tcl8.6/tzdata/Japan +5 -0
  2820. package/python/tcl/tcl8.6/tzdata/Kwajalein +5 -0
  2821. package/python/tcl/tcl8.6/tzdata/Libya +5 -0
  2822. package/python/tcl/tcl8.6/tzdata/MET +265 -0
  2823. package/python/tcl/tcl8.6/tzdata/MST +5 -0
  2824. package/python/tcl/tcl8.6/tzdata/MST7MDT +278 -0
  2825. package/python/tcl/tcl8.6/tzdata/Mexico/BajaNorte +5 -0
  2826. package/python/tcl/tcl8.6/tzdata/Mexico/BajaSur +5 -0
  2827. package/python/tcl/tcl8.6/tzdata/Mexico/General +5 -0
  2828. package/python/tcl/tcl8.6/tzdata/NZ +5 -0
  2829. package/python/tcl/tcl8.6/tzdata/NZ-CHAT +5 -0
  2830. package/python/tcl/tcl8.6/tzdata/Navajo +5 -0
  2831. package/python/tcl/tcl8.6/tzdata/PRC +5 -0
  2832. package/python/tcl/tcl8.6/tzdata/PST8PDT +278 -0
  2833. package/python/tcl/tcl8.6/tzdata/Pacific/Apia +31 -0
  2834. package/python/tcl/tcl8.6/tzdata/Pacific/Auckland +285 -0
  2835. package/python/tcl/tcl8.6/tzdata/Pacific/Bougainville +10 -0
  2836. package/python/tcl/tcl8.6/tzdata/Pacific/Chatham +258 -0
  2837. package/python/tcl/tcl8.6/tzdata/Pacific/Chuuk +11 -0
  2838. package/python/tcl/tcl8.6/tzdata/Pacific/Easter +268 -0
  2839. package/python/tcl/tcl8.6/tzdata/Pacific/Efate +28 -0
  2840. package/python/tcl/tcl8.6/tzdata/Pacific/Enderbury +5 -0
  2841. package/python/tcl/tcl8.6/tzdata/Pacific/Fakaofo +7 -0
  2842. package/python/tcl/tcl8.6/tzdata/Pacific/Fiji +189 -0
  2843. package/python/tcl/tcl8.6/tzdata/Pacific/Funafuti +6 -0
  2844. package/python/tcl/tcl8.6/tzdata/Pacific/Galapagos +9 -0
  2845. package/python/tcl/tcl8.6/tzdata/Pacific/Gambier +6 -0
  2846. package/python/tcl/tcl8.6/tzdata/Pacific/Guadalcanal +6 -0
  2847. package/python/tcl/tcl8.6/tzdata/Pacific/Guam +26 -0
  2848. package/python/tcl/tcl8.6/tzdata/Pacific/Honolulu +12 -0
  2849. package/python/tcl/tcl8.6/tzdata/Pacific/Johnston +5 -0
  2850. package/python/tcl/tcl8.6/tzdata/Pacific/Kanton +8 -0
  2851. package/python/tcl/tcl8.6/tzdata/Pacific/Kiritimati +8 -0
  2852. package/python/tcl/tcl8.6/tzdata/Pacific/Kosrae +14 -0
  2853. package/python/tcl/tcl8.6/tzdata/Pacific/Kwajalein +11 -0
  2854. package/python/tcl/tcl8.6/tzdata/Pacific/Majuro +12 -0
  2855. package/python/tcl/tcl8.6/tzdata/Pacific/Marquesas +6 -0
  2856. package/python/tcl/tcl8.6/tzdata/Pacific/Midway +5 -0
  2857. package/python/tcl/tcl8.6/tzdata/Pacific/Nauru +9 -0
  2858. package/python/tcl/tcl8.6/tzdata/Pacific/Niue +7 -0
  2859. package/python/tcl/tcl8.6/tzdata/Pacific/Norfolk +172 -0
  2860. package/python/tcl/tcl8.6/tzdata/Pacific/Noumea +12 -0
  2861. package/python/tcl/tcl8.6/tzdata/Pacific/Pago_Pago +7 -0
  2862. package/python/tcl/tcl8.6/tzdata/Pacific/Palau +7 -0
  2863. package/python/tcl/tcl8.6/tzdata/Pacific/Pitcairn +7 -0
  2864. package/python/tcl/tcl8.6/tzdata/Pacific/Pohnpei +12 -0
  2865. package/python/tcl/tcl8.6/tzdata/Pacific/Ponape +5 -0
  2866. package/python/tcl/tcl8.6/tzdata/Pacific/Port_Moresby +7 -0
  2867. package/python/tcl/tcl8.6/tzdata/Pacific/Rarotonga +33 -0
  2868. package/python/tcl/tcl8.6/tzdata/Pacific/Saipan +5 -0
  2869. package/python/tcl/tcl8.6/tzdata/Pacific/Samoa +5 -0
  2870. package/python/tcl/tcl8.6/tzdata/Pacific/Tahiti +6 -0
  2871. package/python/tcl/tcl8.6/tzdata/Pacific/Tarawa +6 -0
  2872. package/python/tcl/tcl8.6/tzdata/Pacific/Tongatapu +16 -0
  2873. package/python/tcl/tcl8.6/tzdata/Pacific/Truk +5 -0
  2874. package/python/tcl/tcl8.6/tzdata/Pacific/Wake +6 -0
  2875. package/python/tcl/tcl8.6/tzdata/Pacific/Wallis +6 -0
  2876. package/python/tcl/tcl8.6/tzdata/Pacific/Yap +5 -0
  2877. package/python/tcl/tcl8.6/tzdata/Poland +5 -0
  2878. package/python/tcl/tcl8.6/tzdata/Portugal +5 -0
  2879. package/python/tcl/tcl8.6/tzdata/ROC +5 -0
  2880. package/python/tcl/tcl8.6/tzdata/ROK +5 -0
  2881. package/python/tcl/tcl8.6/tzdata/Singapore +5 -0
  2882. package/python/tcl/tcl8.6/tzdata/SystemV/AST4 +5 -0
  2883. package/python/tcl/tcl8.6/tzdata/SystemV/AST4ADT +5 -0
  2884. package/python/tcl/tcl8.6/tzdata/SystemV/CST6 +5 -0
  2885. package/python/tcl/tcl8.6/tzdata/SystemV/CST6CDT +5 -0
  2886. package/python/tcl/tcl8.6/tzdata/SystemV/EST5 +5 -0
  2887. package/python/tcl/tcl8.6/tzdata/SystemV/EST5EDT +5 -0
  2888. package/python/tcl/tcl8.6/tzdata/SystemV/HST10 +5 -0
  2889. package/python/tcl/tcl8.6/tzdata/SystemV/MST7 +5 -0
  2890. package/python/tcl/tcl8.6/tzdata/SystemV/MST7MDT +5 -0
  2891. package/python/tcl/tcl8.6/tzdata/SystemV/PST8 +5 -0
  2892. package/python/tcl/tcl8.6/tzdata/SystemV/PST8PDT +5 -0
  2893. package/python/tcl/tcl8.6/tzdata/SystemV/YST9 +5 -0
  2894. package/python/tcl/tcl8.6/tzdata/SystemV/YST9YDT +5 -0
  2895. package/python/tcl/tcl8.6/tzdata/Turkey +5 -0
  2896. package/python/tcl/tcl8.6/tzdata/UCT +5 -0
  2897. package/python/tcl/tcl8.6/tzdata/US/Alaska +5 -0
  2898. package/python/tcl/tcl8.6/tzdata/US/Aleutian +5 -0
  2899. package/python/tcl/tcl8.6/tzdata/US/Arizona +5 -0
  2900. package/python/tcl/tcl8.6/tzdata/US/Central +5 -0
  2901. package/python/tcl/tcl8.6/tzdata/US/East-Indiana +5 -0
  2902. package/python/tcl/tcl8.6/tzdata/US/Eastern +5 -0
  2903. package/python/tcl/tcl8.6/tzdata/US/Hawaii +5 -0
  2904. package/python/tcl/tcl8.6/tzdata/US/Indiana-Starke +5 -0
  2905. package/python/tcl/tcl8.6/tzdata/US/Michigan +5 -0
  2906. package/python/tcl/tcl8.6/tzdata/US/Mountain +5 -0
  2907. package/python/tcl/tcl8.6/tzdata/US/Pacific +5 -0
  2908. package/python/tcl/tcl8.6/tzdata/US/Pacific-New +5 -0
  2909. package/python/tcl/tcl8.6/tzdata/US/Samoa +5 -0
  2910. package/python/tcl/tcl8.6/tzdata/UTC +5 -0
  2911. package/python/tcl/tcl8.6/tzdata/Universal +5 -0
  2912. package/python/tcl/tcl8.6/tzdata/W-SU +5 -0
  2913. package/python/tcl/tcl8.6/tzdata/WET +251 -0
  2914. package/python/tcl/tcl8.6/tzdata/Zulu +5 -0
  2915. package/python/tcl/tcl8.6/word.tcl +154 -0
  2916. package/python/tcl/tcl86t.lib +0 -0
  2917. package/python/tcl/tclConfig.sh +181 -0
  2918. package/python/tcl/tclooConfig.sh +19 -0
  2919. package/python/tcl/tclstub86.lib +0 -0
  2920. package/python/tcl/tix8.4.3/Balloon.tcl +585 -0
  2921. package/python/tcl/tix8.4.3/BtnBox.tcl +120 -0
  2922. package/python/tcl/tix8.4.3/CObjView.tcl +360 -0
  2923. package/python/tcl/tix8.4.3/ChkList.tcl +239 -0
  2924. package/python/tcl/tix8.4.3/ComboBox.tcl +1558 -0
  2925. package/python/tcl/tix8.4.3/Compat.tcl +33 -0
  2926. package/python/tcl/tix8.4.3/Console.tcl +612 -0
  2927. package/python/tcl/tix8.4.3/Control.tcl +482 -0
  2928. package/python/tcl/tix8.4.3/DefSchm.tcl +103 -0
  2929. package/python/tcl/tix8.4.3/DialogS.tcl +175 -0
  2930. package/python/tcl/tix8.4.3/DirBox.tcl +207 -0
  2931. package/python/tcl/tix8.4.3/DirDlg.tcl +95 -0
  2932. package/python/tcl/tix8.4.3/DirList.tcl +272 -0
  2933. package/python/tcl/tix8.4.3/DirTree.tcl +350 -0
  2934. package/python/tcl/tix8.4.3/DragDrop.tcl +166 -0
  2935. package/python/tcl/tix8.4.3/DtlList.tcl +49 -0
  2936. package/python/tcl/tix8.4.3/EFileBox.tcl +436 -0
  2937. package/python/tcl/tix8.4.3/EFileDlg.tcl +65 -0
  2938. package/python/tcl/tix8.4.3/Event.tcl +217 -0
  2939. package/python/tcl/tix8.4.3/FileBox.tcl +568 -0
  2940. package/python/tcl/tix8.4.3/FileCbx.tcl +108 -0
  2941. package/python/tcl/tix8.4.3/FileDlg.tcl +75 -0
  2942. package/python/tcl/tix8.4.3/FileEnt.tcl +270 -0
  2943. package/python/tcl/tix8.4.3/FloatEnt.tcl +132 -0
  2944. package/python/tcl/tix8.4.3/Grid.tcl +1122 -0
  2945. package/python/tcl/tix8.4.3/HList.tcl +917 -0
  2946. package/python/tcl/tix8.4.3/HListDD.tcl +204 -0
  2947. package/python/tcl/tix8.4.3/IconView.tcl +272 -0
  2948. package/python/tcl/tix8.4.3/Init.tcl +232 -0
  2949. package/python/tcl/tix8.4.3/LabEntry.tcl +86 -0
  2950. package/python/tcl/tix8.4.3/LabFrame.tcl +49 -0
  2951. package/python/tcl/tix8.4.3/LabWidg.tcl +157 -0
  2952. package/python/tcl/tix8.4.3/ListNBk.tcl +153 -0
  2953. package/python/tcl/tix8.4.3/Makefile +5 -0
  2954. package/python/tcl/tix8.4.3/Meter.tcl +137 -0
  2955. package/python/tcl/tix8.4.3/MultView.tcl +157 -0
  2956. package/python/tcl/tix8.4.3/NoteBook.tcl +247 -0
  2957. package/python/tcl/tix8.4.3/OldUtil.tcl +108 -0
  2958. package/python/tcl/tix8.4.3/OptMenu.tcl +394 -0
  2959. package/python/tcl/tix8.4.3/PanedWin.tcl +1215 -0
  2960. package/python/tcl/tix8.4.3/PopMenu.tcl +239 -0
  2961. package/python/tcl/tix8.4.3/Primitiv.tcl +428 -0
  2962. package/python/tcl/tix8.4.3/ResizeH.tcl +505 -0
  2963. package/python/tcl/tix8.4.3/SGrid.tcl +243 -0
  2964. package/python/tcl/tix8.4.3/SHList.tcl +140 -0
  2965. package/python/tcl/tix8.4.3/SListBox.tcl +295 -0
  2966. package/python/tcl/tix8.4.3/STList.tcl +93 -0
  2967. package/python/tcl/tix8.4.3/SText.tcl +134 -0
  2968. package/python/tcl/tix8.4.3/SWidget.tcl +465 -0
  2969. package/python/tcl/tix8.4.3/SWindow.tcl +274 -0
  2970. package/python/tcl/tix8.4.3/Select.tcl +300 -0
  2971. package/python/tcl/tix8.4.3/Shell.tcl +47 -0
  2972. package/python/tcl/tix8.4.3/SimpDlg.tcl +47 -0
  2973. package/python/tcl/tix8.4.3/StackWin.tcl +84 -0
  2974. package/python/tcl/tix8.4.3/StatBar.tcl +56 -0
  2975. package/python/tcl/tix8.4.3/StdBBox.tcl +71 -0
  2976. package/python/tcl/tix8.4.3/StdShell.tcl +49 -0
  2977. package/python/tcl/tix8.4.3/TList.tcl +953 -0
  2978. package/python/tcl/tix8.4.3/Tix.tcl +398 -0
  2979. package/python/tcl/tix8.4.3/Tree.tcl +211 -0
  2980. package/python/tcl/tix8.4.3/Utils.tcl +442 -0
  2981. package/python/tcl/tix8.4.3/VResize.tcl +211 -0
  2982. package/python/tcl/tix8.4.3/VStack.tcl +430 -0
  2983. package/python/tcl/tix8.4.3/VTree.tcl +195 -0
  2984. package/python/tcl/tix8.4.3/Variable.tcl +101 -0
  2985. package/python/tcl/tix8.4.3/WInfo.tcl +40 -0
  2986. package/python/tcl/tix8.4.3/bitmaps/act_fold.gif +0 -0
  2987. package/python/tcl/tix8.4.3/bitmaps/act_fold.xbm +5 -0
  2988. package/python/tcl/tix8.4.3/bitmaps/act_fold.xpm +22 -0
  2989. package/python/tcl/tix8.4.3/bitmaps/balarrow.xbm +4 -0
  2990. package/python/tcl/tix8.4.3/bitmaps/cbxarrow.xbm +6 -0
  2991. package/python/tcl/tix8.4.3/bitmaps/ck_def.xbm +6 -0
  2992. package/python/tcl/tix8.4.3/bitmaps/ck_off.xbm +6 -0
  2993. package/python/tcl/tix8.4.3/bitmaps/ck_on.xbm +6 -0
  2994. package/python/tcl/tix8.4.3/bitmaps/cross.xbm +6 -0
  2995. package/python/tcl/tix8.4.3/bitmaps/decr.xbm +4 -0
  2996. package/python/tcl/tix8.4.3/bitmaps/drop.xbm +8 -0
  2997. package/python/tcl/tix8.4.3/bitmaps/file.gif +0 -0
  2998. package/python/tcl/tix8.4.3/bitmaps/file.xbm +5 -0
  2999. package/python/tcl/tix8.4.3/bitmaps/file.xpm +18 -0
  3000. package/python/tcl/tix8.4.3/bitmaps/folder.gif +0 -0
  3001. package/python/tcl/tix8.4.3/bitmaps/folder.xbm +5 -0
  3002. package/python/tcl/tix8.4.3/bitmaps/folder.xpm +21 -0
  3003. package/python/tcl/tix8.4.3/bitmaps/harddisk.xbm +14 -0
  3004. package/python/tcl/tix8.4.3/bitmaps/hourglas.mask +16 -0
  3005. package/python/tcl/tix8.4.3/bitmaps/hourglas.xbm +16 -0
  3006. package/python/tcl/tix8.4.3/bitmaps/incr.xbm +4 -0
  3007. package/python/tcl/tix8.4.3/bitmaps/info.gif +0 -0
  3008. package/python/tcl/tix8.4.3/bitmaps/info.xpm +38 -0
  3009. package/python/tcl/tix8.4.3/bitmaps/maximize.xbm +6 -0
  3010. package/python/tcl/tix8.4.3/bitmaps/minimize.xbm +6 -0
  3011. package/python/tcl/tix8.4.3/bitmaps/minus.gif +0 -0
  3012. package/python/tcl/tix8.4.3/bitmaps/minus.xbm +5 -0
  3013. package/python/tcl/tix8.4.3/bitmaps/minus.xpm +14 -0
  3014. package/python/tcl/tix8.4.3/bitmaps/minusarm.gif +0 -0
  3015. package/python/tcl/tix8.4.3/bitmaps/minusarm.xbm +5 -0
  3016. package/python/tcl/tix8.4.3/bitmaps/minusarm.xpm +15 -0
  3017. package/python/tcl/tix8.4.3/bitmaps/mktransgif.tcl +14 -0
  3018. package/python/tcl/tix8.4.3/bitmaps/network.xbm +14 -0
  3019. package/python/tcl/tix8.4.3/bitmaps/no_entry.gif +0 -0
  3020. package/python/tcl/tix8.4.3/bitmaps/no_entry.xpm +39 -0
  3021. package/python/tcl/tix8.4.3/bitmaps/openfile.xbm +5 -0
  3022. package/python/tcl/tix8.4.3/bitmaps/openfold.gif +0 -0
  3023. package/python/tcl/tix8.4.3/bitmaps/openfold.xbm +5 -0
  3024. package/python/tcl/tix8.4.3/bitmaps/openfold.xpm +21 -0
  3025. package/python/tcl/tix8.4.3/bitmaps/plus.gif +0 -0
  3026. package/python/tcl/tix8.4.3/bitmaps/plus.xbm +5 -0
  3027. package/python/tcl/tix8.4.3/bitmaps/plus.xpm +14 -0
  3028. package/python/tcl/tix8.4.3/bitmaps/plusarm.gif +0 -0
  3029. package/python/tcl/tix8.4.3/bitmaps/plusarm.xbm +5 -0
  3030. package/python/tcl/tix8.4.3/bitmaps/plusarm.xpm +15 -0
  3031. package/python/tcl/tix8.4.3/bitmaps/resize1.xbm +8 -0
  3032. package/python/tcl/tix8.4.3/bitmaps/resize2.xbm +8 -0
  3033. package/python/tcl/tix8.4.3/bitmaps/restore.xbm +6 -0
  3034. package/python/tcl/tix8.4.3/bitmaps/srcfile.gif +0 -0
  3035. package/python/tcl/tix8.4.3/bitmaps/srcfile.xbm +5 -0
  3036. package/python/tcl/tix8.4.3/bitmaps/srcfile.xpm +18 -0
  3037. package/python/tcl/tix8.4.3/bitmaps/system.xbm +6 -0
  3038. package/python/tcl/tix8.4.3/bitmaps/textfile.gif +0 -0
  3039. package/python/tcl/tix8.4.3/bitmaps/textfile.xbm +5 -0
  3040. package/python/tcl/tix8.4.3/bitmaps/textfile.xpm +18 -0
  3041. package/python/tcl/tix8.4.3/bitmaps/tick.xbm +6 -0
  3042. package/python/tcl/tix8.4.3/bitmaps/warning.gif +0 -0
  3043. package/python/tcl/tix8.4.3/bitmaps/warning.xpm +38 -0
  3044. package/python/tcl/tix8.4.3/demos/MkChoose.tcl +280 -0
  3045. package/python/tcl/tix8.4.3/demos/MkDirLis.tcl +69 -0
  3046. package/python/tcl/tix8.4.3/demos/MkSample.tcl +270 -0
  3047. package/python/tcl/tix8.4.3/demos/MkScroll.tcl +160 -0
  3048. package/python/tcl/tix8.4.3/demos/bitmaps/about.xpm +50 -0
  3049. package/python/tcl/tix8.4.3/demos/bitmaps/bold.xbm +6 -0
  3050. package/python/tcl/tix8.4.3/demos/bitmaps/capital.xbm +6 -0
  3051. package/python/tcl/tix8.4.3/demos/bitmaps/centerj.xbm +6 -0
  3052. package/python/tcl/tix8.4.3/demos/bitmaps/code.xpm +22 -0
  3053. package/python/tcl/tix8.4.3/demos/bitmaps/combobox.xbm +14 -0
  3054. package/python/tcl/tix8.4.3/demos/bitmaps/combobox.xpm +49 -0
  3055. package/python/tcl/tix8.4.3/demos/bitmaps/drivea.xbm +14 -0
  3056. package/python/tcl/tix8.4.3/demos/bitmaps/drivea.xpm +43 -0
  3057. package/python/tcl/tix8.4.3/demos/bitmaps/exit.xpm +48 -0
  3058. package/python/tcl/tix8.4.3/demos/bitmaps/filebox.xbm +14 -0
  3059. package/python/tcl/tix8.4.3/demos/bitmaps/filebox.xpm +49 -0
  3060. package/python/tcl/tix8.4.3/demos/bitmaps/harddisk.xbm +14 -0
  3061. package/python/tcl/tix8.4.3/demos/bitmaps/harddisk.xpm +43 -0
  3062. package/python/tcl/tix8.4.3/demos/bitmaps/italic.xbm +6 -0
  3063. package/python/tcl/tix8.4.3/demos/bitmaps/justify.xbm +6 -0
  3064. package/python/tcl/tix8.4.3/demos/bitmaps/leftj.xbm +6 -0
  3065. package/python/tcl/tix8.4.3/demos/bitmaps/netw.xbm +14 -0
  3066. package/python/tcl/tix8.4.3/demos/bitmaps/netw.xpm +45 -0
  3067. package/python/tcl/tix8.4.3/demos/bitmaps/network.xbm +14 -0
  3068. package/python/tcl/tix8.4.3/demos/bitmaps/network.xpm +45 -0
  3069. package/python/tcl/tix8.4.3/demos/bitmaps/optmenu.xpm +48 -0
  3070. package/python/tcl/tix8.4.3/demos/bitmaps/rightj.xbm +6 -0
  3071. package/python/tcl/tix8.4.3/demos/bitmaps/select.xpm +52 -0
  3072. package/python/tcl/tix8.4.3/demos/bitmaps/tix.gif +0 -0
  3073. package/python/tcl/tix8.4.3/demos/bitmaps/underlin.xbm +6 -0
  3074. package/python/tcl/tix8.4.3/demos/samples/AllSampl.tcl +201 -0
  3075. package/python/tcl/tix8.4.3/demos/samples/ArrowBtn.tcl +187 -0
  3076. package/python/tcl/tix8.4.3/demos/samples/Balloon.tcl +48 -0
  3077. package/python/tcl/tix8.4.3/demos/samples/BtnBox.tcl +57 -0
  3078. package/python/tcl/tix8.4.3/demos/samples/CObjView.tcl +80 -0
  3079. package/python/tcl/tix8.4.3/demos/samples/ChkList.tcl +179 -0
  3080. package/python/tcl/tix8.4.3/demos/samples/CmpImg.tcl +64 -0
  3081. package/python/tcl/tix8.4.3/demos/samples/CmpImg1.tcl +182 -0
  3082. package/python/tcl/tix8.4.3/demos/samples/CmpImg2.tcl +136 -0
  3083. package/python/tcl/tix8.4.3/demos/samples/CmpImg3.tcl +90 -0
  3084. package/python/tcl/tix8.4.3/demos/samples/CmpImg4.tcl +125 -0
  3085. package/python/tcl/tix8.4.3/demos/samples/ComboBox.tcl +119 -0
  3086. package/python/tcl/tix8.4.3/demos/samples/Control.tcl +133 -0
  3087. package/python/tcl/tix8.4.3/demos/samples/DirDlg.tcl +90 -0
  3088. package/python/tcl/tix8.4.3/demos/samples/DirList.tcl +91 -0
  3089. package/python/tcl/tix8.4.3/demos/samples/DirTree.tcl +92 -0
  3090. package/python/tcl/tix8.4.3/demos/samples/DragDrop.tcl +50 -0
  3091. package/python/tcl/tix8.4.3/demos/samples/DynTree.tcl +149 -0
  3092. package/python/tcl/tix8.4.3/demos/samples/EFileDlg.tcl +104 -0
  3093. package/python/tcl/tix8.4.3/demos/samples/EditGrid.tcl +281 -0
  3094. package/python/tcl/tix8.4.3/demos/samples/FileDlg.tcl +98 -0
  3095. package/python/tcl/tix8.4.3/demos/samples/FileEnt.tcl +81 -0
  3096. package/python/tcl/tix8.4.3/demos/samples/HList1.tcl +159 -0
  3097. package/python/tcl/tix8.4.3/demos/samples/LabEntry.tcl +94 -0
  3098. package/python/tcl/tix8.4.3/demos/samples/LabFrame.tcl +85 -0
  3099. package/python/tcl/tix8.4.3/demos/samples/ListNBK.tcl +86 -0
  3100. package/python/tcl/tix8.4.3/demos/samples/Meter.tcl +77 -0
  3101. package/python/tcl/tix8.4.3/demos/samples/NoteBook.tcl +102 -0
  3102. package/python/tcl/tix8.4.3/demos/samples/OptMenu.tcl +103 -0
  3103. package/python/tcl/tix8.4.3/demos/samples/PanedWin.tcl +112 -0
  3104. package/python/tcl/tix8.4.3/demos/samples/PopMenu.tcl +73 -0
  3105. package/python/tcl/tix8.4.3/demos/samples/SGrid0.tcl +135 -0
  3106. package/python/tcl/tix8.4.3/demos/samples/SGrid1.tcl +215 -0
  3107. package/python/tcl/tix8.4.3/demos/samples/SHList.tcl +111 -0
  3108. package/python/tcl/tix8.4.3/demos/samples/SHList2.tcl +159 -0
  3109. package/python/tcl/tix8.4.3/demos/samples/SListBox.tcl +84 -0
  3110. package/python/tcl/tix8.4.3/demos/samples/STList1.tcl +57 -0
  3111. package/python/tcl/tix8.4.3/demos/samples/STList2.tcl +85 -0
  3112. package/python/tcl/tix8.4.3/demos/samples/STList3.tcl +112 -0
  3113. package/python/tcl/tix8.4.3/demos/samples/SText.tcl +75 -0
  3114. package/python/tcl/tix8.4.3/demos/samples/SWindow.tcl +89 -0
  3115. package/python/tcl/tix8.4.3/demos/samples/Sample.tcl +36 -0
  3116. package/python/tcl/tix8.4.3/demos/samples/Select.tcl +114 -0
  3117. package/python/tcl/tix8.4.3/demos/samples/StdBBox.tcl +65 -0
  3118. package/python/tcl/tix8.4.3/demos/samples/Tree.tcl +91 -0
  3119. package/python/tcl/tix8.4.3/demos/samples/Xpm.tcl +89 -0
  3120. package/python/tcl/tix8.4.3/demos/samples/Xpm1.tcl +108 -0
  3121. package/python/tcl/tix8.4.3/demos/tclIndex +55 -0
  3122. package/python/tcl/tix8.4.3/demos/tixwidgets.tcl +344 -0
  3123. package/python/tcl/tix8.4.3/demos/widget +450 -0
  3124. package/python/tcl/tix8.4.3/fs.tcl +170 -0
  3125. package/python/tcl/tix8.4.3/pkgIndex.tcl +2 -0
  3126. package/python/tcl/tix8.4.3/pref/10Point.fs +23 -0
  3127. package/python/tcl/tix8.4.3/pref/10Point.fsc +44 -0
  3128. package/python/tcl/tix8.4.3/pref/12Point.fs +23 -0
  3129. package/python/tcl/tix8.4.3/pref/12Point.fsc +44 -0
  3130. package/python/tcl/tix8.4.3/pref/14Point.fs +22 -0
  3131. package/python/tcl/tix8.4.3/pref/14Point.fsc +50 -0
  3132. package/python/tcl/tix8.4.3/pref/Bisque.cs +35 -0
  3133. package/python/tcl/tix8.4.3/pref/Bisque.csc +338 -0
  3134. package/python/tcl/tix8.4.3/pref/Blue.cs +35 -0
  3135. package/python/tcl/tix8.4.3/pref/Blue.csc +338 -0
  3136. package/python/tcl/tix8.4.3/pref/Gray.cs +36 -0
  3137. package/python/tcl/tix8.4.3/pref/Gray.csc +339 -0
  3138. package/python/tcl/tix8.4.3/pref/Makefile +48 -0
  3139. package/python/tcl/tix8.4.3/pref/Old12Pt.fs +14 -0
  3140. package/python/tcl/tix8.4.3/pref/Old14Pt.fs +13 -0
  3141. package/python/tcl/tix8.4.3/pref/SGIGray.cs +38 -0
  3142. package/python/tcl/tix8.4.3/pref/SGIGray.csc +339 -0
  3143. package/python/tcl/tix8.4.3/pref/TK.cs +35 -0
  3144. package/python/tcl/tix8.4.3/pref/TK.csc +72 -0
  3145. package/python/tcl/tix8.4.3/pref/TK.fs +16 -0
  3146. package/python/tcl/tix8.4.3/pref/TK.fsc +19 -0
  3147. package/python/tcl/tix8.4.3/pref/TixGray.cs +36 -0
  3148. package/python/tcl/tix8.4.3/pref/TixGray.csc +339 -0
  3149. package/python/tcl/tix8.4.3/pref/TkWin.cs +68 -0
  3150. package/python/tcl/tix8.4.3/pref/TkWin.csc +333 -0
  3151. package/python/tcl/tix8.4.3/pref/TkWin.fs +16 -0
  3152. package/python/tcl/tix8.4.3/pref/TkWin.fsc +34 -0
  3153. package/python/tcl/tix8.4.3/pref/WmDefault.cs +45 -0
  3154. package/python/tcl/tix8.4.3/pref/WmDefault.csc +316 -0
  3155. package/python/tcl/tix8.4.3/pref/WmDefault.fs +23 -0
  3156. package/python/tcl/tix8.4.3/pref/WmDefault.fsc +57 -0
  3157. package/python/tcl/tix8.4.3/pref/WmDefault.py +96 -0
  3158. package/python/tcl/tix8.4.3/pref/WmDefault.tcl +1053 -0
  3159. package/python/tcl/tix8.4.3/pref/WmDefault.txt +142 -0
  3160. package/python/tcl/tix8.4.3/pref/pkgIndex.tcl +9 -0
  3161. package/python/tcl/tix8.4.3/pref/tixmkpref +381 -0
  3162. package/python/tcl/tix8.4.3/tix84.dll +0 -0
  3163. package/python/tcl/tix8.4.3/tix84.lib +0 -0
  3164. package/python/tcl/tk8.6/bgerror.tcl +272 -0
  3165. package/python/tcl/tk8.6/button.tcl +782 -0
  3166. package/python/tcl/tk8.6/choosedir.tcl +308 -0
  3167. package/python/tcl/tk8.6/clrpick.tcl +695 -0
  3168. package/python/tcl/tk8.6/comdlg.tcl +322 -0
  3169. package/python/tcl/tk8.6/console.tcl +1150 -0
  3170. package/python/tcl/tk8.6/demos/README +44 -0
  3171. package/python/tcl/tk8.6/demos/anilabel.tcl +160 -0
  3172. package/python/tcl/tk8.6/demos/aniwave.tcl +104 -0
  3173. package/python/tcl/tk8.6/demos/arrow.tcl +241 -0
  3174. package/python/tcl/tk8.6/demos/bind.tcl +78 -0
  3175. package/python/tcl/tk8.6/demos/bitmap.tcl +52 -0
  3176. package/python/tcl/tk8.6/demos/browse +66 -0
  3177. package/python/tcl/tk8.6/demos/button.tcl +47 -0
  3178. package/python/tcl/tk8.6/demos/check.tcl +71 -0
  3179. package/python/tcl/tk8.6/demos/clrpick.tcl +54 -0
  3180. package/python/tcl/tk8.6/demos/colors.tcl +99 -0
  3181. package/python/tcl/tk8.6/demos/combo.tcl +61 -0
  3182. package/python/tcl/tk8.6/demos/cscroll.tcl +172 -0
  3183. package/python/tcl/tk8.6/demos/ctext.tcl +176 -0
  3184. package/python/tcl/tk8.6/demos/dialog1.tcl +25 -0
  3185. package/python/tcl/tk8.6/demos/dialog2.tcl +18 -0
  3186. package/python/tcl/tk8.6/demos/en.msg +97 -0
  3187. package/python/tcl/tk8.6/demos/entry1.tcl +34 -0
  3188. package/python/tcl/tk8.6/demos/entry2.tcl +46 -0
  3189. package/python/tcl/tk8.6/demos/entry3.tcl +185 -0
  3190. package/python/tcl/tk8.6/demos/filebox.tcl +81 -0
  3191. package/python/tcl/tk8.6/demos/floor.tcl +1371 -0
  3192. package/python/tcl/tk8.6/demos/fontchoose.tcl +67 -0
  3193. package/python/tcl/tk8.6/demos/form.tcl +38 -0
  3194. package/python/tcl/tk8.6/demos/goldberg.tcl +1833 -0
  3195. package/python/tcl/tk8.6/demos/hello +22 -0
  3196. package/python/tcl/tk8.6/demos/hscale.tcl +45 -0
  3197. package/python/tcl/tk8.6/demos/icon.tcl +51 -0
  3198. package/python/tcl/tk8.6/demos/image1.tcl +35 -0
  3199. package/python/tcl/tk8.6/demos/image2.tcl +108 -0
  3200. package/python/tcl/tk8.6/demos/images/earth.gif +0 -0
  3201. package/python/tcl/tk8.6/demos/images/earthmenu.png +0 -0
  3202. package/python/tcl/tk8.6/demos/images/earthris.gif +0 -0
  3203. package/python/tcl/tk8.6/demos/images/flagdown.xbm +27 -0
  3204. package/python/tcl/tk8.6/demos/images/flagup.xbm +27 -0
  3205. package/python/tcl/tk8.6/demos/images/gray25.xbm +6 -0
  3206. package/python/tcl/tk8.6/demos/images/letters.xbm +27 -0
  3207. package/python/tcl/tk8.6/demos/images/noletter.xbm +27 -0
  3208. package/python/tcl/tk8.6/demos/images/ouster.png +0 -0
  3209. package/python/tcl/tk8.6/demos/images/pattern.xbm +6 -0
  3210. package/python/tcl/tk8.6/demos/images/tcllogo.gif +0 -0
  3211. package/python/tcl/tk8.6/demos/images/teapot.ppm +31 -0
  3212. package/python/tcl/tk8.6/demos/items.tcl +302 -0
  3213. package/python/tcl/tk8.6/demos/ixset +328 -0
  3214. package/python/tcl/tk8.6/demos/knightstour.tcl +268 -0
  3215. package/python/tcl/tk8.6/demos/label.tcl +40 -0
  3216. package/python/tcl/tk8.6/demos/labelframe.tcl +76 -0
  3217. package/python/tcl/tk8.6/demos/license.terms +40 -0
  3218. package/python/tcl/tk8.6/demos/mclist.tcl +119 -0
  3219. package/python/tcl/tk8.6/demos/menu.tcl +180 -0
  3220. package/python/tcl/tk8.6/demos/menubu.tcl +90 -0
  3221. package/python/tcl/tk8.6/demos/msgbox.tcl +62 -0
  3222. package/python/tcl/tk8.6/demos/nl.msg +125 -0
  3223. package/python/tcl/tk8.6/demos/paned1.tcl +32 -0
  3224. package/python/tcl/tk8.6/demos/paned2.tcl +74 -0
  3225. package/python/tcl/tk8.6/demos/pendulum.tcl +197 -0
  3226. package/python/tcl/tk8.6/demos/plot.tcl +97 -0
  3227. package/python/tcl/tk8.6/demos/puzzle.tcl +82 -0
  3228. package/python/tcl/tk8.6/demos/radio.tcl +66 -0
  3229. package/python/tcl/tk8.6/demos/rmt +210 -0
  3230. package/python/tcl/tk8.6/demos/rolodex +204 -0
  3231. package/python/tcl/tk8.6/demos/ruler.tcl +175 -0
  3232. package/python/tcl/tk8.6/demos/sayings.tcl +44 -0
  3233. package/python/tcl/tk8.6/demos/search.tcl +139 -0
  3234. package/python/tcl/tk8.6/demos/spin.tcl +53 -0
  3235. package/python/tcl/tk8.6/demos/square +60 -0
  3236. package/python/tcl/tk8.6/demos/states.tcl +54 -0
  3237. package/python/tcl/tk8.6/demos/style.tcl +155 -0
  3238. package/python/tcl/tk8.6/demos/tclIndex +67 -0
  3239. package/python/tcl/tk8.6/demos/tcolor +358 -0
  3240. package/python/tcl/tk8.6/demos/text.tcl +113 -0
  3241. package/python/tcl/tk8.6/demos/textpeer.tcl +62 -0
  3242. package/python/tcl/tk8.6/demos/timer +47 -0
  3243. package/python/tcl/tk8.6/demos/toolbar.tcl +92 -0
  3244. package/python/tcl/tk8.6/demos/tree.tcl +89 -0
  3245. package/python/tcl/tk8.6/demos/ttkbut.tcl +84 -0
  3246. package/python/tcl/tk8.6/demos/ttkmenu.tcl +53 -0
  3247. package/python/tcl/tk8.6/demos/ttknote.tcl +57 -0
  3248. package/python/tcl/tk8.6/demos/ttkpane.tcl +112 -0
  3249. package/python/tcl/tk8.6/demos/ttkprogress.tcl +46 -0
  3250. package/python/tcl/tk8.6/demos/ttkscale.tcl +39 -0
  3251. package/python/tcl/tk8.6/demos/twind.tcl +351 -0
  3252. package/python/tcl/tk8.6/demos/unicodeout.tcl +145 -0
  3253. package/python/tcl/tk8.6/demos/vscale.tcl +46 -0
  3254. package/python/tcl/tk8.6/demos/widget +734 -0
  3255. package/python/tcl/tk8.6/dialog.tcl +175 -0
  3256. package/python/tcl/tk8.6/entry.tcl +686 -0
  3257. package/python/tcl/tk8.6/focus.tcl +178 -0
  3258. package/python/tcl/tk8.6/fontchooser.tcl +456 -0
  3259. package/python/tcl/tk8.6/iconlist.tcl +717 -0
  3260. package/python/tcl/tk8.6/icons.tcl +153 -0
  3261. package/python/tcl/tk8.6/images/README +7 -0
  3262. package/python/tcl/tk8.6/images/logo.eps +2091 -0
  3263. package/python/tcl/tk8.6/images/logo100.gif +0 -0
  3264. package/python/tcl/tk8.6/images/logo64.gif +0 -0
  3265. package/python/tcl/tk8.6/images/logoLarge.gif +0 -0
  3266. package/python/tcl/tk8.6/images/logoMed.gif +0 -0
  3267. package/python/tcl/tk8.6/images/pwrdLogo.eps +1897 -0
  3268. package/python/tcl/tk8.6/images/pwrdLogo100.gif +0 -0
  3269. package/python/tcl/tk8.6/images/pwrdLogo150.gif +0 -0
  3270. package/python/tcl/tk8.6/images/pwrdLogo175.gif +0 -0
  3271. package/python/tcl/tk8.6/images/pwrdLogo200.gif +0 -0
  3272. package/python/tcl/tk8.6/images/pwrdLogo75.gif +0 -0
  3273. package/python/tcl/tk8.6/images/tai-ku.gif +0 -0
  3274. package/python/tcl/tk8.6/license.terms +40 -0
  3275. package/python/tcl/tk8.6/listbox.tcl +560 -0
  3276. package/python/tcl/tk8.6/megawidget.tcl +297 -0
  3277. package/python/tcl/tk8.6/menu.tcl +1377 -0
  3278. package/python/tcl/tk8.6/mkpsenc.tcl +1488 -0
  3279. package/python/tcl/tk8.6/msgbox.tcl +427 -0
  3280. package/python/tcl/tk8.6/msgs/cs.msg +77 -0
  3281. package/python/tcl/tk8.6/msgs/da.msg +78 -0
  3282. package/python/tcl/tk8.6/msgs/de.msg +91 -0
  3283. package/python/tcl/tk8.6/msgs/el.msg +86 -0
  3284. package/python/tcl/tk8.6/msgs/en.msg +91 -0
  3285. package/python/tcl/tk8.6/msgs/en_gb.msg +3 -0
  3286. package/python/tcl/tk8.6/msgs/eo.msg +75 -0
  3287. package/python/tcl/tk8.6/msgs/es.msg +76 -0
  3288. package/python/tcl/tk8.6/msgs/fr.msg +72 -0
  3289. package/python/tcl/tk8.6/msgs/hu.msg +78 -0
  3290. package/python/tcl/tk8.6/msgs/it.msg +73 -0
  3291. package/python/tcl/tk8.6/msgs/nl.msg +91 -0
  3292. package/python/tcl/tk8.6/msgs/pl.msg +91 -0
  3293. package/python/tcl/tk8.6/msgs/pt.msg +74 -0
  3294. package/python/tcl/tk8.6/msgs/ru.msg +75 -0
  3295. package/python/tcl/tk8.6/msgs/sv.msg +76 -0
  3296. package/python/tcl/tk8.6/obsolete.tcl +178 -0
  3297. package/python/tcl/tk8.6/optMenu.tcl +43 -0
  3298. package/python/tcl/tk8.6/palette.tcl +244 -0
  3299. package/python/tcl/tk8.6/panedwindow.tcl +194 -0
  3300. package/python/tcl/tk8.6/pkgIndex.tcl +7 -0
  3301. package/python/tcl/tk8.6/safetk.tcl +262 -0
  3302. package/python/tcl/tk8.6/scale.tcl +290 -0
  3303. package/python/tcl/tk8.6/scrlbar.tcl +456 -0
  3304. package/python/tcl/tk8.6/spinbox.tcl +593 -0
  3305. package/python/tcl/tk8.6/tclIndex +253 -0
  3306. package/python/tcl/tk8.6/tearoff.tcl +184 -0
  3307. package/python/tcl/tk8.6/text.tcl +1237 -0
  3308. package/python/tcl/tk8.6/tk.tcl +712 -0
  3309. package/python/tcl/tk8.6/tkfbox.tcl +1240 -0
  3310. package/python/tcl/tk8.6/ttk/altTheme.tcl +109 -0
  3311. package/python/tcl/tk8.6/ttk/aquaTheme.tcl +119 -0
  3312. package/python/tcl/tk8.6/ttk/button.tcl +83 -0
  3313. package/python/tcl/tk8.6/ttk/clamTheme.tcl +147 -0
  3314. package/python/tcl/tk8.6/ttk/classicTheme.tcl +115 -0
  3315. package/python/tcl/tk8.6/ttk/combobox.tcl +448 -0
  3316. package/python/tcl/tk8.6/ttk/cursors.tcl +208 -0
  3317. package/python/tcl/tk8.6/ttk/defaults.tcl +143 -0
  3318. package/python/tcl/tk8.6/ttk/entry.tcl +632 -0
  3319. package/python/tcl/tk8.6/ttk/fonts.tcl +157 -0
  3320. package/python/tcl/tk8.6/ttk/menubutton.tcl +241 -0
  3321. package/python/tcl/tk8.6/ttk/notebook.tcl +199 -0
  3322. package/python/tcl/tk8.6/ttk/panedwindow.tcl +91 -0
  3323. package/python/tcl/tk8.6/ttk/progress.tcl +49 -0
  3324. package/python/tcl/tk8.6/ttk/scale.tcl +94 -0
  3325. package/python/tcl/tk8.6/ttk/scrollbar.tcl +126 -0
  3326. package/python/tcl/tk8.6/ttk/sizegrip.tcl +102 -0
  3327. package/python/tcl/tk8.6/ttk/spinbox.tcl +192 -0
  3328. package/python/tcl/tk8.6/ttk/treeview.tcl +383 -0
  3329. package/python/tcl/tk8.6/ttk/ttk.tcl +176 -0
  3330. package/python/tcl/tk8.6/ttk/utils.tcl +337 -0
  3331. package/python/tcl/tk8.6/ttk/vistaTheme.tcl +229 -0
  3332. package/python/tcl/tk8.6/ttk/winTheme.tcl +84 -0
  3333. package/python/tcl/tk8.6/ttk/xpTheme.tcl +67 -0
  3334. package/python/tcl/tk8.6/unsupported.tcl +269 -0
  3335. package/python/tcl/tk8.6/xmfbox.tcl +989 -0
  3336. package/python/tcl/tk86t.lib +0 -0
  3337. package/python/tcl/tkstub86.lib +0 -0
  3338. package/python/vcruntime140.dll +0 -0
  3339. package/python/vcruntime140_1.dll +0 -0
  3340. package/runtime-manifest.json +7 -0
@@ -0,0 +1,2639 @@
1
+ """Concrete date/time and related types.
2
+
3
+ See http://www.iana.org/time-zones/repository/tz-link.html for
4
+ time zone and DST data sources.
5
+ """
6
+
7
+ __all__ = ("date", "datetime", "time", "timedelta", "timezone", "tzinfo",
8
+ "MINYEAR", "MAXYEAR", "UTC")
9
+
10
+
11
+ import time as _time
12
+ import math as _math
13
+ import sys
14
+ from operator import index as _index
15
+
16
+ def _cmp(x, y):
17
+ return 0 if x == y else 1 if x > y else -1
18
+
19
+ def _get_class_module(self):
20
+ module_name = self.__class__.__module__
21
+ if module_name == '_pydatetime':
22
+ return 'datetime'
23
+ else:
24
+ return module_name
25
+
26
+ MINYEAR = 1
27
+ MAXYEAR = 9999
28
+ _MAXORDINAL = 3652059 # date.max.toordinal()
29
+
30
+ # Utility functions, adapted from Python's Demo/classes/Dates.py, which
31
+ # also assumes the current Gregorian calendar indefinitely extended in
32
+ # both directions. Difference: Dates.py calls January 1 of year 0 day
33
+ # number 1. The code here calls January 1 of year 1 day number 1. This is
34
+ # to match the definition of the "proleptic Gregorian" calendar in Dershowitz
35
+ # and Reingold's "Calendrical Calculations", where it's the base calendar
36
+ # for all computations. See the book for algorithms for converting between
37
+ # proleptic Gregorian ordinals and many other calendar systems.
38
+
39
+ # -1 is a placeholder for indexing purposes.
40
+ _DAYS_IN_MONTH = [-1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
41
+
42
+ _DAYS_BEFORE_MONTH = [-1] # -1 is a placeholder for indexing purposes.
43
+ dbm = 0
44
+ for dim in _DAYS_IN_MONTH[1:]:
45
+ _DAYS_BEFORE_MONTH.append(dbm)
46
+ dbm += dim
47
+ del dbm, dim
48
+
49
+ def _is_leap(year):
50
+ "year -> 1 if leap year, else 0."
51
+ return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
52
+
53
+ def _days_before_year(year):
54
+ "year -> number of days before January 1st of year."
55
+ y = year - 1
56
+ return y*365 + y//4 - y//100 + y//400
57
+
58
+ def _days_in_month(year, month):
59
+ "year, month -> number of days in that month in that year."
60
+ assert 1 <= month <= 12, month
61
+ if month == 2 and _is_leap(year):
62
+ return 29
63
+ return _DAYS_IN_MONTH[month]
64
+
65
+ def _days_before_month(year, month):
66
+ "year, month -> number of days in year preceding first day of month."
67
+ assert 1 <= month <= 12, 'month must be in 1..12'
68
+ return _DAYS_BEFORE_MONTH[month] + (month > 2 and _is_leap(year))
69
+
70
+ def _ymd2ord(year, month, day):
71
+ "year, month, day -> ordinal, considering 01-Jan-0001 as day 1."
72
+ assert 1 <= month <= 12, 'month must be in 1..12'
73
+ dim = _days_in_month(year, month)
74
+ assert 1 <= day <= dim, ('day must be in 1..%d' % dim)
75
+ return (_days_before_year(year) +
76
+ _days_before_month(year, month) +
77
+ day)
78
+
79
+ _DI400Y = _days_before_year(401) # number of days in 400 years
80
+ _DI100Y = _days_before_year(101) # " " " " 100 "
81
+ _DI4Y = _days_before_year(5) # " " " " 4 "
82
+
83
+ # A 4-year cycle has an extra leap day over what we'd get from pasting
84
+ # together 4 single years.
85
+ assert _DI4Y == 4 * 365 + 1
86
+
87
+ # Similarly, a 400-year cycle has an extra leap day over what we'd get from
88
+ # pasting together 4 100-year cycles.
89
+ assert _DI400Y == 4 * _DI100Y + 1
90
+
91
+ # OTOH, a 100-year cycle has one fewer leap day than we'd get from
92
+ # pasting together 25 4-year cycles.
93
+ assert _DI100Y == 25 * _DI4Y - 1
94
+
95
+ def _ord2ymd(n):
96
+ "ordinal -> (year, month, day), considering 01-Jan-0001 as day 1."
97
+
98
+ # n is a 1-based index, starting at 1-Jan-1. The pattern of leap years
99
+ # repeats exactly every 400 years. The basic strategy is to find the
100
+ # closest 400-year boundary at or before n, then work with the offset
101
+ # from that boundary to n. Life is much clearer if we subtract 1 from
102
+ # n first -- then the values of n at 400-year boundaries are exactly
103
+ # those divisible by _DI400Y:
104
+ #
105
+ # D M Y n n-1
106
+ # -- --- ---- ---------- ----------------
107
+ # 31 Dec -400 -_DI400Y -_DI400Y -1
108
+ # 1 Jan -399 -_DI400Y +1 -_DI400Y 400-year boundary
109
+ # ...
110
+ # 30 Dec 000 -1 -2
111
+ # 31 Dec 000 0 -1
112
+ # 1 Jan 001 1 0 400-year boundary
113
+ # 2 Jan 001 2 1
114
+ # 3 Jan 001 3 2
115
+ # ...
116
+ # 31 Dec 400 _DI400Y _DI400Y -1
117
+ # 1 Jan 401 _DI400Y +1 _DI400Y 400-year boundary
118
+ n -= 1
119
+ n400, n = divmod(n, _DI400Y)
120
+ year = n400 * 400 + 1 # ..., -399, 1, 401, ...
121
+
122
+ # Now n is the (non-negative) offset, in days, from January 1 of year, to
123
+ # the desired date. Now compute how many 100-year cycles precede n.
124
+ # Note that it's possible for n100 to equal 4! In that case 4 full
125
+ # 100-year cycles precede the desired day, which implies the desired
126
+ # day is December 31 at the end of a 400-year cycle.
127
+ n100, n = divmod(n, _DI100Y)
128
+
129
+ # Now compute how many 4-year cycles precede it.
130
+ n4, n = divmod(n, _DI4Y)
131
+
132
+ # And now how many single years. Again n1 can be 4, and again meaning
133
+ # that the desired day is December 31 at the end of the 4-year cycle.
134
+ n1, n = divmod(n, 365)
135
+
136
+ year += n100 * 100 + n4 * 4 + n1
137
+ if n1 == 4 or n100 == 4:
138
+ assert n == 0
139
+ return year-1, 12, 31
140
+
141
+ # Now the year is correct, and n is the offset from January 1. We find
142
+ # the month via an estimate that's either exact or one too large.
143
+ leapyear = n1 == 3 and (n4 != 24 or n100 == 3)
144
+ assert leapyear == _is_leap(year)
145
+ month = (n + 50) >> 5
146
+ preceding = _DAYS_BEFORE_MONTH[month] + (month > 2 and leapyear)
147
+ if preceding > n: # estimate is too large
148
+ month -= 1
149
+ preceding -= _DAYS_IN_MONTH[month] + (month == 2 and leapyear)
150
+ n -= preceding
151
+ assert 0 <= n < _days_in_month(year, month)
152
+
153
+ # Now the year and month are correct, and n is the offset from the
154
+ # start of that month: we're done!
155
+ return year, month, n+1
156
+
157
+ # Month and day names. For localized versions, see the calendar module.
158
+ _MONTHNAMES = [None, "Jan", "Feb", "Mar", "Apr", "May", "Jun",
159
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
160
+ _DAYNAMES = [None, "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
161
+
162
+
163
+ def _build_struct_time(y, m, d, hh, mm, ss, dstflag):
164
+ wday = (_ymd2ord(y, m, d) + 6) % 7
165
+ dnum = _days_before_month(y, m) + d
166
+ return _time.struct_time((y, m, d, hh, mm, ss, wday, dnum, dstflag))
167
+
168
+ def _format_time(hh, mm, ss, us, timespec='auto'):
169
+ specs = {
170
+ 'hours': '{:02d}',
171
+ 'minutes': '{:02d}:{:02d}',
172
+ 'seconds': '{:02d}:{:02d}:{:02d}',
173
+ 'milliseconds': '{:02d}:{:02d}:{:02d}.{:03d}',
174
+ 'microseconds': '{:02d}:{:02d}:{:02d}.{:06d}'
175
+ }
176
+
177
+ if timespec == 'auto':
178
+ # Skip trailing microseconds when us==0.
179
+ timespec = 'microseconds' if us else 'seconds'
180
+ elif timespec == 'milliseconds':
181
+ us //= 1000
182
+ try:
183
+ fmt = specs[timespec]
184
+ except KeyError:
185
+ raise ValueError('Unknown timespec value')
186
+ else:
187
+ return fmt.format(hh, mm, ss, us)
188
+
189
+ def _format_offset(off, sep=':'):
190
+ s = ''
191
+ if off is not None:
192
+ if off.days < 0:
193
+ sign = "-"
194
+ off = -off
195
+ else:
196
+ sign = "+"
197
+ hh, mm = divmod(off, timedelta(hours=1))
198
+ mm, ss = divmod(mm, timedelta(minutes=1))
199
+ s += "%s%02d%s%02d" % (sign, hh, sep, mm)
200
+ if ss or ss.microseconds:
201
+ s += "%s%02d" % (sep, ss.seconds)
202
+
203
+ if ss.microseconds:
204
+ s += '.%06d' % ss.microseconds
205
+ return s
206
+
207
+ # Correctly substitute for %z and %Z escapes in strftime formats.
208
+ def _wrap_strftime(object, format, timetuple):
209
+ # Don't call utcoffset() or tzname() unless actually needed.
210
+ freplace = None # the string to use for %f
211
+ zreplace = None # the string to use for %z
212
+ colonzreplace = None # the string to use for %:z
213
+ Zreplace = None # the string to use for %Z
214
+
215
+ # Scan format for %z, %:z and %Z escapes, replacing as needed.
216
+ newformat = []
217
+ push = newformat.append
218
+ i, n = 0, len(format)
219
+ while i < n:
220
+ ch = format[i]
221
+ i += 1
222
+ if ch == '%':
223
+ if i < n:
224
+ ch = format[i]
225
+ i += 1
226
+ if ch == 'f':
227
+ if freplace is None:
228
+ freplace = '%06d' % getattr(object,
229
+ 'microsecond', 0)
230
+ newformat.append(freplace)
231
+ elif ch == 'z':
232
+ if zreplace is None:
233
+ if hasattr(object, "utcoffset"):
234
+ zreplace = _format_offset(object.utcoffset(), sep="")
235
+ else:
236
+ zreplace = ""
237
+ assert '%' not in zreplace
238
+ newformat.append(zreplace)
239
+ elif ch == ':':
240
+ if i < n:
241
+ ch2 = format[i]
242
+ i += 1
243
+ if ch2 == 'z':
244
+ if colonzreplace is None:
245
+ if hasattr(object, "utcoffset"):
246
+ colonzreplace = _format_offset(object.utcoffset(), sep=":")
247
+ else:
248
+ colonzreplace = ""
249
+ assert '%' not in colonzreplace
250
+ newformat.append(colonzreplace)
251
+ else:
252
+ push('%')
253
+ push(ch)
254
+ push(ch2)
255
+ elif ch == 'Z':
256
+ if Zreplace is None:
257
+ Zreplace = ""
258
+ if hasattr(object, "tzname"):
259
+ s = object.tzname()
260
+ if s is not None:
261
+ # strftime is going to have at this: escape %
262
+ Zreplace = s.replace('%', '%%')
263
+ newformat.append(Zreplace)
264
+ else:
265
+ push('%')
266
+ push(ch)
267
+ else:
268
+ push('%')
269
+ else:
270
+ push(ch)
271
+ newformat = "".join(newformat)
272
+ return _time.strftime(newformat, timetuple)
273
+
274
+ # Helpers for parsing the result of isoformat()
275
+ def _is_ascii_digit(c):
276
+ return c in "0123456789"
277
+
278
+ def _find_isoformat_datetime_separator(dtstr):
279
+ # See the comment in _datetimemodule.c:_find_isoformat_datetime_separator
280
+ len_dtstr = len(dtstr)
281
+ if len_dtstr == 7:
282
+ return 7
283
+
284
+ assert len_dtstr > 7
285
+ date_separator = "-"
286
+ week_indicator = "W"
287
+
288
+ if dtstr[4] == date_separator:
289
+ if dtstr[5] == week_indicator:
290
+ if len_dtstr < 8:
291
+ raise ValueError("Invalid ISO string")
292
+ if len_dtstr > 8 and dtstr[8] == date_separator:
293
+ if len_dtstr == 9:
294
+ raise ValueError("Invalid ISO string")
295
+ if len_dtstr > 10 and _is_ascii_digit(dtstr[10]):
296
+ # This is as far as we need to resolve the ambiguity for
297
+ # the moment - if we have YYYY-Www-##, the separator is
298
+ # either a hyphen at 8 or a number at 10.
299
+ #
300
+ # We'll assume it's a hyphen at 8 because it's way more
301
+ # likely that someone will use a hyphen as a separator than
302
+ # a number, but at this point it's really best effort
303
+ # because this is an extension of the spec anyway.
304
+ # TODO(pganssle): Document this
305
+ return 8
306
+ return 10
307
+ else:
308
+ # YYYY-Www (8)
309
+ return 8
310
+ else:
311
+ # YYYY-MM-DD (10)
312
+ return 10
313
+ else:
314
+ if dtstr[4] == week_indicator:
315
+ # YYYYWww (7) or YYYYWwwd (8)
316
+ idx = 7
317
+ while idx < len_dtstr:
318
+ if not _is_ascii_digit(dtstr[idx]):
319
+ break
320
+ idx += 1
321
+
322
+ if idx < 9:
323
+ return idx
324
+
325
+ if idx % 2 == 0:
326
+ # If the index of the last number is even, it's YYYYWwwd
327
+ return 7
328
+ else:
329
+ return 8
330
+ else:
331
+ # YYYYMMDD (8)
332
+ return 8
333
+
334
+
335
+ def _parse_isoformat_date(dtstr):
336
+ # It is assumed that this is an ASCII-only string of lengths 7, 8 or 10,
337
+ # see the comment on Modules/_datetimemodule.c:_find_isoformat_datetime_separator
338
+ assert len(dtstr) in (7, 8, 10)
339
+ year = int(dtstr[0:4])
340
+ has_sep = dtstr[4] == '-'
341
+
342
+ pos = 4 + has_sep
343
+ if dtstr[pos:pos + 1] == "W":
344
+ # YYYY-?Www-?D?
345
+ pos += 1
346
+ weekno = int(dtstr[pos:pos + 2])
347
+ pos += 2
348
+
349
+ dayno = 1
350
+ if len(dtstr) > pos:
351
+ if (dtstr[pos:pos + 1] == '-') != has_sep:
352
+ raise ValueError("Inconsistent use of dash separator")
353
+
354
+ pos += has_sep
355
+
356
+ dayno = int(dtstr[pos:pos + 1])
357
+
358
+ return list(_isoweek_to_gregorian(year, weekno, dayno))
359
+ else:
360
+ month = int(dtstr[pos:pos + 2])
361
+ pos += 2
362
+ if (dtstr[pos:pos + 1] == "-") != has_sep:
363
+ raise ValueError("Inconsistent use of dash separator")
364
+
365
+ pos += has_sep
366
+ day = int(dtstr[pos:pos + 2])
367
+
368
+ return [year, month, day]
369
+
370
+
371
+ _FRACTION_CORRECTION = [100000, 10000, 1000, 100, 10]
372
+
373
+
374
+ def _parse_hh_mm_ss_ff(tstr):
375
+ # Parses things of the form HH[:?MM[:?SS[{.,}fff[fff]]]]
376
+ len_str = len(tstr)
377
+
378
+ time_comps = [0, 0, 0, 0]
379
+ pos = 0
380
+ for comp in range(0, 3):
381
+ if (len_str - pos) < 2:
382
+ raise ValueError("Incomplete time component")
383
+
384
+ time_comps[comp] = int(tstr[pos:pos+2])
385
+
386
+ pos += 2
387
+ next_char = tstr[pos:pos+1]
388
+
389
+ if comp == 0:
390
+ has_sep = next_char == ':'
391
+
392
+ if not next_char or comp >= 2:
393
+ break
394
+
395
+ if has_sep and next_char != ':':
396
+ raise ValueError("Invalid time separator: %c" % next_char)
397
+
398
+ pos += has_sep
399
+
400
+ if pos < len_str:
401
+ if tstr[pos] not in '.,':
402
+ raise ValueError("Invalid microsecond component")
403
+ else:
404
+ pos += 1
405
+ if not all(map(_is_ascii_digit, tstr[pos:])):
406
+ raise ValueError("Non-digit values in fraction")
407
+
408
+ len_remainder = len_str - pos
409
+
410
+ if len_remainder >= 6:
411
+ to_parse = 6
412
+ else:
413
+ to_parse = len_remainder
414
+
415
+ time_comps[3] = int(tstr[pos:(pos+to_parse)])
416
+ if to_parse < 6:
417
+ time_comps[3] *= _FRACTION_CORRECTION[to_parse-1]
418
+
419
+ return time_comps
420
+
421
+ def _parse_isoformat_time(tstr):
422
+ # Format supported is HH[:MM[:SS[.fff[fff]]]][+HH:MM[:SS[.ffffff]]]
423
+ len_str = len(tstr)
424
+ if len_str < 2:
425
+ raise ValueError("Isoformat time too short")
426
+
427
+ # This is equivalent to re.search('[+-Z]', tstr), but faster
428
+ tz_pos = (tstr.find('-') + 1 or tstr.find('+') + 1 or tstr.find('Z') + 1)
429
+ timestr = tstr[:tz_pos-1] if tz_pos > 0 else tstr
430
+
431
+ time_comps = _parse_hh_mm_ss_ff(timestr)
432
+
433
+ tzi = None
434
+ if tz_pos == len_str and tstr[-1] == 'Z':
435
+ tzi = timezone.utc
436
+ elif tz_pos > 0:
437
+ tzstr = tstr[tz_pos:]
438
+
439
+ # Valid time zone strings are:
440
+ # HH len: 2
441
+ # HHMM len: 4
442
+ # HH:MM len: 5
443
+ # HHMMSS len: 6
444
+ # HHMMSS.f+ len: 7+
445
+ # HH:MM:SS len: 8
446
+ # HH:MM:SS.f+ len: 10+
447
+
448
+ if len(tzstr) in (0, 1, 3):
449
+ raise ValueError("Malformed time zone string")
450
+
451
+ tz_comps = _parse_hh_mm_ss_ff(tzstr)
452
+
453
+ if all(x == 0 for x in tz_comps):
454
+ tzi = timezone.utc
455
+ else:
456
+ tzsign = -1 if tstr[tz_pos - 1] == '-' else 1
457
+
458
+ td = timedelta(hours=tz_comps[0], minutes=tz_comps[1],
459
+ seconds=tz_comps[2], microseconds=tz_comps[3])
460
+
461
+ tzi = timezone(tzsign * td)
462
+
463
+ time_comps.append(tzi)
464
+
465
+ return time_comps
466
+
467
+ # tuple[int, int, int] -> tuple[int, int, int] version of date.fromisocalendar
468
+ def _isoweek_to_gregorian(year, week, day):
469
+ # Year is bounded this way because 9999-12-31 is (9999, 52, 5)
470
+ if not MINYEAR <= year <= MAXYEAR:
471
+ raise ValueError(f"Year is out of range: {year}")
472
+
473
+ if not 0 < week < 53:
474
+ out_of_range = True
475
+
476
+ if week == 53:
477
+ # ISO years have 53 weeks in them on years starting with a
478
+ # Thursday and leap years starting on a Wednesday
479
+ first_weekday = _ymd2ord(year, 1, 1) % 7
480
+ if (first_weekday == 4 or (first_weekday == 3 and
481
+ _is_leap(year))):
482
+ out_of_range = False
483
+
484
+ if out_of_range:
485
+ raise ValueError(f"Invalid week: {week}")
486
+
487
+ if not 0 < day < 8:
488
+ raise ValueError(f"Invalid weekday: {day} (range is [1, 7])")
489
+
490
+ # Now compute the offset from (Y, 1, 1) in days:
491
+ day_offset = (week - 1) * 7 + (day - 1)
492
+
493
+ # Calculate the ordinal day for monday, week 1
494
+ day_1 = _isoweek1monday(year)
495
+ ord_day = day_1 + day_offset
496
+
497
+ return _ord2ymd(ord_day)
498
+
499
+
500
+ # Just raise TypeError if the arg isn't None or a string.
501
+ def _check_tzname(name):
502
+ if name is not None and not isinstance(name, str):
503
+ raise TypeError("tzinfo.tzname() must return None or string, "
504
+ "not '%s'" % type(name))
505
+
506
+ # name is the offset-producing method, "utcoffset" or "dst".
507
+ # offset is what it returned.
508
+ # If offset isn't None or timedelta, raises TypeError.
509
+ # If offset is None, returns None.
510
+ # Else offset is checked for being in range.
511
+ # If it is, its integer value is returned. Else ValueError is raised.
512
+ def _check_utc_offset(name, offset):
513
+ assert name in ("utcoffset", "dst")
514
+ if offset is None:
515
+ return
516
+ if not isinstance(offset, timedelta):
517
+ raise TypeError("tzinfo.%s() must return None "
518
+ "or timedelta, not '%s'" % (name, type(offset)))
519
+ if not -timedelta(1) < offset < timedelta(1):
520
+ raise ValueError("%s()=%s, must be strictly between "
521
+ "-timedelta(hours=24) and timedelta(hours=24)" %
522
+ (name, offset))
523
+
524
+ def _check_date_fields(year, month, day):
525
+ year = _index(year)
526
+ month = _index(month)
527
+ day = _index(day)
528
+ if not MINYEAR <= year <= MAXYEAR:
529
+ raise ValueError('year must be in %d..%d' % (MINYEAR, MAXYEAR), year)
530
+ if not 1 <= month <= 12:
531
+ raise ValueError('month must be in 1..12', month)
532
+ dim = _days_in_month(year, month)
533
+ if not 1 <= day <= dim:
534
+ raise ValueError('day must be in 1..%d' % dim, day)
535
+ return year, month, day
536
+
537
+ def _check_time_fields(hour, minute, second, microsecond, fold):
538
+ hour = _index(hour)
539
+ minute = _index(minute)
540
+ second = _index(second)
541
+ microsecond = _index(microsecond)
542
+ if not 0 <= hour <= 23:
543
+ raise ValueError('hour must be in 0..23', hour)
544
+ if not 0 <= minute <= 59:
545
+ raise ValueError('minute must be in 0..59', minute)
546
+ if not 0 <= second <= 59:
547
+ raise ValueError('second must be in 0..59', second)
548
+ if not 0 <= microsecond <= 999999:
549
+ raise ValueError('microsecond must be in 0..999999', microsecond)
550
+ if fold not in (0, 1):
551
+ raise ValueError('fold must be either 0 or 1', fold)
552
+ return hour, minute, second, microsecond, fold
553
+
554
+ def _check_tzinfo_arg(tz):
555
+ if tz is not None and not isinstance(tz, tzinfo):
556
+ raise TypeError("tzinfo argument must be None or of a tzinfo subclass")
557
+
558
+ def _divide_and_round(a, b):
559
+ """divide a by b and round result to the nearest integer
560
+
561
+ When the ratio is exactly half-way between two integers,
562
+ the even integer is returned.
563
+ """
564
+ # Based on the reference implementation for divmod_near
565
+ # in Objects/longobject.c.
566
+ q, r = divmod(a, b)
567
+ # round up if either r / b > 0.5, or r / b == 0.5 and q is odd.
568
+ # The expression r / b > 0.5 is equivalent to 2 * r > b if b is
569
+ # positive, 2 * r < b if b negative.
570
+ r *= 2
571
+ greater_than_half = r > b if b > 0 else r < b
572
+ if greater_than_half or r == b and q % 2 == 1:
573
+ q += 1
574
+
575
+ return q
576
+
577
+
578
+ class timedelta:
579
+ """Represent the difference between two datetime objects.
580
+
581
+ Supported operators:
582
+
583
+ - add, subtract timedelta
584
+ - unary plus, minus, abs
585
+ - compare to timedelta
586
+ - multiply, divide by int
587
+
588
+ In addition, datetime supports subtraction of two datetime objects
589
+ returning a timedelta, and addition or subtraction of a datetime
590
+ and a timedelta giving a datetime.
591
+
592
+ Representation: (days, seconds, microseconds).
593
+ """
594
+ # The representation of (days, seconds, microseconds) was chosen
595
+ # arbitrarily; the exact rationale originally specified in the docstring
596
+ # was "Because I felt like it."
597
+
598
+ __slots__ = '_days', '_seconds', '_microseconds', '_hashcode'
599
+
600
+ def __new__(cls, days=0, seconds=0, microseconds=0,
601
+ milliseconds=0, minutes=0, hours=0, weeks=0):
602
+ # Doing this efficiently and accurately in C is going to be difficult
603
+ # and error-prone, due to ubiquitous overflow possibilities, and that
604
+ # C double doesn't have enough bits of precision to represent
605
+ # microseconds over 10K years faithfully. The code here tries to make
606
+ # explicit where go-fast assumptions can be relied on, in order to
607
+ # guide the C implementation; it's way more convoluted than speed-
608
+ # ignoring auto-overflow-to-long idiomatic Python could be.
609
+
610
+ # XXX Check that all inputs are ints or floats.
611
+
612
+ # Final values, all integer.
613
+ # s and us fit in 32-bit signed ints; d isn't bounded.
614
+ d = s = us = 0
615
+
616
+ # Normalize everything to days, seconds, microseconds.
617
+ days += weeks*7
618
+ seconds += minutes*60 + hours*3600
619
+ microseconds += milliseconds*1000
620
+
621
+ # Get rid of all fractions, and normalize s and us.
622
+ # Take a deep breath <wink>.
623
+ if isinstance(days, float):
624
+ dayfrac, days = _math.modf(days)
625
+ daysecondsfrac, daysecondswhole = _math.modf(dayfrac * (24.*3600.))
626
+ assert daysecondswhole == int(daysecondswhole) # can't overflow
627
+ s = int(daysecondswhole)
628
+ assert days == int(days)
629
+ d = int(days)
630
+ else:
631
+ daysecondsfrac = 0.0
632
+ d = days
633
+ assert isinstance(daysecondsfrac, float)
634
+ assert abs(daysecondsfrac) <= 1.0
635
+ assert isinstance(d, int)
636
+ assert abs(s) <= 24 * 3600
637
+ # days isn't referenced again before redefinition
638
+
639
+ if isinstance(seconds, float):
640
+ secondsfrac, seconds = _math.modf(seconds)
641
+ assert seconds == int(seconds)
642
+ seconds = int(seconds)
643
+ secondsfrac += daysecondsfrac
644
+ assert abs(secondsfrac) <= 2.0
645
+ else:
646
+ secondsfrac = daysecondsfrac
647
+ # daysecondsfrac isn't referenced again
648
+ assert isinstance(secondsfrac, float)
649
+ assert abs(secondsfrac) <= 2.0
650
+
651
+ assert isinstance(seconds, int)
652
+ days, seconds = divmod(seconds, 24*3600)
653
+ d += days
654
+ s += int(seconds) # can't overflow
655
+ assert isinstance(s, int)
656
+ assert abs(s) <= 2 * 24 * 3600
657
+ # seconds isn't referenced again before redefinition
658
+
659
+ usdouble = secondsfrac * 1e6
660
+ assert abs(usdouble) < 2.1e6 # exact value not critical
661
+ # secondsfrac isn't referenced again
662
+
663
+ if isinstance(microseconds, float):
664
+ microseconds = round(microseconds + usdouble)
665
+ seconds, microseconds = divmod(microseconds, 1000000)
666
+ days, seconds = divmod(seconds, 24*3600)
667
+ d += days
668
+ s += seconds
669
+ else:
670
+ microseconds = int(microseconds)
671
+ seconds, microseconds = divmod(microseconds, 1000000)
672
+ days, seconds = divmod(seconds, 24*3600)
673
+ d += days
674
+ s += seconds
675
+ microseconds = round(microseconds + usdouble)
676
+ assert isinstance(s, int)
677
+ assert isinstance(microseconds, int)
678
+ assert abs(s) <= 3 * 24 * 3600
679
+ assert abs(microseconds) < 3.1e6
680
+
681
+ # Just a little bit of carrying possible for microseconds and seconds.
682
+ seconds, us = divmod(microseconds, 1000000)
683
+ s += seconds
684
+ days, s = divmod(s, 24*3600)
685
+ d += days
686
+
687
+ assert isinstance(d, int)
688
+ assert isinstance(s, int) and 0 <= s < 24*3600
689
+ assert isinstance(us, int) and 0 <= us < 1000000
690
+
691
+ if abs(d) > 999999999:
692
+ raise OverflowError("timedelta # of days is too large: %d" % d)
693
+
694
+ self = object.__new__(cls)
695
+ self._days = d
696
+ self._seconds = s
697
+ self._microseconds = us
698
+ self._hashcode = -1
699
+ return self
700
+
701
+ def __repr__(self):
702
+ args = []
703
+ if self._days:
704
+ args.append("days=%d" % self._days)
705
+ if self._seconds:
706
+ args.append("seconds=%d" % self._seconds)
707
+ if self._microseconds:
708
+ args.append("microseconds=%d" % self._microseconds)
709
+ if not args:
710
+ args.append('0')
711
+ return "%s.%s(%s)" % (_get_class_module(self),
712
+ self.__class__.__qualname__,
713
+ ', '.join(args))
714
+
715
+ def __str__(self):
716
+ mm, ss = divmod(self._seconds, 60)
717
+ hh, mm = divmod(mm, 60)
718
+ s = "%d:%02d:%02d" % (hh, mm, ss)
719
+ if self._days:
720
+ def plural(n):
721
+ return n, abs(n) != 1 and "s" or ""
722
+ s = ("%d day%s, " % plural(self._days)) + s
723
+ if self._microseconds:
724
+ s = s + ".%06d" % self._microseconds
725
+ return s
726
+
727
+ def total_seconds(self):
728
+ """Total seconds in the duration."""
729
+ return ((self.days * 86400 + self.seconds) * 10**6 +
730
+ self.microseconds) / 10**6
731
+
732
+ # Read-only field accessors
733
+ @property
734
+ def days(self):
735
+ """days"""
736
+ return self._days
737
+
738
+ @property
739
+ def seconds(self):
740
+ """seconds"""
741
+ return self._seconds
742
+
743
+ @property
744
+ def microseconds(self):
745
+ """microseconds"""
746
+ return self._microseconds
747
+
748
+ def __add__(self, other):
749
+ if isinstance(other, timedelta):
750
+ # for CPython compatibility, we cannot use
751
+ # our __class__ here, but need a real timedelta
752
+ return timedelta(self._days + other._days,
753
+ self._seconds + other._seconds,
754
+ self._microseconds + other._microseconds)
755
+ return NotImplemented
756
+
757
+ __radd__ = __add__
758
+
759
+ def __sub__(self, other):
760
+ if isinstance(other, timedelta):
761
+ # for CPython compatibility, we cannot use
762
+ # our __class__ here, but need a real timedelta
763
+ return timedelta(self._days - other._days,
764
+ self._seconds - other._seconds,
765
+ self._microseconds - other._microseconds)
766
+ return NotImplemented
767
+
768
+ def __rsub__(self, other):
769
+ if isinstance(other, timedelta):
770
+ return -self + other
771
+ return NotImplemented
772
+
773
+ def __neg__(self):
774
+ # for CPython compatibility, we cannot use
775
+ # our __class__ here, but need a real timedelta
776
+ return timedelta(-self._days,
777
+ -self._seconds,
778
+ -self._microseconds)
779
+
780
+ def __pos__(self):
781
+ return self
782
+
783
+ def __abs__(self):
784
+ if self._days < 0:
785
+ return -self
786
+ else:
787
+ return self
788
+
789
+ def __mul__(self, other):
790
+ if isinstance(other, int):
791
+ # for CPython compatibility, we cannot use
792
+ # our __class__ here, but need a real timedelta
793
+ return timedelta(self._days * other,
794
+ self._seconds * other,
795
+ self._microseconds * other)
796
+ if isinstance(other, float):
797
+ usec = self._to_microseconds()
798
+ a, b = other.as_integer_ratio()
799
+ return timedelta(0, 0, _divide_and_round(usec * a, b))
800
+ return NotImplemented
801
+
802
+ __rmul__ = __mul__
803
+
804
+ def _to_microseconds(self):
805
+ return ((self._days * (24*3600) + self._seconds) * 1000000 +
806
+ self._microseconds)
807
+
808
+ def __floordiv__(self, other):
809
+ if not isinstance(other, (int, timedelta)):
810
+ return NotImplemented
811
+ usec = self._to_microseconds()
812
+ if isinstance(other, timedelta):
813
+ return usec // other._to_microseconds()
814
+ if isinstance(other, int):
815
+ return timedelta(0, 0, usec // other)
816
+
817
+ def __truediv__(self, other):
818
+ if not isinstance(other, (int, float, timedelta)):
819
+ return NotImplemented
820
+ usec = self._to_microseconds()
821
+ if isinstance(other, timedelta):
822
+ return usec / other._to_microseconds()
823
+ if isinstance(other, int):
824
+ return timedelta(0, 0, _divide_and_round(usec, other))
825
+ if isinstance(other, float):
826
+ a, b = other.as_integer_ratio()
827
+ return timedelta(0, 0, _divide_and_round(b * usec, a))
828
+
829
+ def __mod__(self, other):
830
+ if isinstance(other, timedelta):
831
+ r = self._to_microseconds() % other._to_microseconds()
832
+ return timedelta(0, 0, r)
833
+ return NotImplemented
834
+
835
+ def __divmod__(self, other):
836
+ if isinstance(other, timedelta):
837
+ q, r = divmod(self._to_microseconds(),
838
+ other._to_microseconds())
839
+ return q, timedelta(0, 0, r)
840
+ return NotImplemented
841
+
842
+ # Comparisons of timedelta objects with other.
843
+
844
+ def __eq__(self, other):
845
+ if isinstance(other, timedelta):
846
+ return self._cmp(other) == 0
847
+ else:
848
+ return NotImplemented
849
+
850
+ def __le__(self, other):
851
+ if isinstance(other, timedelta):
852
+ return self._cmp(other) <= 0
853
+ else:
854
+ return NotImplemented
855
+
856
+ def __lt__(self, other):
857
+ if isinstance(other, timedelta):
858
+ return self._cmp(other) < 0
859
+ else:
860
+ return NotImplemented
861
+
862
+ def __ge__(self, other):
863
+ if isinstance(other, timedelta):
864
+ return self._cmp(other) >= 0
865
+ else:
866
+ return NotImplemented
867
+
868
+ def __gt__(self, other):
869
+ if isinstance(other, timedelta):
870
+ return self._cmp(other) > 0
871
+ else:
872
+ return NotImplemented
873
+
874
+ def _cmp(self, other):
875
+ assert isinstance(other, timedelta)
876
+ return _cmp(self._getstate(), other._getstate())
877
+
878
+ def __hash__(self):
879
+ if self._hashcode == -1:
880
+ self._hashcode = hash(self._getstate())
881
+ return self._hashcode
882
+
883
+ def __bool__(self):
884
+ return (self._days != 0 or
885
+ self._seconds != 0 or
886
+ self._microseconds != 0)
887
+
888
+ # Pickle support.
889
+
890
+ def _getstate(self):
891
+ return (self._days, self._seconds, self._microseconds)
892
+
893
+ def __reduce__(self):
894
+ return (self.__class__, self._getstate())
895
+
896
+ timedelta.min = timedelta(-999999999)
897
+ timedelta.max = timedelta(days=999999999, hours=23, minutes=59, seconds=59,
898
+ microseconds=999999)
899
+ timedelta.resolution = timedelta(microseconds=1)
900
+
901
+ class date:
902
+ """Concrete date type.
903
+
904
+ Constructors:
905
+
906
+ __new__()
907
+ fromtimestamp()
908
+ today()
909
+ fromordinal()
910
+
911
+ Operators:
912
+
913
+ __repr__, __str__
914
+ __eq__, __le__, __lt__, __ge__, __gt__, __hash__
915
+ __add__, __radd__, __sub__ (add/radd only with timedelta arg)
916
+
917
+ Methods:
918
+
919
+ timetuple()
920
+ toordinal()
921
+ weekday()
922
+ isoweekday(), isocalendar(), isoformat()
923
+ ctime()
924
+ strftime()
925
+
926
+ Properties (readonly):
927
+ year, month, day
928
+ """
929
+ __slots__ = '_year', '_month', '_day', '_hashcode'
930
+
931
+ def __new__(cls, year, month=None, day=None):
932
+ """Constructor.
933
+
934
+ Arguments:
935
+
936
+ year, month, day (required, base 1)
937
+ """
938
+ if (month is None and
939
+ isinstance(year, (bytes, str)) and len(year) == 4 and
940
+ 1 <= ord(year[2:3]) <= 12):
941
+ # Pickle support
942
+ if isinstance(year, str):
943
+ try:
944
+ year = year.encode('latin1')
945
+ except UnicodeEncodeError:
946
+ # More informative error message.
947
+ raise ValueError(
948
+ "Failed to encode latin1 string when unpickling "
949
+ "a date object. "
950
+ "pickle.load(data, encoding='latin1') is assumed.")
951
+ self = object.__new__(cls)
952
+ self.__setstate(year)
953
+ self._hashcode = -1
954
+ return self
955
+ year, month, day = _check_date_fields(year, month, day)
956
+ self = object.__new__(cls)
957
+ self._year = year
958
+ self._month = month
959
+ self._day = day
960
+ self._hashcode = -1
961
+ return self
962
+
963
+ # Additional constructors
964
+
965
+ @classmethod
966
+ def fromtimestamp(cls, t):
967
+ "Construct a date from a POSIX timestamp (like time.time())."
968
+ if t is None:
969
+ raise TypeError("'NoneType' object cannot be interpreted as an integer")
970
+ y, m, d, hh, mm, ss, weekday, jday, dst = _time.localtime(t)
971
+ return cls(y, m, d)
972
+
973
+ @classmethod
974
+ def today(cls):
975
+ "Construct a date from time.time()."
976
+ t = _time.time()
977
+ return cls.fromtimestamp(t)
978
+
979
+ @classmethod
980
+ def fromordinal(cls, n):
981
+ """Construct a date from a proleptic Gregorian ordinal.
982
+
983
+ January 1 of year 1 is day 1. Only the year, month and day are
984
+ non-zero in the result.
985
+ """
986
+ y, m, d = _ord2ymd(n)
987
+ return cls(y, m, d)
988
+
989
+ @classmethod
990
+ def fromisoformat(cls, date_string):
991
+ """Construct a date from a string in ISO 8601 format."""
992
+ if not isinstance(date_string, str):
993
+ raise TypeError('fromisoformat: argument must be str')
994
+
995
+ if len(date_string) not in (7, 8, 10):
996
+ raise ValueError(f'Invalid isoformat string: {date_string!r}')
997
+
998
+ try:
999
+ return cls(*_parse_isoformat_date(date_string))
1000
+ except Exception:
1001
+ raise ValueError(f'Invalid isoformat string: {date_string!r}')
1002
+
1003
+ @classmethod
1004
+ def fromisocalendar(cls, year, week, day):
1005
+ """Construct a date from the ISO year, week number and weekday.
1006
+
1007
+ This is the inverse of the date.isocalendar() function"""
1008
+ return cls(*_isoweek_to_gregorian(year, week, day))
1009
+
1010
+ # Conversions to string
1011
+
1012
+ def __repr__(self):
1013
+ """Convert to formal string, for repr().
1014
+
1015
+ >>> d = date(2010, 1, 1)
1016
+ >>> repr(d)
1017
+ 'datetime.date(2010, 1, 1)'
1018
+ """
1019
+ return "%s.%s(%d, %d, %d)" % (_get_class_module(self),
1020
+ self.__class__.__qualname__,
1021
+ self._year,
1022
+ self._month,
1023
+ self._day)
1024
+ # XXX These shouldn't depend on time.localtime(), because that
1025
+ # clips the usable dates to [1970 .. 2038). At least ctime() is
1026
+ # easily done without using strftime() -- that's better too because
1027
+ # strftime("%c", ...) is locale specific.
1028
+
1029
+
1030
+ def ctime(self):
1031
+ "Return ctime() style string."
1032
+ weekday = self.toordinal() % 7 or 7
1033
+ return "%s %s %2d 00:00:00 %04d" % (
1034
+ _DAYNAMES[weekday],
1035
+ _MONTHNAMES[self._month],
1036
+ self._day, self._year)
1037
+
1038
+ def strftime(self, format):
1039
+ """
1040
+ Format using strftime().
1041
+
1042
+ Example: "%d/%m/%Y, %H:%M:%S"
1043
+ """
1044
+ return _wrap_strftime(self, format, self.timetuple())
1045
+
1046
+ def __format__(self, fmt):
1047
+ if not isinstance(fmt, str):
1048
+ raise TypeError("must be str, not %s" % type(fmt).__name__)
1049
+ if len(fmt) != 0:
1050
+ return self.strftime(fmt)
1051
+ return str(self)
1052
+
1053
+ def isoformat(self):
1054
+ """Return the date formatted according to ISO.
1055
+
1056
+ This is 'YYYY-MM-DD'.
1057
+
1058
+ References:
1059
+ - https://www.w3.org/TR/NOTE-datetime
1060
+ - https://www.cl.cam.ac.uk/~mgk25/iso-time.html
1061
+ """
1062
+ return "%04d-%02d-%02d" % (self._year, self._month, self._day)
1063
+
1064
+ __str__ = isoformat
1065
+
1066
+ # Read-only field accessors
1067
+ @property
1068
+ def year(self):
1069
+ """year (1-9999)"""
1070
+ return self._year
1071
+
1072
+ @property
1073
+ def month(self):
1074
+ """month (1-12)"""
1075
+ return self._month
1076
+
1077
+ @property
1078
+ def day(self):
1079
+ """day (1-31)"""
1080
+ return self._day
1081
+
1082
+ # Standard conversions, __eq__, __le__, __lt__, __ge__, __gt__,
1083
+ # __hash__ (and helpers)
1084
+
1085
+ def timetuple(self):
1086
+ "Return local time tuple compatible with time.localtime()."
1087
+ return _build_struct_time(self._year, self._month, self._day,
1088
+ 0, 0, 0, -1)
1089
+
1090
+ def toordinal(self):
1091
+ """Return proleptic Gregorian ordinal for the year, month and day.
1092
+
1093
+ January 1 of year 1 is day 1. Only the year, month and day values
1094
+ contribute to the result.
1095
+ """
1096
+ return _ymd2ord(self._year, self._month, self._day)
1097
+
1098
+ def replace(self, year=None, month=None, day=None):
1099
+ """Return a new date with new values for the specified fields."""
1100
+ if year is None:
1101
+ year = self._year
1102
+ if month is None:
1103
+ month = self._month
1104
+ if day is None:
1105
+ day = self._day
1106
+ return type(self)(year, month, day)
1107
+
1108
+ __replace__ = replace
1109
+
1110
+ # Comparisons of date objects with other.
1111
+
1112
+ def __eq__(self, other):
1113
+ if isinstance(other, date) and not isinstance(other, datetime):
1114
+ return self._cmp(other) == 0
1115
+ return NotImplemented
1116
+
1117
+ def __le__(self, other):
1118
+ if isinstance(other, date) and not isinstance(other, datetime):
1119
+ return self._cmp(other) <= 0
1120
+ return NotImplemented
1121
+
1122
+ def __lt__(self, other):
1123
+ if isinstance(other, date) and not isinstance(other, datetime):
1124
+ return self._cmp(other) < 0
1125
+ return NotImplemented
1126
+
1127
+ def __ge__(self, other):
1128
+ if isinstance(other, date) and not isinstance(other, datetime):
1129
+ return self._cmp(other) >= 0
1130
+ return NotImplemented
1131
+
1132
+ def __gt__(self, other):
1133
+ if isinstance(other, date) and not isinstance(other, datetime):
1134
+ return self._cmp(other) > 0
1135
+ return NotImplemented
1136
+
1137
+ def _cmp(self, other):
1138
+ assert isinstance(other, date)
1139
+ assert not isinstance(other, datetime)
1140
+ y, m, d = self._year, self._month, self._day
1141
+ y2, m2, d2 = other._year, other._month, other._day
1142
+ return _cmp((y, m, d), (y2, m2, d2))
1143
+
1144
+ def __hash__(self):
1145
+ "Hash."
1146
+ if self._hashcode == -1:
1147
+ self._hashcode = hash(self._getstate())
1148
+ return self._hashcode
1149
+
1150
+ # Computations
1151
+
1152
+ def __add__(self, other):
1153
+ "Add a date to a timedelta."
1154
+ if isinstance(other, timedelta):
1155
+ o = self.toordinal() + other.days
1156
+ if 0 < o <= _MAXORDINAL:
1157
+ return type(self).fromordinal(o)
1158
+ raise OverflowError("result out of range")
1159
+ return NotImplemented
1160
+
1161
+ __radd__ = __add__
1162
+
1163
+ def __sub__(self, other):
1164
+ """Subtract two dates, or a date and a timedelta."""
1165
+ if isinstance(other, timedelta):
1166
+ return self + timedelta(-other.days)
1167
+ if isinstance(other, date):
1168
+ days1 = self.toordinal()
1169
+ days2 = other.toordinal()
1170
+ return timedelta(days1 - days2)
1171
+ return NotImplemented
1172
+
1173
+ def weekday(self):
1174
+ "Return day of the week, where Monday == 0 ... Sunday == 6."
1175
+ return (self.toordinal() + 6) % 7
1176
+
1177
+ # Day-of-the-week and week-of-the-year, according to ISO
1178
+
1179
+ def isoweekday(self):
1180
+ "Return day of the week, where Monday == 1 ... Sunday == 7."
1181
+ # 1-Jan-0001 is a Monday
1182
+ return self.toordinal() % 7 or 7
1183
+
1184
+ def isocalendar(self):
1185
+ """Return a named tuple containing ISO year, week number, and weekday.
1186
+
1187
+ The first ISO week of the year is the (Mon-Sun) week
1188
+ containing the year's first Thursday; everything else derives
1189
+ from that.
1190
+
1191
+ The first week is 1; Monday is 1 ... Sunday is 7.
1192
+
1193
+ ISO calendar algorithm taken from
1194
+ https://www.phys.uu.nl/~vgent/calendar/isocalendar.htm
1195
+ (used with permission)
1196
+ """
1197
+ year = self._year
1198
+ week1monday = _isoweek1monday(year)
1199
+ today = _ymd2ord(self._year, self._month, self._day)
1200
+ # Internally, week and day have origin 0
1201
+ week, day = divmod(today - week1monday, 7)
1202
+ if week < 0:
1203
+ year -= 1
1204
+ week1monday = _isoweek1monday(year)
1205
+ week, day = divmod(today - week1monday, 7)
1206
+ elif week >= 52:
1207
+ if today >= _isoweek1monday(year+1):
1208
+ year += 1
1209
+ week = 0
1210
+ return _IsoCalendarDate(year, week+1, day+1)
1211
+
1212
+ # Pickle support.
1213
+
1214
+ def _getstate(self):
1215
+ yhi, ylo = divmod(self._year, 256)
1216
+ return bytes([yhi, ylo, self._month, self._day]),
1217
+
1218
+ def __setstate(self, string):
1219
+ yhi, ylo, self._month, self._day = string
1220
+ self._year = yhi * 256 + ylo
1221
+
1222
+ def __reduce__(self):
1223
+ return (self.__class__, self._getstate())
1224
+
1225
+ _date_class = date # so functions w/ args named "date" can get at the class
1226
+
1227
+ date.min = date(1, 1, 1)
1228
+ date.max = date(9999, 12, 31)
1229
+ date.resolution = timedelta(days=1)
1230
+
1231
+
1232
+ class tzinfo:
1233
+ """Abstract base class for time zone info classes.
1234
+
1235
+ Subclasses must override the tzname(), utcoffset() and dst() methods.
1236
+ """
1237
+ __slots__ = ()
1238
+
1239
+ def tzname(self, dt):
1240
+ "datetime -> string name of time zone."
1241
+ raise NotImplementedError("tzinfo subclass must override tzname()")
1242
+
1243
+ def utcoffset(self, dt):
1244
+ "datetime -> timedelta, positive for east of UTC, negative for west of UTC"
1245
+ raise NotImplementedError("tzinfo subclass must override utcoffset()")
1246
+
1247
+ def dst(self, dt):
1248
+ """datetime -> DST offset as timedelta, positive for east of UTC.
1249
+
1250
+ Return 0 if DST not in effect. utcoffset() must include the DST
1251
+ offset.
1252
+ """
1253
+ raise NotImplementedError("tzinfo subclass must override dst()")
1254
+
1255
+ def fromutc(self, dt):
1256
+ "datetime in UTC -> datetime in local time."
1257
+
1258
+ if not isinstance(dt, datetime):
1259
+ raise TypeError("fromutc() requires a datetime argument")
1260
+ if dt.tzinfo is not self:
1261
+ raise ValueError("dt.tzinfo is not self")
1262
+
1263
+ dtoff = dt.utcoffset()
1264
+ if dtoff is None:
1265
+ raise ValueError("fromutc() requires a non-None utcoffset() "
1266
+ "result")
1267
+
1268
+ # See the long comment block at the end of this file for an
1269
+ # explanation of this algorithm.
1270
+ dtdst = dt.dst()
1271
+ if dtdst is None:
1272
+ raise ValueError("fromutc() requires a non-None dst() result")
1273
+ delta = dtoff - dtdst
1274
+ if delta:
1275
+ dt += delta
1276
+ dtdst = dt.dst()
1277
+ if dtdst is None:
1278
+ raise ValueError("fromutc(): dt.dst gave inconsistent "
1279
+ "results; cannot convert")
1280
+ return dt + dtdst
1281
+
1282
+ # Pickle support.
1283
+
1284
+ def __reduce__(self):
1285
+ getinitargs = getattr(self, "__getinitargs__", None)
1286
+ if getinitargs:
1287
+ args = getinitargs()
1288
+ else:
1289
+ args = ()
1290
+ return (self.__class__, args, self.__getstate__())
1291
+
1292
+
1293
+ class IsoCalendarDate(tuple):
1294
+
1295
+ def __new__(cls, year, week, weekday, /):
1296
+ return super().__new__(cls, (year, week, weekday))
1297
+
1298
+ @property
1299
+ def year(self):
1300
+ return self[0]
1301
+
1302
+ @property
1303
+ def week(self):
1304
+ return self[1]
1305
+
1306
+ @property
1307
+ def weekday(self):
1308
+ return self[2]
1309
+
1310
+ def __reduce__(self):
1311
+ # This code is intended to pickle the object without making the
1312
+ # class public. See https://bugs.python.org/msg352381
1313
+ return (tuple, (tuple(self),))
1314
+
1315
+ def __repr__(self):
1316
+ return (f'{self.__class__.__name__}'
1317
+ f'(year={self[0]}, week={self[1]}, weekday={self[2]})')
1318
+
1319
+
1320
+ _IsoCalendarDate = IsoCalendarDate
1321
+ del IsoCalendarDate
1322
+ _tzinfo_class = tzinfo
1323
+
1324
+ class time:
1325
+ """Time with time zone.
1326
+
1327
+ Constructors:
1328
+
1329
+ __new__()
1330
+
1331
+ Operators:
1332
+
1333
+ __repr__, __str__
1334
+ __eq__, __le__, __lt__, __ge__, __gt__, __hash__
1335
+
1336
+ Methods:
1337
+
1338
+ strftime()
1339
+ isoformat()
1340
+ utcoffset()
1341
+ tzname()
1342
+ dst()
1343
+
1344
+ Properties (readonly):
1345
+ hour, minute, second, microsecond, tzinfo, fold
1346
+ """
1347
+ __slots__ = '_hour', '_minute', '_second', '_microsecond', '_tzinfo', '_hashcode', '_fold'
1348
+
1349
+ def __new__(cls, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0):
1350
+ """Constructor.
1351
+
1352
+ Arguments:
1353
+
1354
+ hour, minute (required)
1355
+ second, microsecond (default to zero)
1356
+ tzinfo (default to None)
1357
+ fold (keyword only, default to zero)
1358
+ """
1359
+ if (isinstance(hour, (bytes, str)) and len(hour) == 6 and
1360
+ ord(hour[0:1])&0x7F < 24):
1361
+ # Pickle support
1362
+ if isinstance(hour, str):
1363
+ try:
1364
+ hour = hour.encode('latin1')
1365
+ except UnicodeEncodeError:
1366
+ # More informative error message.
1367
+ raise ValueError(
1368
+ "Failed to encode latin1 string when unpickling "
1369
+ "a time object. "
1370
+ "pickle.load(data, encoding='latin1') is assumed.")
1371
+ self = object.__new__(cls)
1372
+ self.__setstate(hour, minute or None)
1373
+ self._hashcode = -1
1374
+ return self
1375
+ hour, minute, second, microsecond, fold = _check_time_fields(
1376
+ hour, minute, second, microsecond, fold)
1377
+ _check_tzinfo_arg(tzinfo)
1378
+ self = object.__new__(cls)
1379
+ self._hour = hour
1380
+ self._minute = minute
1381
+ self._second = second
1382
+ self._microsecond = microsecond
1383
+ self._tzinfo = tzinfo
1384
+ self._hashcode = -1
1385
+ self._fold = fold
1386
+ return self
1387
+
1388
+ # Read-only field accessors
1389
+ @property
1390
+ def hour(self):
1391
+ """hour (0-23)"""
1392
+ return self._hour
1393
+
1394
+ @property
1395
+ def minute(self):
1396
+ """minute (0-59)"""
1397
+ return self._minute
1398
+
1399
+ @property
1400
+ def second(self):
1401
+ """second (0-59)"""
1402
+ return self._second
1403
+
1404
+ @property
1405
+ def microsecond(self):
1406
+ """microsecond (0-999999)"""
1407
+ return self._microsecond
1408
+
1409
+ @property
1410
+ def tzinfo(self):
1411
+ """timezone info object"""
1412
+ return self._tzinfo
1413
+
1414
+ @property
1415
+ def fold(self):
1416
+ return self._fold
1417
+
1418
+ # Standard conversions, __hash__ (and helpers)
1419
+
1420
+ # Comparisons of time objects with other.
1421
+
1422
+ def __eq__(self, other):
1423
+ if isinstance(other, time):
1424
+ return self._cmp(other, allow_mixed=True) == 0
1425
+ else:
1426
+ return NotImplemented
1427
+
1428
+ def __le__(self, other):
1429
+ if isinstance(other, time):
1430
+ return self._cmp(other) <= 0
1431
+ else:
1432
+ return NotImplemented
1433
+
1434
+ def __lt__(self, other):
1435
+ if isinstance(other, time):
1436
+ return self._cmp(other) < 0
1437
+ else:
1438
+ return NotImplemented
1439
+
1440
+ def __ge__(self, other):
1441
+ if isinstance(other, time):
1442
+ return self._cmp(other) >= 0
1443
+ else:
1444
+ return NotImplemented
1445
+
1446
+ def __gt__(self, other):
1447
+ if isinstance(other, time):
1448
+ return self._cmp(other) > 0
1449
+ else:
1450
+ return NotImplemented
1451
+
1452
+ def _cmp(self, other, allow_mixed=False):
1453
+ assert isinstance(other, time)
1454
+ mytz = self._tzinfo
1455
+ ottz = other._tzinfo
1456
+ myoff = otoff = None
1457
+
1458
+ if mytz is ottz:
1459
+ base_compare = True
1460
+ else:
1461
+ myoff = self.utcoffset()
1462
+ otoff = other.utcoffset()
1463
+ base_compare = myoff == otoff
1464
+
1465
+ if base_compare:
1466
+ return _cmp((self._hour, self._minute, self._second,
1467
+ self._microsecond),
1468
+ (other._hour, other._minute, other._second,
1469
+ other._microsecond))
1470
+ if myoff is None or otoff is None:
1471
+ if allow_mixed:
1472
+ return 2 # arbitrary non-zero value
1473
+ else:
1474
+ raise TypeError("cannot compare naive and aware times")
1475
+ myhhmm = self._hour * 60 + self._minute - myoff//timedelta(minutes=1)
1476
+ othhmm = other._hour * 60 + other._minute - otoff//timedelta(minutes=1)
1477
+ return _cmp((myhhmm, self._second, self._microsecond),
1478
+ (othhmm, other._second, other._microsecond))
1479
+
1480
+ def __hash__(self):
1481
+ """Hash."""
1482
+ if self._hashcode == -1:
1483
+ if self.fold:
1484
+ t = self.replace(fold=0)
1485
+ else:
1486
+ t = self
1487
+ tzoff = t.utcoffset()
1488
+ if not tzoff: # zero or None
1489
+ self._hashcode = hash(t._getstate()[0])
1490
+ else:
1491
+ h, m = divmod(timedelta(hours=self.hour, minutes=self.minute) - tzoff,
1492
+ timedelta(hours=1))
1493
+ assert not m % timedelta(minutes=1), "whole minute"
1494
+ m //= timedelta(minutes=1)
1495
+ if 0 <= h < 24:
1496
+ self._hashcode = hash(time(h, m, self.second, self.microsecond))
1497
+ else:
1498
+ self._hashcode = hash((h, m, self.second, self.microsecond))
1499
+ return self._hashcode
1500
+
1501
+ # Conversion to string
1502
+
1503
+ def _tzstr(self):
1504
+ """Return formatted timezone offset (+xx:xx) or an empty string."""
1505
+ off = self.utcoffset()
1506
+ return _format_offset(off)
1507
+
1508
+ def __repr__(self):
1509
+ """Convert to formal string, for repr()."""
1510
+ if self._microsecond != 0:
1511
+ s = ", %d, %d" % (self._second, self._microsecond)
1512
+ elif self._second != 0:
1513
+ s = ", %d" % self._second
1514
+ else:
1515
+ s = ""
1516
+ s= "%s.%s(%d, %d%s)" % (_get_class_module(self),
1517
+ self.__class__.__qualname__,
1518
+ self._hour, self._minute, s)
1519
+ if self._tzinfo is not None:
1520
+ assert s[-1:] == ")"
1521
+ s = s[:-1] + ", tzinfo=%r" % self._tzinfo + ")"
1522
+ if self._fold:
1523
+ assert s[-1:] == ")"
1524
+ s = s[:-1] + ", fold=1)"
1525
+ return s
1526
+
1527
+ def isoformat(self, timespec='auto'):
1528
+ """Return the time formatted according to ISO.
1529
+
1530
+ The full format is 'HH:MM:SS.mmmmmm+zz:zz'. By default, the fractional
1531
+ part is omitted if self.microsecond == 0.
1532
+
1533
+ The optional argument timespec specifies the number of additional
1534
+ terms of the time to include. Valid options are 'auto', 'hours',
1535
+ 'minutes', 'seconds', 'milliseconds' and 'microseconds'.
1536
+ """
1537
+ s = _format_time(self._hour, self._minute, self._second,
1538
+ self._microsecond, timespec)
1539
+ tz = self._tzstr()
1540
+ if tz:
1541
+ s += tz
1542
+ return s
1543
+
1544
+ __str__ = isoformat
1545
+
1546
+ @classmethod
1547
+ def fromisoformat(cls, time_string):
1548
+ """Construct a time from a string in one of the ISO 8601 formats."""
1549
+ if not isinstance(time_string, str):
1550
+ raise TypeError('fromisoformat: argument must be str')
1551
+
1552
+ # The spec actually requires that time-only ISO 8601 strings start with
1553
+ # T, but the extended format allows this to be omitted as long as there
1554
+ # is no ambiguity with date strings.
1555
+ time_string = time_string.removeprefix('T')
1556
+
1557
+ try:
1558
+ return cls(*_parse_isoformat_time(time_string))
1559
+ except Exception:
1560
+ raise ValueError(f'Invalid isoformat string: {time_string!r}')
1561
+
1562
+ def strftime(self, format):
1563
+ """Format using strftime(). The date part of the timestamp passed
1564
+ to underlying strftime should not be used.
1565
+ """
1566
+ # The year must be >= 1000 else Python's strftime implementation
1567
+ # can raise a bogus exception.
1568
+ timetuple = (1900, 1, 1,
1569
+ self._hour, self._minute, self._second,
1570
+ 0, 1, -1)
1571
+ return _wrap_strftime(self, format, timetuple)
1572
+
1573
+ def __format__(self, fmt):
1574
+ if not isinstance(fmt, str):
1575
+ raise TypeError("must be str, not %s" % type(fmt).__name__)
1576
+ if len(fmt) != 0:
1577
+ return self.strftime(fmt)
1578
+ return str(self)
1579
+
1580
+ # Timezone functions
1581
+
1582
+ def utcoffset(self):
1583
+ """Return the timezone offset as timedelta, positive east of UTC
1584
+ (negative west of UTC)."""
1585
+ if self._tzinfo is None:
1586
+ return None
1587
+ offset = self._tzinfo.utcoffset(None)
1588
+ _check_utc_offset("utcoffset", offset)
1589
+ return offset
1590
+
1591
+ def tzname(self):
1592
+ """Return the timezone name.
1593
+
1594
+ Note that the name is 100% informational -- there's no requirement that
1595
+ it mean anything in particular. For example, "GMT", "UTC", "-500",
1596
+ "-5:00", "EDT", "US/Eastern", "America/New York" are all valid replies.
1597
+ """
1598
+ if self._tzinfo is None:
1599
+ return None
1600
+ name = self._tzinfo.tzname(None)
1601
+ _check_tzname(name)
1602
+ return name
1603
+
1604
+ def dst(self):
1605
+ """Return 0 if DST is not in effect, or the DST offset (as timedelta
1606
+ positive eastward) if DST is in effect.
1607
+
1608
+ This is purely informational; the DST offset has already been added to
1609
+ the UTC offset returned by utcoffset() if applicable, so there's no
1610
+ need to consult dst() unless you're interested in displaying the DST
1611
+ info.
1612
+ """
1613
+ if self._tzinfo is None:
1614
+ return None
1615
+ offset = self._tzinfo.dst(None)
1616
+ _check_utc_offset("dst", offset)
1617
+ return offset
1618
+
1619
+ def replace(self, hour=None, minute=None, second=None, microsecond=None,
1620
+ tzinfo=True, *, fold=None):
1621
+ """Return a new time with new values for the specified fields."""
1622
+ if hour is None:
1623
+ hour = self.hour
1624
+ if minute is None:
1625
+ minute = self.minute
1626
+ if second is None:
1627
+ second = self.second
1628
+ if microsecond is None:
1629
+ microsecond = self.microsecond
1630
+ if tzinfo is True:
1631
+ tzinfo = self.tzinfo
1632
+ if fold is None:
1633
+ fold = self._fold
1634
+ return type(self)(hour, minute, second, microsecond, tzinfo, fold=fold)
1635
+
1636
+ __replace__ = replace
1637
+
1638
+ # Pickle support.
1639
+
1640
+ def _getstate(self, protocol=3):
1641
+ us2, us3 = divmod(self._microsecond, 256)
1642
+ us1, us2 = divmod(us2, 256)
1643
+ h = self._hour
1644
+ if self._fold and protocol > 3:
1645
+ h += 128
1646
+ basestate = bytes([h, self._minute, self._second,
1647
+ us1, us2, us3])
1648
+ if self._tzinfo is None:
1649
+ return (basestate,)
1650
+ else:
1651
+ return (basestate, self._tzinfo)
1652
+
1653
+ def __setstate(self, string, tzinfo):
1654
+ if tzinfo is not None and not isinstance(tzinfo, _tzinfo_class):
1655
+ raise TypeError("bad tzinfo state arg")
1656
+ h, self._minute, self._second, us1, us2, us3 = string
1657
+ if h > 127:
1658
+ self._fold = 1
1659
+ self._hour = h - 128
1660
+ else:
1661
+ self._fold = 0
1662
+ self._hour = h
1663
+ self._microsecond = (((us1 << 8) | us2) << 8) | us3
1664
+ self._tzinfo = tzinfo
1665
+
1666
+ def __reduce_ex__(self, protocol):
1667
+ return (self.__class__, self._getstate(protocol))
1668
+
1669
+ def __reduce__(self):
1670
+ return self.__reduce_ex__(2)
1671
+
1672
+ _time_class = time # so functions w/ args named "time" can get at the class
1673
+
1674
+ time.min = time(0, 0, 0)
1675
+ time.max = time(23, 59, 59, 999999)
1676
+ time.resolution = timedelta(microseconds=1)
1677
+
1678
+
1679
+ class datetime(date):
1680
+ """datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
1681
+
1682
+ The year, month and day arguments are required. tzinfo may be None, or an
1683
+ instance of a tzinfo subclass. The remaining arguments may be ints.
1684
+ """
1685
+ __slots__ = time.__slots__
1686
+
1687
+ def __new__(cls, year, month=None, day=None, hour=0, minute=0, second=0,
1688
+ microsecond=0, tzinfo=None, *, fold=0):
1689
+ if (isinstance(year, (bytes, str)) and len(year) == 10 and
1690
+ 1 <= ord(year[2:3])&0x7F <= 12):
1691
+ # Pickle support
1692
+ if isinstance(year, str):
1693
+ try:
1694
+ year = bytes(year, 'latin1')
1695
+ except UnicodeEncodeError:
1696
+ # More informative error message.
1697
+ raise ValueError(
1698
+ "Failed to encode latin1 string when unpickling "
1699
+ "a datetime object. "
1700
+ "pickle.load(data, encoding='latin1') is assumed.")
1701
+ self = object.__new__(cls)
1702
+ self.__setstate(year, month)
1703
+ self._hashcode = -1
1704
+ return self
1705
+ year, month, day = _check_date_fields(year, month, day)
1706
+ hour, minute, second, microsecond, fold = _check_time_fields(
1707
+ hour, minute, second, microsecond, fold)
1708
+ _check_tzinfo_arg(tzinfo)
1709
+ self = object.__new__(cls)
1710
+ self._year = year
1711
+ self._month = month
1712
+ self._day = day
1713
+ self._hour = hour
1714
+ self._minute = minute
1715
+ self._second = second
1716
+ self._microsecond = microsecond
1717
+ self._tzinfo = tzinfo
1718
+ self._hashcode = -1
1719
+ self._fold = fold
1720
+ return self
1721
+
1722
+ # Read-only field accessors
1723
+ @property
1724
+ def hour(self):
1725
+ """hour (0-23)"""
1726
+ return self._hour
1727
+
1728
+ @property
1729
+ def minute(self):
1730
+ """minute (0-59)"""
1731
+ return self._minute
1732
+
1733
+ @property
1734
+ def second(self):
1735
+ """second (0-59)"""
1736
+ return self._second
1737
+
1738
+ @property
1739
+ def microsecond(self):
1740
+ """microsecond (0-999999)"""
1741
+ return self._microsecond
1742
+
1743
+ @property
1744
+ def tzinfo(self):
1745
+ """timezone info object"""
1746
+ return self._tzinfo
1747
+
1748
+ @property
1749
+ def fold(self):
1750
+ return self._fold
1751
+
1752
+ @classmethod
1753
+ def _fromtimestamp(cls, t, utc, tz):
1754
+ """Construct a datetime from a POSIX timestamp (like time.time()).
1755
+
1756
+ A timezone info object may be passed in as well.
1757
+ """
1758
+ frac, t = _math.modf(t)
1759
+ us = round(frac * 1e6)
1760
+ if us >= 1000000:
1761
+ t += 1
1762
+ us -= 1000000
1763
+ elif us < 0:
1764
+ t -= 1
1765
+ us += 1000000
1766
+
1767
+ converter = _time.gmtime if utc else _time.localtime
1768
+ y, m, d, hh, mm, ss, weekday, jday, dst = converter(t)
1769
+ ss = min(ss, 59) # clamp out leap seconds if the platform has them
1770
+ result = cls(y, m, d, hh, mm, ss, us, tz)
1771
+ if tz is None and not utc:
1772
+ # As of version 2015f max fold in IANA database is
1773
+ # 23 hours at 1969-09-30 13:00:00 in Kwajalein.
1774
+ # Let's probe 24 hours in the past to detect a transition:
1775
+ max_fold_seconds = 24 * 3600
1776
+
1777
+ # On Windows localtime_s throws an OSError for negative values,
1778
+ # thus we can't perform fold detection for values of time less
1779
+ # than the max time fold. See comments in _datetimemodule's
1780
+ # version of this method for more details.
1781
+ if t < max_fold_seconds and sys.platform.startswith("win"):
1782
+ return result
1783
+
1784
+ y, m, d, hh, mm, ss = converter(t - max_fold_seconds)[:6]
1785
+ probe1 = cls(y, m, d, hh, mm, ss, us, tz)
1786
+ trans = result - probe1 - timedelta(0, max_fold_seconds)
1787
+ if trans.days < 0:
1788
+ y, m, d, hh, mm, ss = converter(t + trans // timedelta(0, 1))[:6]
1789
+ probe2 = cls(y, m, d, hh, mm, ss, us, tz)
1790
+ if probe2 == result:
1791
+ result._fold = 1
1792
+ elif tz is not None:
1793
+ result = tz.fromutc(result)
1794
+ return result
1795
+
1796
+ @classmethod
1797
+ def fromtimestamp(cls, timestamp, tz=None):
1798
+ """Construct a datetime from a POSIX timestamp (like time.time()).
1799
+
1800
+ A timezone info object may be passed in as well.
1801
+ """
1802
+ _check_tzinfo_arg(tz)
1803
+
1804
+ return cls._fromtimestamp(timestamp, tz is not None, tz)
1805
+
1806
+ @classmethod
1807
+ def utcfromtimestamp(cls, t):
1808
+ """Construct a naive UTC datetime from a POSIX timestamp."""
1809
+ import warnings
1810
+ warnings.warn("datetime.datetime.utcfromtimestamp() is deprecated and scheduled "
1811
+ "for removal in a future version. Use timezone-aware "
1812
+ "objects to represent datetimes in UTC: "
1813
+ "datetime.datetime.fromtimestamp(t, datetime.UTC).",
1814
+ DeprecationWarning,
1815
+ stacklevel=2)
1816
+ return cls._fromtimestamp(t, True, None)
1817
+
1818
+ @classmethod
1819
+ def now(cls, tz=None):
1820
+ "Construct a datetime from time.time() and optional time zone info."
1821
+ t = _time.time()
1822
+ return cls.fromtimestamp(t, tz)
1823
+
1824
+ @classmethod
1825
+ def utcnow(cls):
1826
+ "Construct a UTC datetime from time.time()."
1827
+ import warnings
1828
+ warnings.warn("datetime.datetime.utcnow() is deprecated and scheduled for "
1829
+ "removal in a future version. Use timezone-aware "
1830
+ "objects to represent datetimes in UTC: "
1831
+ "datetime.datetime.now(datetime.UTC).",
1832
+ DeprecationWarning,
1833
+ stacklevel=2)
1834
+ t = _time.time()
1835
+ return cls._fromtimestamp(t, True, None)
1836
+
1837
+ @classmethod
1838
+ def combine(cls, date, time, tzinfo=True):
1839
+ "Construct a datetime from a given date and a given time."
1840
+ if not isinstance(date, _date_class):
1841
+ raise TypeError("date argument must be a date instance")
1842
+ if not isinstance(time, _time_class):
1843
+ raise TypeError("time argument must be a time instance")
1844
+ if tzinfo is True:
1845
+ tzinfo = time.tzinfo
1846
+ return cls(date.year, date.month, date.day,
1847
+ time.hour, time.minute, time.second, time.microsecond,
1848
+ tzinfo, fold=time.fold)
1849
+
1850
+ @classmethod
1851
+ def fromisoformat(cls, date_string):
1852
+ """Construct a datetime from a string in one of the ISO 8601 formats."""
1853
+ if not isinstance(date_string, str):
1854
+ raise TypeError('fromisoformat: argument must be str')
1855
+
1856
+ if len(date_string) < 7:
1857
+ raise ValueError(f'Invalid isoformat string: {date_string!r}')
1858
+
1859
+ # Split this at the separator
1860
+ try:
1861
+ separator_location = _find_isoformat_datetime_separator(date_string)
1862
+ dstr = date_string[0:separator_location]
1863
+ tstr = date_string[(separator_location+1):]
1864
+
1865
+ date_components = _parse_isoformat_date(dstr)
1866
+ except ValueError:
1867
+ raise ValueError(
1868
+ f'Invalid isoformat string: {date_string!r}') from None
1869
+
1870
+ if tstr:
1871
+ try:
1872
+ time_components = _parse_isoformat_time(tstr)
1873
+ except ValueError:
1874
+ raise ValueError(
1875
+ f'Invalid isoformat string: {date_string!r}') from None
1876
+ else:
1877
+ time_components = [0, 0, 0, 0, None]
1878
+
1879
+ return cls(*(date_components + time_components))
1880
+
1881
+ def timetuple(self):
1882
+ "Return local time tuple compatible with time.localtime()."
1883
+ dst = self.dst()
1884
+ if dst is None:
1885
+ dst = -1
1886
+ elif dst:
1887
+ dst = 1
1888
+ else:
1889
+ dst = 0
1890
+ return _build_struct_time(self.year, self.month, self.day,
1891
+ self.hour, self.minute, self.second,
1892
+ dst)
1893
+
1894
+ def _mktime(self):
1895
+ """Return integer POSIX timestamp."""
1896
+ epoch = datetime(1970, 1, 1)
1897
+ max_fold_seconds = 24 * 3600
1898
+ t = (self - epoch) // timedelta(0, 1)
1899
+ def local(u):
1900
+ y, m, d, hh, mm, ss = _time.localtime(u)[:6]
1901
+ return (datetime(y, m, d, hh, mm, ss) - epoch) // timedelta(0, 1)
1902
+
1903
+ # Our goal is to solve t = local(u) for u.
1904
+ a = local(t) - t
1905
+ u1 = t - a
1906
+ t1 = local(u1)
1907
+ if t1 == t:
1908
+ # We found one solution, but it may not be the one we need.
1909
+ # Look for an earlier solution (if `fold` is 0), or a
1910
+ # later one (if `fold` is 1).
1911
+ u2 = u1 + (-max_fold_seconds, max_fold_seconds)[self.fold]
1912
+ b = local(u2) - u2
1913
+ if a == b:
1914
+ return u1
1915
+ else:
1916
+ b = t1 - u1
1917
+ assert a != b
1918
+ u2 = t - b
1919
+ t2 = local(u2)
1920
+ if t2 == t:
1921
+ return u2
1922
+ if t1 == t:
1923
+ return u1
1924
+ # We have found both offsets a and b, but neither t - a nor t - b is
1925
+ # a solution. This means t is in the gap.
1926
+ return (max, min)[self.fold](u1, u2)
1927
+
1928
+
1929
+ def timestamp(self):
1930
+ "Return POSIX timestamp as float"
1931
+ if self._tzinfo is None:
1932
+ s = self._mktime()
1933
+ return s + self.microsecond / 1e6
1934
+ else:
1935
+ return (self - _EPOCH).total_seconds()
1936
+
1937
+ def utctimetuple(self):
1938
+ "Return UTC time tuple compatible with time.gmtime()."
1939
+ offset = self.utcoffset()
1940
+ if offset:
1941
+ self -= offset
1942
+ y, m, d = self.year, self.month, self.day
1943
+ hh, mm, ss = self.hour, self.minute, self.second
1944
+ return _build_struct_time(y, m, d, hh, mm, ss, 0)
1945
+
1946
+ def date(self):
1947
+ "Return the date part."
1948
+ return date(self._year, self._month, self._day)
1949
+
1950
+ def time(self):
1951
+ "Return the time part, with tzinfo None."
1952
+ return time(self.hour, self.minute, self.second, self.microsecond, fold=self.fold)
1953
+
1954
+ def timetz(self):
1955
+ "Return the time part, with same tzinfo."
1956
+ return time(self.hour, self.minute, self.second, self.microsecond,
1957
+ self._tzinfo, fold=self.fold)
1958
+
1959
+ def replace(self, year=None, month=None, day=None, hour=None,
1960
+ minute=None, second=None, microsecond=None, tzinfo=True,
1961
+ *, fold=None):
1962
+ """Return a new datetime with new values for the specified fields."""
1963
+ if year is None:
1964
+ year = self.year
1965
+ if month is None:
1966
+ month = self.month
1967
+ if day is None:
1968
+ day = self.day
1969
+ if hour is None:
1970
+ hour = self.hour
1971
+ if minute is None:
1972
+ minute = self.minute
1973
+ if second is None:
1974
+ second = self.second
1975
+ if microsecond is None:
1976
+ microsecond = self.microsecond
1977
+ if tzinfo is True:
1978
+ tzinfo = self.tzinfo
1979
+ if fold is None:
1980
+ fold = self.fold
1981
+ return type(self)(year, month, day, hour, minute, second,
1982
+ microsecond, tzinfo, fold=fold)
1983
+
1984
+ __replace__ = replace
1985
+
1986
+ def _local_timezone(self):
1987
+ if self.tzinfo is None:
1988
+ ts = self._mktime()
1989
+ # Detect gap
1990
+ ts2 = self.replace(fold=1-self.fold)._mktime()
1991
+ if ts2 != ts: # This happens in a gap or a fold
1992
+ if (ts2 > ts) == self.fold:
1993
+ ts = ts2
1994
+ else:
1995
+ ts = (self - _EPOCH) // timedelta(seconds=1)
1996
+ localtm = _time.localtime(ts)
1997
+ local = datetime(*localtm[:6])
1998
+ # Extract TZ data
1999
+ gmtoff = localtm.tm_gmtoff
2000
+ zone = localtm.tm_zone
2001
+ return timezone(timedelta(seconds=gmtoff), zone)
2002
+
2003
+ def astimezone(self, tz=None):
2004
+ if tz is None:
2005
+ tz = self._local_timezone()
2006
+ elif not isinstance(tz, tzinfo):
2007
+ raise TypeError("tz argument must be an instance of tzinfo")
2008
+
2009
+ mytz = self.tzinfo
2010
+ if mytz is None:
2011
+ mytz = self._local_timezone()
2012
+ myoffset = mytz.utcoffset(self)
2013
+ else:
2014
+ myoffset = mytz.utcoffset(self)
2015
+ if myoffset is None:
2016
+ mytz = self.replace(tzinfo=None)._local_timezone()
2017
+ myoffset = mytz.utcoffset(self)
2018
+
2019
+ if tz is mytz:
2020
+ return self
2021
+
2022
+ # Convert self to UTC, and attach the new time zone object.
2023
+ utc = (self - myoffset).replace(tzinfo=tz)
2024
+
2025
+ # Convert from UTC to tz's local time.
2026
+ return tz.fromutc(utc)
2027
+
2028
+ # Ways to produce a string.
2029
+
2030
+ def ctime(self):
2031
+ "Return ctime() style string."
2032
+ weekday = self.toordinal() % 7 or 7
2033
+ return "%s %s %2d %02d:%02d:%02d %04d" % (
2034
+ _DAYNAMES[weekday],
2035
+ _MONTHNAMES[self._month],
2036
+ self._day,
2037
+ self._hour, self._minute, self._second,
2038
+ self._year)
2039
+
2040
+ def isoformat(self, sep='T', timespec='auto'):
2041
+ """Return the time formatted according to ISO.
2042
+
2043
+ The full format looks like 'YYYY-MM-DD HH:MM:SS.mmmmmm'.
2044
+ By default, the fractional part is omitted if self.microsecond == 0.
2045
+
2046
+ If self.tzinfo is not None, the UTC offset is also attached, giving
2047
+ a full format of 'YYYY-MM-DD HH:MM:SS.mmmmmm+HH:MM'.
2048
+
2049
+ Optional argument sep specifies the separator between date and
2050
+ time, default 'T'.
2051
+
2052
+ The optional argument timespec specifies the number of additional
2053
+ terms of the time to include. Valid options are 'auto', 'hours',
2054
+ 'minutes', 'seconds', 'milliseconds' and 'microseconds'.
2055
+ """
2056
+ s = ("%04d-%02d-%02d%c" % (self._year, self._month, self._day, sep) +
2057
+ _format_time(self._hour, self._minute, self._second,
2058
+ self._microsecond, timespec))
2059
+
2060
+ off = self.utcoffset()
2061
+ tz = _format_offset(off)
2062
+ if tz:
2063
+ s += tz
2064
+
2065
+ return s
2066
+
2067
+ def __repr__(self):
2068
+ """Convert to formal string, for repr()."""
2069
+ L = [self._year, self._month, self._day, # These are never zero
2070
+ self._hour, self._minute, self._second, self._microsecond]
2071
+ if L[-1] == 0:
2072
+ del L[-1]
2073
+ if L[-1] == 0:
2074
+ del L[-1]
2075
+ s = "%s.%s(%s)" % (_get_class_module(self),
2076
+ self.__class__.__qualname__,
2077
+ ", ".join(map(str, L)))
2078
+ if self._tzinfo is not None:
2079
+ assert s[-1:] == ")"
2080
+ s = s[:-1] + ", tzinfo=%r" % self._tzinfo + ")"
2081
+ if self._fold:
2082
+ assert s[-1:] == ")"
2083
+ s = s[:-1] + ", fold=1)"
2084
+ return s
2085
+
2086
+ def __str__(self):
2087
+ "Convert to string, for str()."
2088
+ return self.isoformat(sep=' ')
2089
+
2090
+ @classmethod
2091
+ def strptime(cls, date_string, format):
2092
+ 'string, format -> new datetime parsed from a string (like time.strptime()).'
2093
+ import _strptime
2094
+ return _strptime._strptime_datetime(cls, date_string, format)
2095
+
2096
+ def utcoffset(self):
2097
+ """Return the timezone offset as timedelta positive east of UTC (negative west of
2098
+ UTC)."""
2099
+ if self._tzinfo is None:
2100
+ return None
2101
+ offset = self._tzinfo.utcoffset(self)
2102
+ _check_utc_offset("utcoffset", offset)
2103
+ return offset
2104
+
2105
+ def tzname(self):
2106
+ """Return the timezone name.
2107
+
2108
+ Note that the name is 100% informational -- there's no requirement that
2109
+ it mean anything in particular. For example, "GMT", "UTC", "-500",
2110
+ "-5:00", "EDT", "US/Eastern", "America/New York" are all valid replies.
2111
+ """
2112
+ if self._tzinfo is None:
2113
+ return None
2114
+ name = self._tzinfo.tzname(self)
2115
+ _check_tzname(name)
2116
+ return name
2117
+
2118
+ def dst(self):
2119
+ """Return 0 if DST is not in effect, or the DST offset (as timedelta
2120
+ positive eastward) if DST is in effect.
2121
+
2122
+ This is purely informational; the DST offset has already been added to
2123
+ the UTC offset returned by utcoffset() if applicable, so there's no
2124
+ need to consult dst() unless you're interested in displaying the DST
2125
+ info.
2126
+ """
2127
+ if self._tzinfo is None:
2128
+ return None
2129
+ offset = self._tzinfo.dst(self)
2130
+ _check_utc_offset("dst", offset)
2131
+ return offset
2132
+
2133
+ # Comparisons of datetime objects with other.
2134
+
2135
+ def __eq__(self, other):
2136
+ if isinstance(other, datetime):
2137
+ return self._cmp(other, allow_mixed=True) == 0
2138
+ else:
2139
+ return NotImplemented
2140
+
2141
+ def __le__(self, other):
2142
+ if isinstance(other, datetime):
2143
+ return self._cmp(other) <= 0
2144
+ else:
2145
+ return NotImplemented
2146
+
2147
+ def __lt__(self, other):
2148
+ if isinstance(other, datetime):
2149
+ return self._cmp(other) < 0
2150
+ else:
2151
+ return NotImplemented
2152
+
2153
+ def __ge__(self, other):
2154
+ if isinstance(other, datetime):
2155
+ return self._cmp(other) >= 0
2156
+ else:
2157
+ return NotImplemented
2158
+
2159
+ def __gt__(self, other):
2160
+ if isinstance(other, datetime):
2161
+ return self._cmp(other) > 0
2162
+ else:
2163
+ return NotImplemented
2164
+
2165
+ def _cmp(self, other, allow_mixed=False):
2166
+ assert isinstance(other, datetime)
2167
+ mytz = self._tzinfo
2168
+ ottz = other._tzinfo
2169
+ myoff = otoff = None
2170
+
2171
+ if mytz is ottz:
2172
+ base_compare = True
2173
+ else:
2174
+ myoff = self.utcoffset()
2175
+ otoff = other.utcoffset()
2176
+ # Assume that allow_mixed means that we are called from __eq__
2177
+ if allow_mixed:
2178
+ if myoff != self.replace(fold=not self.fold).utcoffset():
2179
+ return 2
2180
+ if otoff != other.replace(fold=not other.fold).utcoffset():
2181
+ return 2
2182
+ base_compare = myoff == otoff
2183
+
2184
+ if base_compare:
2185
+ return _cmp((self._year, self._month, self._day,
2186
+ self._hour, self._minute, self._second,
2187
+ self._microsecond),
2188
+ (other._year, other._month, other._day,
2189
+ other._hour, other._minute, other._second,
2190
+ other._microsecond))
2191
+ if myoff is None or otoff is None:
2192
+ if allow_mixed:
2193
+ return 2 # arbitrary non-zero value
2194
+ else:
2195
+ raise TypeError("cannot compare naive and aware datetimes")
2196
+ # XXX What follows could be done more efficiently...
2197
+ diff = self - other # this will take offsets into account
2198
+ if diff.days < 0:
2199
+ return -1
2200
+ return diff and 1 or 0
2201
+
2202
+ def __add__(self, other):
2203
+ "Add a datetime and a timedelta."
2204
+ if not isinstance(other, timedelta):
2205
+ return NotImplemented
2206
+ delta = timedelta(self.toordinal(),
2207
+ hours=self._hour,
2208
+ minutes=self._minute,
2209
+ seconds=self._second,
2210
+ microseconds=self._microsecond)
2211
+ delta += other
2212
+ hour, rem = divmod(delta.seconds, 3600)
2213
+ minute, second = divmod(rem, 60)
2214
+ if 0 < delta.days <= _MAXORDINAL:
2215
+ return type(self).combine(date.fromordinal(delta.days),
2216
+ time(hour, minute, second,
2217
+ delta.microseconds,
2218
+ tzinfo=self._tzinfo))
2219
+ raise OverflowError("result out of range")
2220
+
2221
+ __radd__ = __add__
2222
+
2223
+ def __sub__(self, other):
2224
+ "Subtract two datetimes, or a datetime and a timedelta."
2225
+ if not isinstance(other, datetime):
2226
+ if isinstance(other, timedelta):
2227
+ return self + -other
2228
+ return NotImplemented
2229
+
2230
+ days1 = self.toordinal()
2231
+ days2 = other.toordinal()
2232
+ secs1 = self._second + self._minute * 60 + self._hour * 3600
2233
+ secs2 = other._second + other._minute * 60 + other._hour * 3600
2234
+ base = timedelta(days1 - days2,
2235
+ secs1 - secs2,
2236
+ self._microsecond - other._microsecond)
2237
+ if self._tzinfo is other._tzinfo:
2238
+ return base
2239
+ myoff = self.utcoffset()
2240
+ otoff = other.utcoffset()
2241
+ if myoff == otoff:
2242
+ return base
2243
+ if myoff is None or otoff is None:
2244
+ raise TypeError("cannot mix naive and timezone-aware time")
2245
+ return base + otoff - myoff
2246
+
2247
+ def __hash__(self):
2248
+ if self._hashcode == -1:
2249
+ if self.fold:
2250
+ t = self.replace(fold=0)
2251
+ else:
2252
+ t = self
2253
+ tzoff = t.utcoffset()
2254
+ if tzoff is None:
2255
+ self._hashcode = hash(t._getstate()[0])
2256
+ else:
2257
+ days = _ymd2ord(self.year, self.month, self.day)
2258
+ seconds = self.hour * 3600 + self.minute * 60 + self.second
2259
+ self._hashcode = hash(timedelta(days, seconds, self.microsecond) - tzoff)
2260
+ return self._hashcode
2261
+
2262
+ # Pickle support.
2263
+
2264
+ def _getstate(self, protocol=3):
2265
+ yhi, ylo = divmod(self._year, 256)
2266
+ us2, us3 = divmod(self._microsecond, 256)
2267
+ us1, us2 = divmod(us2, 256)
2268
+ m = self._month
2269
+ if self._fold and protocol > 3:
2270
+ m += 128
2271
+ basestate = bytes([yhi, ylo, m, self._day,
2272
+ self._hour, self._minute, self._second,
2273
+ us1, us2, us3])
2274
+ if self._tzinfo is None:
2275
+ return (basestate,)
2276
+ else:
2277
+ return (basestate, self._tzinfo)
2278
+
2279
+ def __setstate(self, string, tzinfo):
2280
+ if tzinfo is not None and not isinstance(tzinfo, _tzinfo_class):
2281
+ raise TypeError("bad tzinfo state arg")
2282
+ (yhi, ylo, m, self._day, self._hour,
2283
+ self._minute, self._second, us1, us2, us3) = string
2284
+ if m > 127:
2285
+ self._fold = 1
2286
+ self._month = m - 128
2287
+ else:
2288
+ self._fold = 0
2289
+ self._month = m
2290
+ self._year = yhi * 256 + ylo
2291
+ self._microsecond = (((us1 << 8) | us2) << 8) | us3
2292
+ self._tzinfo = tzinfo
2293
+
2294
+ def __reduce_ex__(self, protocol):
2295
+ return (self.__class__, self._getstate(protocol))
2296
+
2297
+ def __reduce__(self):
2298
+ return self.__reduce_ex__(2)
2299
+
2300
+
2301
+ datetime.min = datetime(1, 1, 1)
2302
+ datetime.max = datetime(9999, 12, 31, 23, 59, 59, 999999)
2303
+ datetime.resolution = timedelta(microseconds=1)
2304
+
2305
+
2306
+ def _isoweek1monday(year):
2307
+ # Helper to calculate the day number of the Monday starting week 1
2308
+ THURSDAY = 3
2309
+ firstday = _ymd2ord(year, 1, 1)
2310
+ firstweekday = (firstday + 6) % 7 # See weekday() above
2311
+ week1monday = firstday - firstweekday
2312
+ if firstweekday > THURSDAY:
2313
+ week1monday += 7
2314
+ return week1monday
2315
+
2316
+
2317
+ class timezone(tzinfo):
2318
+ __slots__ = '_offset', '_name'
2319
+
2320
+ # Sentinel value to disallow None
2321
+ _Omitted = object()
2322
+ def __new__(cls, offset, name=_Omitted):
2323
+ if not isinstance(offset, timedelta):
2324
+ raise TypeError("offset must be a timedelta")
2325
+ if name is cls._Omitted:
2326
+ if not offset:
2327
+ return cls.utc
2328
+ name = None
2329
+ elif not isinstance(name, str):
2330
+ raise TypeError("name must be a string")
2331
+ if not cls._minoffset <= offset <= cls._maxoffset:
2332
+ raise ValueError("offset must be a timedelta "
2333
+ "strictly between -timedelta(hours=24) and "
2334
+ "timedelta(hours=24).")
2335
+ return cls._create(offset, name)
2336
+
2337
+ def __init_subclass__(cls):
2338
+ raise TypeError("type 'datetime.timezone' is not an acceptable base type")
2339
+
2340
+ @classmethod
2341
+ def _create(cls, offset, name=None):
2342
+ self = tzinfo.__new__(cls)
2343
+ self._offset = offset
2344
+ self._name = name
2345
+ return self
2346
+
2347
+ def __getinitargs__(self):
2348
+ """pickle support"""
2349
+ if self._name is None:
2350
+ return (self._offset,)
2351
+ return (self._offset, self._name)
2352
+
2353
+ def __eq__(self, other):
2354
+ if isinstance(other, timezone):
2355
+ return self._offset == other._offset
2356
+ return NotImplemented
2357
+
2358
+ def __hash__(self):
2359
+ return hash(self._offset)
2360
+
2361
+ def __repr__(self):
2362
+ """Convert to formal string, for repr().
2363
+
2364
+ >>> tz = timezone.utc
2365
+ >>> repr(tz)
2366
+ 'datetime.timezone.utc'
2367
+ >>> tz = timezone(timedelta(hours=-5), 'EST')
2368
+ >>> repr(tz)
2369
+ "datetime.timezone(datetime.timedelta(-1, 68400), 'EST')"
2370
+ """
2371
+ if self is self.utc:
2372
+ return 'datetime.timezone.utc'
2373
+ if self._name is None:
2374
+ return "%s.%s(%r)" % (_get_class_module(self),
2375
+ self.__class__.__qualname__,
2376
+ self._offset)
2377
+ return "%s.%s(%r, %r)" % (_get_class_module(self),
2378
+ self.__class__.__qualname__,
2379
+ self._offset, self._name)
2380
+
2381
+ def __str__(self):
2382
+ return self.tzname(None)
2383
+
2384
+ def utcoffset(self, dt):
2385
+ if isinstance(dt, datetime) or dt is None:
2386
+ return self._offset
2387
+ raise TypeError("utcoffset() argument must be a datetime instance"
2388
+ " or None")
2389
+
2390
+ def tzname(self, dt):
2391
+ if isinstance(dt, datetime) or dt is None:
2392
+ if self._name is None:
2393
+ return self._name_from_offset(self._offset)
2394
+ return self._name
2395
+ raise TypeError("tzname() argument must be a datetime instance"
2396
+ " or None")
2397
+
2398
+ def dst(self, dt):
2399
+ if isinstance(dt, datetime) or dt is None:
2400
+ return None
2401
+ raise TypeError("dst() argument must be a datetime instance"
2402
+ " or None")
2403
+
2404
+ def fromutc(self, dt):
2405
+ if isinstance(dt, datetime):
2406
+ if dt.tzinfo is not self:
2407
+ raise ValueError("fromutc: dt.tzinfo "
2408
+ "is not self")
2409
+ return dt + self._offset
2410
+ raise TypeError("fromutc() argument must be a datetime instance"
2411
+ " or None")
2412
+
2413
+ _maxoffset = timedelta(hours=24, microseconds=-1)
2414
+ _minoffset = -_maxoffset
2415
+
2416
+ @staticmethod
2417
+ def _name_from_offset(delta):
2418
+ if not delta:
2419
+ return 'UTC'
2420
+ if delta < timedelta(0):
2421
+ sign = '-'
2422
+ delta = -delta
2423
+ else:
2424
+ sign = '+'
2425
+ hours, rest = divmod(delta, timedelta(hours=1))
2426
+ minutes, rest = divmod(rest, timedelta(minutes=1))
2427
+ seconds = rest.seconds
2428
+ microseconds = rest.microseconds
2429
+ if microseconds:
2430
+ return (f'UTC{sign}{hours:02d}:{minutes:02d}:{seconds:02d}'
2431
+ f'.{microseconds:06d}')
2432
+ if seconds:
2433
+ return f'UTC{sign}{hours:02d}:{minutes:02d}:{seconds:02d}'
2434
+ return f'UTC{sign}{hours:02d}:{minutes:02d}'
2435
+
2436
+ UTC = timezone.utc = timezone._create(timedelta(0))
2437
+
2438
+ # bpo-37642: These attributes are rounded to the nearest minute for backwards
2439
+ # compatibility, even though the constructor will accept a wider range of
2440
+ # values. This may change in the future.
2441
+ timezone.min = timezone._create(-timedelta(hours=23, minutes=59))
2442
+ timezone.max = timezone._create(timedelta(hours=23, minutes=59))
2443
+ _EPOCH = datetime(1970, 1, 1, tzinfo=timezone.utc)
2444
+
2445
+ # Some time zone algebra. For a datetime x, let
2446
+ # x.n = x stripped of its timezone -- its naive time.
2447
+ # x.o = x.utcoffset(), and assuming that doesn't raise an exception or
2448
+ # return None
2449
+ # x.d = x.dst(), and assuming that doesn't raise an exception or
2450
+ # return None
2451
+ # x.s = x's standard offset, x.o - x.d
2452
+ #
2453
+ # Now some derived rules, where k is a duration (timedelta).
2454
+ #
2455
+ # 1. x.o = x.s + x.d
2456
+ # This follows from the definition of x.s.
2457
+ #
2458
+ # 2. If x and y have the same tzinfo member, x.s = y.s.
2459
+ # This is actually a requirement, an assumption we need to make about
2460
+ # sane tzinfo classes.
2461
+ #
2462
+ # 3. The naive UTC time corresponding to x is x.n - x.o.
2463
+ # This is again a requirement for a sane tzinfo class.
2464
+ #
2465
+ # 4. (x+k).s = x.s
2466
+ # This follows from #2, and that datetime.timetz+timedelta preserves tzinfo.
2467
+ #
2468
+ # 5. (x+k).n = x.n + k
2469
+ # Again follows from how arithmetic is defined.
2470
+ #
2471
+ # Now we can explain tz.fromutc(x). Let's assume it's an interesting case
2472
+ # (meaning that the various tzinfo methods exist, and don't blow up or return
2473
+ # None when called).
2474
+ #
2475
+ # The function wants to return a datetime y with timezone tz, equivalent to x.
2476
+ # x is already in UTC.
2477
+ #
2478
+ # By #3, we want
2479
+ #
2480
+ # y.n - y.o = x.n [1]
2481
+ #
2482
+ # The algorithm starts by attaching tz to x.n, and calling that y. So
2483
+ # x.n = y.n at the start. Then it wants to add a duration k to y, so that [1]
2484
+ # becomes true; in effect, we want to solve [2] for k:
2485
+ #
2486
+ # (y+k).n - (y+k).o = x.n [2]
2487
+ #
2488
+ # By #1, this is the same as
2489
+ #
2490
+ # (y+k).n - ((y+k).s + (y+k).d) = x.n [3]
2491
+ #
2492
+ # By #5, (y+k).n = y.n + k, which equals x.n + k because x.n=y.n at the start.
2493
+ # Substituting that into [3],
2494
+ #
2495
+ # x.n + k - (y+k).s - (y+k).d = x.n; the x.n terms cancel, leaving
2496
+ # k - (y+k).s - (y+k).d = 0; rearranging,
2497
+ # k = (y+k).s - (y+k).d; by #4, (y+k).s == y.s, so
2498
+ # k = y.s - (y+k).d
2499
+ #
2500
+ # On the RHS, (y+k).d can't be computed directly, but y.s can be, and we
2501
+ # approximate k by ignoring the (y+k).d term at first. Note that k can't be
2502
+ # very large, since all offset-returning methods return a duration of magnitude
2503
+ # less than 24 hours. For that reason, if y is firmly in std time, (y+k).d must
2504
+ # be 0, so ignoring it has no consequence then.
2505
+ #
2506
+ # In any case, the new value is
2507
+ #
2508
+ # z = y + y.s [4]
2509
+ #
2510
+ # It's helpful to step back at look at [4] from a higher level: it's simply
2511
+ # mapping from UTC to tz's standard time.
2512
+ #
2513
+ # At this point, if
2514
+ #
2515
+ # z.n - z.o = x.n [5]
2516
+ #
2517
+ # we have an equivalent time, and are almost done. The insecurity here is
2518
+ # at the start of daylight time. Picture US Eastern for concreteness. The wall
2519
+ # time jumps from 1:59 to 3:00, and wall hours of the form 2:MM don't make good
2520
+ # sense then. The docs ask that an Eastern tzinfo class consider such a time to
2521
+ # be EDT (because it's "after 2"), which is a redundant spelling of 1:MM EST
2522
+ # on the day DST starts. We want to return the 1:MM EST spelling because that's
2523
+ # the only spelling that makes sense on the local wall clock.
2524
+ #
2525
+ # In fact, if [5] holds at this point, we do have the standard-time spelling,
2526
+ # but that takes a bit of proof. We first prove a stronger result. What's the
2527
+ # difference between the LHS and RHS of [5]? Let
2528
+ #
2529
+ # diff = x.n - (z.n - z.o) [6]
2530
+ #
2531
+ # Now
2532
+ # z.n = by [4]
2533
+ # (y + y.s).n = by #5
2534
+ # y.n + y.s = since y.n = x.n
2535
+ # x.n + y.s = since z and y are have the same tzinfo member,
2536
+ # y.s = z.s by #2
2537
+ # x.n + z.s
2538
+ #
2539
+ # Plugging that back into [6] gives
2540
+ #
2541
+ # diff =
2542
+ # x.n - ((x.n + z.s) - z.o) = expanding
2543
+ # x.n - x.n - z.s + z.o = cancelling
2544
+ # - z.s + z.o = by #2
2545
+ # z.d
2546
+ #
2547
+ # So diff = z.d.
2548
+ #
2549
+ # If [5] is true now, diff = 0, so z.d = 0 too, and we have the standard-time
2550
+ # spelling we wanted in the endcase described above. We're done. Contrarily,
2551
+ # if z.d = 0, then we have a UTC equivalent, and are also done.
2552
+ #
2553
+ # If [5] is not true now, diff = z.d != 0, and z.d is the offset we need to
2554
+ # add to z (in effect, z is in tz's standard time, and we need to shift the
2555
+ # local clock into tz's daylight time).
2556
+ #
2557
+ # Let
2558
+ #
2559
+ # z' = z + z.d = z + diff [7]
2560
+ #
2561
+ # and we can again ask whether
2562
+ #
2563
+ # z'.n - z'.o = x.n [8]
2564
+ #
2565
+ # If so, we're done. If not, the tzinfo class is insane, according to the
2566
+ # assumptions we've made. This also requires a bit of proof. As before, let's
2567
+ # compute the difference between the LHS and RHS of [8] (and skipping some of
2568
+ # the justifications for the kinds of substitutions we've done several times
2569
+ # already):
2570
+ #
2571
+ # diff' = x.n - (z'.n - z'.o) = replacing z'.n via [7]
2572
+ # x.n - (z.n + diff - z'.o) = replacing diff via [6]
2573
+ # x.n - (z.n + x.n - (z.n - z.o) - z'.o) =
2574
+ # x.n - z.n - x.n + z.n - z.o + z'.o = cancel x.n
2575
+ # - z.n + z.n - z.o + z'.o = cancel z.n
2576
+ # - z.o + z'.o = #1 twice
2577
+ # -z.s - z.d + z'.s + z'.d = z and z' have same tzinfo
2578
+ # z'.d - z.d
2579
+ #
2580
+ # So z' is UTC-equivalent to x iff z'.d = z.d at this point. If they are equal,
2581
+ # we've found the UTC-equivalent so are done. In fact, we stop with [7] and
2582
+ # return z', not bothering to compute z'.d.
2583
+ #
2584
+ # How could z.d and z'd differ? z' = z + z.d [7], so merely moving z' by
2585
+ # a dst() offset, and starting *from* a time already in DST (we know z.d != 0),
2586
+ # would have to change the result dst() returns: we start in DST, and moving
2587
+ # a little further into it takes us out of DST.
2588
+ #
2589
+ # There isn't a sane case where this can happen. The closest it gets is at
2590
+ # the end of DST, where there's an hour in UTC with no spelling in a hybrid
2591
+ # tzinfo class. In US Eastern, that's 5:MM UTC = 0:MM EST = 1:MM EDT. During
2592
+ # that hour, on an Eastern clock 1:MM is taken as being in standard time (6:MM
2593
+ # UTC) because the docs insist on that, but 0:MM is taken as being in daylight
2594
+ # time (4:MM UTC). There is no local time mapping to 5:MM UTC. The local
2595
+ # clock jumps from 1:59 back to 1:00 again, and repeats the 1:MM hour in
2596
+ # standard time. Since that's what the local clock *does*, we want to map both
2597
+ # UTC hours 5:MM and 6:MM to 1:MM Eastern. The result is ambiguous
2598
+ # in local time, but so it goes -- it's the way the local clock works.
2599
+ #
2600
+ # When x = 5:MM UTC is the input to this algorithm, x.o=0, y.o=-5 and y.d=0,
2601
+ # so z=0:MM. z.d=60 (minutes) then, so [5] doesn't hold and we keep going.
2602
+ # z' = z + z.d = 1:MM then, and z'.d=0, and z'.d - z.d = -60 != 0 so [8]
2603
+ # (correctly) concludes that z' is not UTC-equivalent to x.
2604
+ #
2605
+ # Because we know z.d said z was in daylight time (else [5] would have held and
2606
+ # we would have stopped then), and we know z.d != z'.d (else [8] would have held
2607
+ # and we have stopped then), and there are only 2 possible values dst() can
2608
+ # return in Eastern, it follows that z'.d must be 0 (which it is in the example,
2609
+ # but the reasoning doesn't depend on the example -- it depends on there being
2610
+ # two possible dst() outcomes, one zero and the other non-zero). Therefore
2611
+ # z' must be in standard time, and is the spelling we want in this case.
2612
+ #
2613
+ # Note again that z' is not UTC-equivalent as far as the hybrid tzinfo class is
2614
+ # concerned (because it takes z' as being in standard time rather than the
2615
+ # daylight time we intend here), but returning it gives the real-life "local
2616
+ # clock repeats an hour" behavior when mapping the "unspellable" UTC hour into
2617
+ # tz.
2618
+ #
2619
+ # When the input is 6:MM, z=1:MM and z.d=0, and we stop at once, again with
2620
+ # the 1:MM standard time spelling we want.
2621
+ #
2622
+ # So how can this break? One of the assumptions must be violated. Two
2623
+ # possibilities:
2624
+ #
2625
+ # 1) [2] effectively says that y.s is invariant across all y belong to a given
2626
+ # time zone. This isn't true if, for political reasons or continental drift,
2627
+ # a region decides to change its base offset from UTC.
2628
+ #
2629
+ # 2) There may be versions of "double daylight" time where the tail end of
2630
+ # the analysis gives up a step too early. I haven't thought about that
2631
+ # enough to say.
2632
+ #
2633
+ # In any case, it's clear that the default fromutc() is strong enough to handle
2634
+ # "almost all" time zones: so long as the standard offset is invariant, it
2635
+ # doesn't matter if daylight time transition points change from year to year, or
2636
+ # if daylight time is skipped in some years; it doesn't matter how large or
2637
+ # small dst() may get within its bounds; and it doesn't even matter if some
2638
+ # perverse time zone returns a negative dst()). So a breaking case must be
2639
+ # pretty bizarre, and a tzinfo subclass can override fromutc() if it is.