aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/future/moves
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/future/moves')
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/__init__.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/_dummy_thread.py13
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/_markupbase.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/_thread.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/builtins.py10
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/collections.py18
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/configparser.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/copyreg.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/dbm/__init__.py20
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/dbm/dumb.py9
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/dbm/gnu.py9
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/dbm/ndbm.py9
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/html/__init__.py31
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/html/entities.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/html/parser.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/http/__init__.py4
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/http/client.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/http/cookiejar.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/http/cookies.py9
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/http/server.py20
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/itertools.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/multiprocessing.py7
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/pickle.py11
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/queue.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/reprlib.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/socketserver.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/subprocess.py11
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/sys.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/test/__init__.py5
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/test/support.py19
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/__init__.py27
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/colorchooser.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/commondialog.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/constants.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/dialog.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/dnd.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/filedialog.py18
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/font.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/messagebox.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/scrolledtext.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/simpledialog.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/tix.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/tkinter/ttk.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/urllib/__init__.py5
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/urllib/error.py16
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/urllib/parse.py28
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/urllib/request.py94
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/urllib/response.py12
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/urllib/robotparser.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/winreg.py8
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/xmlrpc/__init__.py0
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/xmlrpc/client.py7
-rw-r--r--.venv/lib/python3.12/site-packages/future/moves/xmlrpc/server.py7
53 files changed, 683 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/future/moves/__init__.py b/.venv/lib/python3.12/site-packages/future/moves/__init__.py
new file mode 100644
index 00000000..0cd60d3d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/__init__.py
@@ -0,0 +1,8 @@
+# future.moves package
+from __future__ import absolute_import
+import sys
+__future_module__ = True
+from future.standard_library import import_top_level_modules
+
+if sys.version_info[0] >= 3:
+ import_top_level_modules()
diff --git a/.venv/lib/python3.12/site-packages/future/moves/_dummy_thread.py b/.venv/lib/python3.12/site-packages/future/moves/_dummy_thread.py
new file mode 100644
index 00000000..6633f42e
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/_dummy_thread.py
@@ -0,0 +1,13 @@
+from __future__ import absolute_import
+from future.utils import PY3, PY39_PLUS
+
+
+if PY39_PLUS:
+ # _dummy_thread and dummy_threading modules were both deprecated in
+ # Python 3.7 and removed in Python 3.9
+ from _thread import *
+elif PY3:
+ from _dummy_thread import *
+else:
+ __future_module__ = True
+ from dummy_thread import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/_markupbase.py b/.venv/lib/python3.12/site-packages/future/moves/_markupbase.py
new file mode 100644
index 00000000..f9fb4bbf
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/_markupbase.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from _markupbase import *
+else:
+ __future_module__ = True
+ from markupbase import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/_thread.py b/.venv/lib/python3.12/site-packages/future/moves/_thread.py
new file mode 100644
index 00000000..c68018bb
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/_thread.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from _thread import *
+else:
+ __future_module__ = True
+ from thread import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/builtins.py b/.venv/lib/python3.12/site-packages/future/moves/builtins.py
new file mode 100644
index 00000000..e4b6221d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/builtins.py
@@ -0,0 +1,10 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from builtins import *
+else:
+ __future_module__ = True
+ from __builtin__ import *
+ # Overwrite any old definitions with the equivalent future.builtins ones:
+ from future.builtins import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/collections.py b/.venv/lib/python3.12/site-packages/future/moves/collections.py
new file mode 100644
index 00000000..664ee6a3
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/collections.py
@@ -0,0 +1,18 @@
+from __future__ import absolute_import
+import sys
+
+from future.utils import PY2, PY26
+__future_module__ = True
+
+from collections import *
+
+if PY2:
+ from UserDict import UserDict
+ from UserList import UserList
+ from UserString import UserString
+
+if PY26:
+ from future.backports.misc import OrderedDict, Counter
+
+if sys.version_info < (3, 3):
+ from future.backports.misc import ChainMap, _count_elements
diff --git a/.venv/lib/python3.12/site-packages/future/moves/configparser.py b/.venv/lib/python3.12/site-packages/future/moves/configparser.py
new file mode 100644
index 00000000..33d9cf95
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/configparser.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+
+from future.utils import PY2
+
+if PY2:
+ from ConfigParser import *
+else:
+ from configparser import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/copyreg.py b/.venv/lib/python3.12/site-packages/future/moves/copyreg.py
new file mode 100644
index 00000000..9d08cdc5
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/copyreg.py
@@ -0,0 +1,12 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ import copyreg, sys
+ # A "*" import uses Python 3's copyreg.__all__ which does not include
+ # all public names in the API surface for copyreg, this avoids that
+ # problem by just making our module _be_ a reference to the actual module.
+ sys.modules['future.moves.copyreg'] = copyreg
+else:
+ __future_module__ = True
+ from copy_reg import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/dbm/__init__.py b/.venv/lib/python3.12/site-packages/future/moves/dbm/__init__.py
new file mode 100644
index 00000000..626b406f
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/dbm/__init__.py
@@ -0,0 +1,20 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from dbm import *
+else:
+ __future_module__ = True
+ from whichdb import *
+ from anydbm import *
+
+# Py3.3's dbm/__init__.py imports ndbm but doesn't expose it via __all__.
+# In case some (badly written) code depends on dbm.ndbm after import dbm,
+# we simulate this:
+if PY3:
+ from dbm import ndbm
+else:
+ try:
+ from future.moves.dbm import ndbm
+ except ImportError:
+ ndbm = None
diff --git a/.venv/lib/python3.12/site-packages/future/moves/dbm/dumb.py b/.venv/lib/python3.12/site-packages/future/moves/dbm/dumb.py
new file mode 100644
index 00000000..528383f6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/dbm/dumb.py
@@ -0,0 +1,9 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from dbm.dumb import *
+else:
+ __future_module__ = True
+ from dumbdbm import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/dbm/gnu.py b/.venv/lib/python3.12/site-packages/future/moves/dbm/gnu.py
new file mode 100644
index 00000000..68ccf67b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/dbm/gnu.py
@@ -0,0 +1,9 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from dbm.gnu import *
+else:
+ __future_module__ = True
+ from gdbm import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/dbm/ndbm.py b/.venv/lib/python3.12/site-packages/future/moves/dbm/ndbm.py
new file mode 100644
index 00000000..8c6fff8a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/dbm/ndbm.py
@@ -0,0 +1,9 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from dbm.ndbm import *
+else:
+ __future_module__ = True
+ from dbm import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/html/__init__.py b/.venv/lib/python3.12/site-packages/future/moves/html/__init__.py
new file mode 100644
index 00000000..22ed6e7d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/html/__init__.py
@@ -0,0 +1,31 @@
+from __future__ import absolute_import
+from future.utils import PY3
+__future_module__ = True
+
+if PY3:
+ from html import *
+else:
+ # cgi.escape isn't good enough for the single Py3.3 html test to pass.
+ # Define it inline here instead. From the Py3.4 stdlib. Note that the
+ # html.escape() function from the Py3.3 stdlib is not suitable for use on
+ # Py2.x.
+ """
+ General functions for HTML manipulation.
+ """
+
+ def escape(s, quote=True):
+ """
+ Replace special characters "&", "<" and ">" to HTML-safe sequences.
+ If the optional flag quote is true (the default), the quotation mark
+ characters, both double quote (") and single quote (') characters are also
+ translated.
+ """
+ s = s.replace("&", "&amp;") # Must be done first!
+ s = s.replace("<", "&lt;")
+ s = s.replace(">", "&gt;")
+ if quote:
+ s = s.replace('"', "&quot;")
+ s = s.replace('\'', "&#x27;")
+ return s
+
+ __all__ = ['escape']
diff --git a/.venv/lib/python3.12/site-packages/future/moves/html/entities.py b/.venv/lib/python3.12/site-packages/future/moves/html/entities.py
new file mode 100644
index 00000000..56a88609
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/html/entities.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from html.entities import *
+else:
+ __future_module__ = True
+ from htmlentitydefs import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/html/parser.py b/.venv/lib/python3.12/site-packages/future/moves/html/parser.py
new file mode 100644
index 00000000..a6115b59
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/html/parser.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+from future.utils import PY3
+__future_module__ = True
+
+if PY3:
+ from html.parser import *
+else:
+ from HTMLParser import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/http/__init__.py b/.venv/lib/python3.12/site-packages/future/moves/http/__init__.py
new file mode 100644
index 00000000..917b3d71
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/http/__init__.py
@@ -0,0 +1,4 @@
+from future.utils import PY3
+
+if not PY3:
+ __future_module__ = True
diff --git a/.venv/lib/python3.12/site-packages/future/moves/http/client.py b/.venv/lib/python3.12/site-packages/future/moves/http/client.py
new file mode 100644
index 00000000..55f9c9c1
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/http/client.py
@@ -0,0 +1,8 @@
+from future.utils import PY3
+
+if PY3:
+ from http.client import *
+else:
+ from httplib import *
+ from httplib import HTTPMessage
+ __future_module__ = True
diff --git a/.venv/lib/python3.12/site-packages/future/moves/http/cookiejar.py b/.venv/lib/python3.12/site-packages/future/moves/http/cookiejar.py
new file mode 100644
index 00000000..ea00df77
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/http/cookiejar.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from http.cookiejar import *
+else:
+ __future_module__ = True
+ from cookielib import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/http/cookies.py b/.venv/lib/python3.12/site-packages/future/moves/http/cookies.py
new file mode 100644
index 00000000..1b74fe2d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/http/cookies.py
@@ -0,0 +1,9 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from http.cookies import *
+else:
+ __future_module__ = True
+ from Cookie import *
+ from Cookie import Morsel # left out of __all__ on Py2.7!
diff --git a/.venv/lib/python3.12/site-packages/future/moves/http/server.py b/.venv/lib/python3.12/site-packages/future/moves/http/server.py
new file mode 100644
index 00000000..4e75cc1d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/http/server.py
@@ -0,0 +1,20 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from http.server import *
+else:
+ __future_module__ = True
+ from BaseHTTPServer import *
+ from CGIHTTPServer import *
+ from SimpleHTTPServer import *
+ try:
+ from CGIHTTPServer import _url_collapse_path # needed for a test
+ except ImportError:
+ try:
+ # Python 2.7.0 to 2.7.3
+ from CGIHTTPServer import (
+ _url_collapse_path_split as _url_collapse_path)
+ except ImportError:
+ # Doesn't exist on Python 2.6.x. Ignore it.
+ pass
diff --git a/.venv/lib/python3.12/site-packages/future/moves/itertools.py b/.venv/lib/python3.12/site-packages/future/moves/itertools.py
new file mode 100644
index 00000000..e5eb20d5
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/itertools.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+
+from itertools import *
+try:
+ zip_longest = izip_longest
+ filterfalse = ifilterfalse
+except NameError:
+ pass
diff --git a/.venv/lib/python3.12/site-packages/future/moves/multiprocessing.py b/.venv/lib/python3.12/site-packages/future/moves/multiprocessing.py
new file mode 100644
index 00000000..a871b676
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/multiprocessing.py
@@ -0,0 +1,7 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+from multiprocessing import *
+if not PY3:
+ __future_module__ = True
+ from multiprocessing.queues import SimpleQueue
diff --git a/.venv/lib/python3.12/site-packages/future/moves/pickle.py b/.venv/lib/python3.12/site-packages/future/moves/pickle.py
new file mode 100644
index 00000000..c53d6939
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/pickle.py
@@ -0,0 +1,11 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from pickle import *
+else:
+ __future_module__ = True
+ try:
+ from cPickle import *
+ except ImportError:
+ from pickle import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/queue.py b/.venv/lib/python3.12/site-packages/future/moves/queue.py
new file mode 100644
index 00000000..1cb1437d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/queue.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from queue import *
+else:
+ __future_module__ = True
+ from Queue import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/reprlib.py b/.venv/lib/python3.12/site-packages/future/moves/reprlib.py
new file mode 100644
index 00000000..a313a13a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/reprlib.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from reprlib import *
+else:
+ __future_module__ = True
+ from repr import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/socketserver.py b/.venv/lib/python3.12/site-packages/future/moves/socketserver.py
new file mode 100644
index 00000000..062e0848
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/socketserver.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from socketserver import *
+else:
+ __future_module__ = True
+ from SocketServer import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/subprocess.py b/.venv/lib/python3.12/site-packages/future/moves/subprocess.py
new file mode 100644
index 00000000..43ffd2ac
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/subprocess.py
@@ -0,0 +1,11 @@
+from __future__ import absolute_import
+from future.utils import PY2, PY26
+
+from subprocess import *
+
+if PY2:
+ __future_module__ = True
+ from commands import getoutput, getstatusoutput
+
+if PY26:
+ from future.backports.misc import check_output
diff --git a/.venv/lib/python3.12/site-packages/future/moves/sys.py b/.venv/lib/python3.12/site-packages/future/moves/sys.py
new file mode 100644
index 00000000..1293bcb0
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/sys.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+
+from future.utils import PY2
+
+from sys import *
+
+if PY2:
+ from __builtin__ import intern
diff --git a/.venv/lib/python3.12/site-packages/future/moves/test/__init__.py b/.venv/lib/python3.12/site-packages/future/moves/test/__init__.py
new file mode 100644
index 00000000..5cf428b6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/test/__init__.py
@@ -0,0 +1,5 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if not PY3:
+ __future_module__ = True
diff --git a/.venv/lib/python3.12/site-packages/future/moves/test/support.py b/.venv/lib/python3.12/site-packages/future/moves/test/support.py
new file mode 100644
index 00000000..f70c9d7d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/test/support.py
@@ -0,0 +1,19 @@
+from __future__ import absolute_import
+
+import sys
+
+from future.standard_library import suspend_hooks
+from future.utils import PY3
+
+if PY3:
+ from test.support import *
+ if sys.version_info[:2] >= (3, 10):
+ from test.support.os_helper import (
+ EnvironmentVarGuard,
+ TESTFN,
+ )
+ from test.support.warnings_helper import check_warnings
+else:
+ __future_module__ = True
+ with suspend_hooks():
+ from test.test_support import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/__init__.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/__init__.py
new file mode 100644
index 00000000..e4082966
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/__init__.py
@@ -0,0 +1,27 @@
+from __future__ import absolute_import
+from future.utils import PY3
+__future_module__ = True
+
+if not PY3:
+ from Tkinter import *
+ from Tkinter import (_cnfmerge, _default_root, _flatten,
+ _support_default_root, _test,
+ _tkinter, _setit)
+
+ try: # >= 2.7.4
+ from Tkinter import (_join)
+ except ImportError:
+ pass
+
+ try: # >= 2.7.4
+ from Tkinter import (_stringify)
+ except ImportError:
+ pass
+
+ try: # >= 2.7.9
+ from Tkinter import (_splitdict)
+ except ImportError:
+ pass
+
+else:
+ from tkinter import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/colorchooser.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/colorchooser.py
new file mode 100644
index 00000000..6dde6e8d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/colorchooser.py
@@ -0,0 +1,12 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from tkinter.colorchooser import *
+else:
+ try:
+ from tkColorChooser import *
+ except ImportError:
+ raise ImportError('The tkColorChooser module is missing. Does your Py2 '
+ 'installation include tkinter?')
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/commondialog.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/commondialog.py
new file mode 100644
index 00000000..eb7ae8d6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/commondialog.py
@@ -0,0 +1,12 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from tkinter.commondialog import *
+else:
+ try:
+ from tkCommonDialog import *
+ except ImportError:
+ raise ImportError('The tkCommonDialog module is missing. Does your Py2 '
+ 'installation include tkinter?')
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/constants.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/constants.py
new file mode 100644
index 00000000..ffe09815
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/constants.py
@@ -0,0 +1,12 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from tkinter.constants import *
+else:
+ try:
+ from Tkconstants import *
+ except ImportError:
+ raise ImportError('The Tkconstants module is missing. Does your Py2 '
+ 'installation include tkinter?')
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/dialog.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/dialog.py
new file mode 100644
index 00000000..113370ca
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/dialog.py
@@ -0,0 +1,12 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from tkinter.dialog import *
+else:
+ try:
+ from Dialog import *
+ except ImportError:
+ raise ImportError('The Dialog module is missing. Does your Py2 '
+ 'installation include tkinter?')
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/dnd.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/dnd.py
new file mode 100644
index 00000000..1ab43791
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/dnd.py
@@ -0,0 +1,12 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from tkinter.dnd import *
+else:
+ try:
+ from Tkdnd import *
+ except ImportError:
+ raise ImportError('The Tkdnd module is missing. Does your Py2 '
+ 'installation include tkinter?')
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/filedialog.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/filedialog.py
new file mode 100644
index 00000000..6a6f03ca
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/filedialog.py
@@ -0,0 +1,18 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from tkinter.filedialog import *
+else:
+ try:
+ from FileDialog import *
+ except ImportError:
+ raise ImportError('The FileDialog module is missing. Does your Py2 '
+ 'installation include tkinter?')
+
+ try:
+ from tkFileDialog import *
+ except ImportError:
+ raise ImportError('The tkFileDialog module is missing. Does your Py2 '
+ 'installation include tkinter?')
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/font.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/font.py
new file mode 100644
index 00000000..628f399a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/font.py
@@ -0,0 +1,12 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from tkinter.font import *
+else:
+ try:
+ from tkFont import *
+ except ImportError:
+ raise ImportError('The tkFont module is missing. Does your Py2 '
+ 'installation include tkinter?')
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/messagebox.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/messagebox.py
new file mode 100644
index 00000000..b43d8702
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/messagebox.py
@@ -0,0 +1,12 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from tkinter.messagebox import *
+else:
+ try:
+ from tkMessageBox import *
+ except ImportError:
+ raise ImportError('The tkMessageBox module is missing. Does your Py2 '
+ 'installation include tkinter?')
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/scrolledtext.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/scrolledtext.py
new file mode 100644
index 00000000..1c69db60
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/scrolledtext.py
@@ -0,0 +1,12 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from tkinter.scrolledtext import *
+else:
+ try:
+ from ScrolledText import *
+ except ImportError:
+ raise ImportError('The ScrolledText module is missing. Does your Py2 '
+ 'installation include tkinter?')
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/simpledialog.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/simpledialog.py
new file mode 100644
index 00000000..dba93fbf
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/simpledialog.py
@@ -0,0 +1,12 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from tkinter.simpledialog import *
+else:
+ try:
+ from SimpleDialog import *
+ except ImportError:
+ raise ImportError('The SimpleDialog module is missing. Does your Py2 '
+ 'installation include tkinter?')
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/tix.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/tix.py
new file mode 100644
index 00000000..8d1718ad
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/tix.py
@@ -0,0 +1,12 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from tkinter.tix import *
+else:
+ try:
+ from Tix import *
+ except ImportError:
+ raise ImportError('The Tix module is missing. Does your Py2 '
+ 'installation include tkinter?')
diff --git a/.venv/lib/python3.12/site-packages/future/moves/tkinter/ttk.py b/.venv/lib/python3.12/site-packages/future/moves/tkinter/ttk.py
new file mode 100644
index 00000000..081c1b49
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/tkinter/ttk.py
@@ -0,0 +1,12 @@
+from __future__ import absolute_import
+
+from future.utils import PY3
+
+if PY3:
+ from tkinter.ttk import *
+else:
+ try:
+ from ttk import *
+ except ImportError:
+ raise ImportError('The ttk module is missing. Does your Py2 '
+ 'installation include tkinter?')
diff --git a/.venv/lib/python3.12/site-packages/future/moves/urllib/__init__.py b/.venv/lib/python3.12/site-packages/future/moves/urllib/__init__.py
new file mode 100644
index 00000000..5cf428b6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/urllib/__init__.py
@@ -0,0 +1,5 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if not PY3:
+ __future_module__ = True
diff --git a/.venv/lib/python3.12/site-packages/future/moves/urllib/error.py b/.venv/lib/python3.12/site-packages/future/moves/urllib/error.py
new file mode 100644
index 00000000..7d8ada73
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/urllib/error.py
@@ -0,0 +1,16 @@
+from __future__ import absolute_import
+from future.standard_library import suspend_hooks
+
+from future.utils import PY3
+
+if PY3:
+ from urllib.error import *
+else:
+ __future_module__ = True
+
+ # We use this method to get at the original Py2 urllib before any renaming magic
+ # ContentTooShortError = sys.py2_modules['urllib'].ContentTooShortError
+
+ with suspend_hooks():
+ from urllib import ContentTooShortError
+ from urllib2 import URLError, HTTPError
diff --git a/.venv/lib/python3.12/site-packages/future/moves/urllib/parse.py b/.venv/lib/python3.12/site-packages/future/moves/urllib/parse.py
new file mode 100644
index 00000000..9074b816
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/urllib/parse.py
@@ -0,0 +1,28 @@
+from __future__ import absolute_import
+from future.standard_library import suspend_hooks
+
+from future.utils import PY3
+
+if PY3:
+ from urllib.parse import *
+else:
+ __future_module__ = True
+ from urlparse import (ParseResult, SplitResult, parse_qs, parse_qsl,
+ urldefrag, urljoin, urlparse, urlsplit,
+ urlunparse, urlunsplit)
+
+ # we use this method to get at the original py2 urllib before any renaming
+ # quote = sys.py2_modules['urllib'].quote
+ # quote_plus = sys.py2_modules['urllib'].quote_plus
+ # unquote = sys.py2_modules['urllib'].unquote
+ # unquote_plus = sys.py2_modules['urllib'].unquote_plus
+ # urlencode = sys.py2_modules['urllib'].urlencode
+ # splitquery = sys.py2_modules['urllib'].splitquery
+
+ with suspend_hooks():
+ from urllib import (quote,
+ quote_plus,
+ unquote,
+ unquote_plus,
+ urlencode,
+ splitquery)
diff --git a/.venv/lib/python3.12/site-packages/future/moves/urllib/request.py b/.venv/lib/python3.12/site-packages/future/moves/urllib/request.py
new file mode 100644
index 00000000..972aa4ab
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/urllib/request.py
@@ -0,0 +1,94 @@
+from __future__ import absolute_import
+
+from future.standard_library import suspend_hooks
+from future.utils import PY3
+
+if PY3:
+ from urllib.request import *
+ # This aren't in __all__:
+ from urllib.request import (getproxies,
+ pathname2url,
+ proxy_bypass,
+ quote,
+ request_host,
+ thishost,
+ unquote,
+ url2pathname,
+ urlcleanup,
+ urljoin,
+ urlopen,
+ urlparse,
+ urlretrieve,
+ urlsplit,
+ urlunparse)
+
+ from urllib.parse import (splitattr,
+ splithost,
+ splitpasswd,
+ splitport,
+ splitquery,
+ splittag,
+ splittype,
+ splituser,
+ splitvalue,
+ to_bytes,
+ unwrap)
+else:
+ __future_module__ = True
+ with suspend_hooks():
+ from urllib import *
+ from urllib2 import *
+ from urlparse import *
+
+ # Rename:
+ from urllib import toBytes # missing from __all__ on Py2.6
+ to_bytes = toBytes
+
+ # from urllib import (pathname2url,
+ # url2pathname,
+ # getproxies,
+ # urlretrieve,
+ # urlcleanup,
+ # URLopener,
+ # FancyURLopener,
+ # proxy_bypass)
+
+ # from urllib2 import (
+ # AbstractBasicAuthHandler,
+ # AbstractDigestAuthHandler,
+ # BaseHandler,
+ # CacheFTPHandler,
+ # FileHandler,
+ # FTPHandler,
+ # HTTPBasicAuthHandler,
+ # HTTPCookieProcessor,
+ # HTTPDefaultErrorHandler,
+ # HTTPDigestAuthHandler,
+ # HTTPErrorProcessor,
+ # HTTPHandler,
+ # HTTPPasswordMgr,
+ # HTTPPasswordMgrWithDefaultRealm,
+ # HTTPRedirectHandler,
+ # HTTPSHandler,
+ # URLError,
+ # build_opener,
+ # install_opener,
+ # OpenerDirector,
+ # ProxyBasicAuthHandler,
+ # ProxyDigestAuthHandler,
+ # ProxyHandler,
+ # Request,
+ # UnknownHandler,
+ # urlopen,
+ # )
+
+ # from urlparse import (
+ # urldefrag
+ # urljoin,
+ # urlparse,
+ # urlunparse,
+ # urlsplit,
+ # urlunsplit,
+ # parse_qs,
+ # parse_q"
+ # )
diff --git a/.venv/lib/python3.12/site-packages/future/moves/urllib/response.py b/.venv/lib/python3.12/site-packages/future/moves/urllib/response.py
new file mode 100644
index 00000000..a287ae28
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/urllib/response.py
@@ -0,0 +1,12 @@
+from future import standard_library
+from future.utils import PY3
+
+if PY3:
+ from urllib.response import *
+else:
+ __future_module__ = True
+ with standard_library.suspend_hooks():
+ from urllib import (addbase,
+ addclosehook,
+ addinfo,
+ addinfourl)
diff --git a/.venv/lib/python3.12/site-packages/future/moves/urllib/robotparser.py b/.venv/lib/python3.12/site-packages/future/moves/urllib/robotparser.py
new file mode 100644
index 00000000..0dc8f571
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/urllib/robotparser.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from urllib.robotparser import *
+else:
+ __future_module__ = True
+ from robotparser import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/winreg.py b/.venv/lib/python3.12/site-packages/future/moves/winreg.py
new file mode 100644
index 00000000..c8b14756
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/winreg.py
@@ -0,0 +1,8 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from winreg import *
+else:
+ __future_module__ = True
+ from _winreg import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/xmlrpc/__init__.py b/.venv/lib/python3.12/site-packages/future/moves/xmlrpc/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/xmlrpc/__init__.py
diff --git a/.venv/lib/python3.12/site-packages/future/moves/xmlrpc/client.py b/.venv/lib/python3.12/site-packages/future/moves/xmlrpc/client.py
new file mode 100644
index 00000000..4708cf89
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/xmlrpc/client.py
@@ -0,0 +1,7 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from xmlrpc.client import *
+else:
+ from xmlrpclib import *
diff --git a/.venv/lib/python3.12/site-packages/future/moves/xmlrpc/server.py b/.venv/lib/python3.12/site-packages/future/moves/xmlrpc/server.py
new file mode 100644
index 00000000..1a8af345
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/future/moves/xmlrpc/server.py
@@ -0,0 +1,7 @@
+from __future__ import absolute_import
+from future.utils import PY3
+
+if PY3:
+ from xmlrpc.server import *
+else:
+ from xmlrpclib import *